
:root{
  --bg:#e1d0bb;
  --bg2:#fffaf2;
  --panel:#f8efe2;
  --card:rgba(255,248,239,.97);
  --text:#221a15;
  --muted:#5d4d43;
  --line:#ccb49b;
  --seed-red:#d94426;
  --seed-green:#5f9a25;
  --seed-dark:#1f1b18;
  --shadow:0 30px 80px rgba(63,38,17,.16);
  --radius:28px;
  --max:1100px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.92) 0%, rgba(255,255,255,0) 30%),
    radial-gradient(circle at 100% 12%, rgba(217,68,38,.14) 0%, rgba(217,68,38,0) 26%),
    radial-gradient(circle at 50% 100%, rgba(95,154,37,.12) 0%, rgba(95,154,37,0) 30%),
    linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);
  line-height:1.6;
}
.shell-bg{
  position:fixed;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%, rgba(217,68,38,.12), transparent 24%),
    radial-gradient(circle at 88% 22%, rgba(95,154,37,.1), transparent 26%),
    linear-gradient(90deg,rgba(217,68,38,.06),transparent 18%,transparent 82%,rgba(95,154,37,.05));
}
.wrap{width:calc(100% - 28px);max-width:none;margin:0 auto}
.shell-header{padding:12px 0 8px;position:sticky;top:0;z-index:50;backdrop-filter:blur(10px)}
.shell-nav-card,.page-shell-card,.hero,.card,.cta-box,.mission-card,.item,.stat,.theme-song-section{
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,248,242,.9)),
    var(--card);
  border:1px solid rgba(95,71,49,.18);
  border-radius:32px;
  box-shadow:
    0 24px 64px rgba(63,38,17,.16),
    0 1px 0 rgba(255,255,255,.76) inset;
}
.shell-nav-card{
  padding:10px 16px;
  background:linear-gradient(180deg, rgba(255,253,249,.98), rgba(250,241,230,.95));
}
.topbar{display:flex;flex-direction:column;align-items:center;gap:10px}
.brand{display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:var(--text);font-weight:800;letter-spacing:.2px;flex:0 0 auto;text-align:center}
.brand-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.brand-tagline{font-size:11px;line-height:1.15;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}
.brand img{width:36px;height:36px;object-fit:contain;display:block}
.topbar-actions{display:none;align-items:center;justify-content:flex-end;gap:10px;width:100%}
.main-nav{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;flex:1 1 auto;min-width:0;width:100%}
.main-nav>a,.nav-dropbtn,.lang-btn{
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text);font-weight:700;opacity:.88;padding:8px 12px;border-radius:999px;
  white-space:nowrap;font-size:14px;line-height:1;background:none;border:1px solid transparent;cursor:pointer;font-family:inherit;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;
}
.nav-dropbtn-with-meta{display:flex;align-items:center;gap:8px}
.nav-dropbtn-copy{display:flex;align-items:center;gap:8px}
.nav-item-icon{display:inline-flex;align-items:center;justify-content:center;width:1.2em;margin-right:8px;font-size:.95em}
.nav-item-icon-logo{width:1.55em;font-size:1em}
.nav-item-icon-logo img{width:1.55em;height:1.55em;display:block;object-fit:contain}
.nav-dropbtn-meta{display:none;font-size:.78rem;line-height:1.2;color:var(--muted);font-weight:700;text-transform:none}
.nav-dropbtn-icon{font-size:.95rem;line-height:1;transition:transform .18s ease}
.main-nav>a:hover,.nav-dropbtn:hover,.main-nav>a:focus-visible,.nav-dropbtn:focus-visible,.lang-btn:hover,.lang-btn:focus-visible{
  opacity:1;background:rgba(255,255,255,.98);border-color:rgba(95,71,49,.2);outline:none;box-shadow:0 12px 28px rgba(63,38,17,.12);transform:translateY(-1px);
}
.main-nav>a.is-active{
  background:linear-gradient(135deg,var(--seed-red),#ff6a47);
  color:#fff;border-color:transparent;
  box-shadow:0 16px 30px rgba(217,68,38,.3);
}
.nav-dropdown{position:relative}
.nav-dropdown-content{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:rgba(255,250,243,.99);border:1px solid rgba(95,71,49,.18);border-radius:18px;box-shadow:var(--shadow);padding:8px;z-index:1000}
.nav-dropdown-content a{display:flex;align-items:center;padding:10px 12px;text-decoration:none;color:var(--text);font-weight:700;border-radius:12px;white-space:nowrap}
.nav-dropdown-content a:hover,.nav-dropdown-content a:focus-visible{background:#f8f1e8;outline:none}
.nav-dropdown-status{display:flex;align-items:center;padding:10px 12px;color:var(--muted);font-weight:700;border-radius:12px;white-space:nowrap}
.nav-dropdown-status a{color:inherit;text-decoration:none}
.nav-dropdown-status a:hover{text-decoration:underline}
.messages-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;margin-left:auto;border-radius:999px;background:var(--seed-red);color:#fff;font-size:.8rem;line-height:1;font-weight:800}
.nav-dropdown.open .nav-dropdown-content,.nav-dropdown.open:hover .nav-dropdown-content,.nav-dropdown.open:focus-within .nav-dropdown-content{display:block}
.nav-dropdown.open .nav-dropbtn-icon{transform:rotate(180deg)}
.menu-toggle{display:none;margin-left:auto;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);font-size:22px;line-height:1;cursor:pointer;box-shadow:var(--shadow)}
.guide-toggle{display:none;align-items:center;justify-content:center;min-width:88px;height:46px;padding:0 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);font-size:14px;line-height:1;cursor:pointer;box-shadow:var(--shadow);font-family:inherit;font-weight:800;letter-spacing:.02em;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease}
.guide-toggle-icon{min-width:42px;width:42px;padding:0;font-size:20px;color:var(--seed-red)}
.share-toggle{display:none;align-items:center;justify-content:center;width:auto;min-width:max-content;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);font-size:14px;line-height:1;cursor:pointer;box-shadow:var(--shadow);font-family:inherit;font-weight:800;letter-spacing:.02em;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease}
.forum-mobile-quicklink{display:none;position:relative;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);text-decoration:none;box-shadow:var(--shadow);font-size:18px;line-height:1}
.forum-mobile-quicklink .messages-nav-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;font-size:.7rem}
.messages-nav-dot{display:inline-flex;position:absolute;top:7px;right:7px;width:10px;height:10px;border-radius:999px;background:var(--seed-red);box-shadow:0 0 0 2px rgba(255,255,255,.95)}
.guide-toggle:hover,.guide-toggle:focus-visible,.guide-toggle[aria-expanded="true"]{background:rgba(255,255,255,.98);border-color:rgba(95,71,49,.2);outline:none;box-shadow:0 12px 28px rgba(63,38,17,.12);transform:translateY(-1px)}
.share-toggle:hover,.share-toggle:focus-visible{background:rgba(255,255,255,.98);border-color:rgba(95,71,49,.2);outline:none;box-shadow:0 12px 28px rgba(63,38,17,.12);transform:translateY(-1px)}
.nav-dropdown-mobile-forum{display:none;position:relative;width:42px;min-width:42px;height:42px;align-self:center;overflow:visible;z-index:30}
.nav-dropdown-mobile-forum.open .nav-dropdown-content-mobile-forum{display:grid}
.forum-mobile-quicklink-menu{display:inline-flex;align-items:center;justify-content:center;width:42px;min-width:42px;height:42px;padding:0;background:#fff;border:1px solid var(--line);border-radius:12px;cursor:pointer;box-shadow:var(--shadow);position:relative}
.forum-mobile-quicklink-menu > span[aria-hidden="true"]:first-child{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1;font-size:18px}
.nav-dropdown-content-mobile-forum{display:none;position:absolute;top:calc(100% + 8px);right:0;left:auto;min-width:180px;width:max-content;margin-top:0;z-index:1005}
.mobile-guide-panel{display:none;width:100%;background:rgba(255,249,241,.98);border:1px solid rgba(95,71,49,.16);border-radius:20px;padding:10px;box-shadow:0 16px 34px rgba(63,38,17,.12)}
.mobile-guide-panel.open{display:grid;gap:8px}
.mobile-guide-link{display:flex;align-items:center;justify-content:flex-start;text-decoration:none;color:var(--text);font-weight:800;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid rgba(95,71,49,.12);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.mobile-guide-link:hover,.mobile-guide-link:focus-visible{background:rgba(255,255,255,.98);border-color:rgba(95,71,49,.2);outline:none;box-shadow:0 10px 22px rgba(63,38,17,.12);transform:translateY(-1px)}
.nav-dropdown-lang-mobile{display:none}
.binary-toggle{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(95,71,49,.14);border-radius:18px;background:#fffdf9;cursor:pointer;font-weight:700;user-select:none}
.binary-toggle input{position:absolute;opacity:0;pointer-events:none}
.binary-toggle-indicator{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:#fff;background:var(--seed-red);box-shadow:0 8px 18px rgba(58,38,19,.08);transition:background .18s ease,transform .18s ease}
.binary-toggle-label{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.binary-toggle.is-on .binary-toggle-indicator{background:var(--seed-green);transform:translateY(-1px)}
.binary-toggle-state{font-size:.88rem;color:var(--muted);font-weight:700}
.seed-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);min-width:min(92vw,420px);max-width:min(92vw,420px);padding:12px 16px;border-radius:18px;background:rgba(33,26,21,.94);color:#fff;box-shadow:0 20px 48px rgba(0,0,0,.24);z-index:2200;font-size:.96rem;line-height:1.45;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.seed-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(-2px)}
.seed-stat-anchor{display:grid;place-items:center;gap:8px;padding:16px 18px;border:1px solid rgba(95,71,49,.12);border-radius:22px;background:#fffdf9;box-shadow:0 12px 28px rgba(58,38,19,.05)}
.seed-stat-anchor strong{display:block;font-size:1.85rem;line-height:1;color:var(--seed-red)}
.seed-stat-anchor span{color:var(--muted);font-weight:700}
.shell-main{padding:6px 0 84px}
.page-slot{min-height:50vh}
.page-loading,.page-error{min-height:40vh;display:grid;place-items:center;text-align:center}
.page-loading h2,.page-error h2{margin:0 0 8px}
.page-error .btn{margin-top:16px}
.nav-dropdown-lang{margin-left:6px}
.lang-trigger{display:flex;align-items:center;gap:10px;width:auto;min-width:max-content}
.lang-current-flag,.lang-option-flag{font-size:18px;line-height:1}
.lang-dropdown-content{
left:auto;
right:0;
min-width:200px;
max-height:60vh;
overflow-y:auto;
-webkit-overflow-scrolling:touch;
}
.lang-option{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;background:none;border:none;border-radius:12px;text-align:left;color:var(--text);font:inherit;font-weight:700;cursor:pointer}
.lang-option:hover,.lang-option:focus-visible{background:#f7f4ee;outline:none}
.lang-option.is-active{background:#fff5f3;color:var(--seed-red)}

.hero{
  text-align:center;
  padding:30px 24px;
  background:
    radial-gradient(circle at top, rgba(255,255,255,.82), transparent 48%),
    linear-gradient(180deg, rgba(255,250,244,.99), rgba(244,233,221,.96));
  margin-bottom:36px;
}
.hero-logo{width:min(100%,180px);display:block;margin:0 auto 14px}
.eyebrow{display:inline-block;padding:8px 14px;border:1px solid rgba(224,77,50,.82);border-radius:999px;background:rgba(255,255,255,.96);font-size:13px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;margin-bottom:18px;color:var(--seed-red);box-shadow:0 10px 24px rgba(224,77,50,.08)}
h1,h2,h3{line-height:1.12;margin:0 0 10px}
h1{font-size:clamp(1.3rem,2vw,1.6rem);letter-spacing:-.4px}
.home-hero-title{font-size:clamp(1.35rem,2.2vw,1.75rem);letter-spacing:-.45px}
h2{font-size:clamp(1.15rem,1.8vw,1.35rem);letter-spacing:-.25px}
h3{font-size:clamp(1rem,1.4vw,1.15rem);letter-spacing:-.15px}
p{margin:0}
.lead{max-width:52ch;margin:0 auto;color:var(--muted);font-size:1.02rem}
.hero-subtitle{margin:0 auto 10px;color:var(--muted);font-size:.95rem;max-width:52ch}
.hero-story-image,.about-project-image,.manifesto-image,.kindness-prompt-image,.kindness-illustration{margin:16px auto 0;width:min(100%,640px)}
.hero-story-image img,.about-project-image img,.manifesto-image img,.kindness-prompt-image img,.kindness-illustration img{display:block;width:100%;height:auto;object-fit:contain;border-radius:24px;border:1px solid var(--line);box-shadow:0 14px 28px rgba(0,0,0,.08)}
.hero-guidance-pills{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}
#idea-summary,
#story-section,
#manifesto-section,
#action-guide,
#kindness-section,
#daily-deed-section{scroll-margin-top:220px}
.section{padding:24px 0 40px}
.story-section{position:relative}
.story-section::before{content:"";position:absolute;left:2%;right:2%;top:18px;height:220px;background:radial-gradient(circle at top, rgba(255,59,46,.08), transparent 60%),radial-gradient(circle at 85% 15%, rgba(82,140,77,.08), transparent 48%);pointer-events:none;filter:blur(4px)}
.story-grid{display:grid;grid-template-columns:1.15fr .95fr;gap:18px;position:relative}
.story-explainer-card{background:linear-gradient(180deg, rgba(255,248,240,.99), rgba(245,235,225,.97))}
.story-explainer-card{text-align:left}
.story-explainer-card .eyebrow,.story-explainer-card h2{text-align:center}
.story-explainer-card .hero-story-image,.story-explainer-card .section-back-link{margin-left:auto;margin-right:auto}
#about-project .hero-logo{width:min(100%,90px)}
#daily-life .hero-story-image,
#why-it-matters .hero-story-image{width:min(100%,320px)}
#daily-life .story-lead{text-align:center;margin-left:auto;margin-right:auto}
.roadmap-card{background:linear-gradient(180deg, rgba(248,253,243,.99), rgba(238,245,230,.97))}
.story-lead{max-width:62ch;color:var(--muted);font-size:1.02rem}
.story-points{display:grid;gap:12px;margin-top:18px}
.story-point{padding:16px 18px;border-radius:18px;background:#fffaf4;border:1px solid rgba(115,90,61,.14);border-left:4px solid var(--seed-red);box-shadow:0 12px 28px rgba(58,38,19,.05)}
.story-point strong{display:block;margin-bottom:8px}
.story-point p{margin:0;color:var(--muted)}
.idea-summary-card{text-align:center}
.idea-summary-card .story-lead{margin-left:auto;margin-right:auto}
.roadmap-steps{display:grid;gap:12px;margin-top:18px}
.roadmap-step{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:16px 18px;border-radius:18px;background:#fbfdf8;border:1px solid rgba(115,90,61,.14);box-shadow:0 12px 28px rgba(58,38,19,.05)}
.roadmap-number{width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--seed-red);color:#fff;font-weight:800;flex-shrink:0}
.roadmap-step h3{margin:0 0 8px;font-size:1rem}
.roadmap-step p{margin:0;color:var(--muted)}
.roadmap-note{margin-top:18px;padding:18px 20px;border-radius:18px;background:#fffdf9;border:1px solid rgba(115,90,61,.14);border-top:2px solid var(--seed-green);box-shadow:0 12px 28px rgba(58,38,19,.05)}
.roadmap-note strong{display:block;margin-bottom:8px}
.roadmap-note p{margin:0;color:var(--muted)}
.roadmap-note-copy{line-height:1.7}
.roadmap-note-keyword{font-weight:700;color:var(--text)}
.about-project-card{text-align:center}
.about-project-hero{padding:0;background:transparent;border:0;box-shadow:none}
.about-project-copy{max-width:68ch;margin:0 auto;display:grid;gap:16px}
.about-project-copy .story-lead{max-width:none;margin:0}
.action-guide-card{text-align:center;background:linear-gradient(180deg, rgba(253,248,241,.98), rgba(243,247,239,.96))}
.action-guide-card .story-lead{max-width:62ch;margin:0 auto}
.action-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.action-guide-item{padding:18px;border-radius:18px;background:#fffdf9;border:1px solid rgba(115,90,61,.14);text-align:left;box-shadow:0 14px 32px rgba(58,38,19,.06)}
.action-guide-item h3{font-size:1rem;margin-bottom:8px}
.action-guide-item p{margin:0;color:var(--muted)}
.community-guidelines-card{text-align:center;background:linear-gradient(180deg, rgba(249,247,242,.98), rgba(242,246,241,.96))}
.community-guidelines-lead{max-width:64ch;margin:0 auto 18px;color:var(--muted)}
.community-guidelines-list{display:grid;gap:12px;max-width:860px;margin:0 auto}
.community-guideline-item{padding:16px 18px;border-radius:18px;background:#fff;border:1px solid var(--line);text-align:left}
.community-guideline-item strong{display:block;margin-bottom:8px}
.community-guideline-item p{margin:0;color:var(--muted)}
.community-guideline-panel{max-width:860px;margin:0 auto;padding:18px 20px;border-radius:22px;background:#fffdf9;border:1px solid rgba(115,90,61,.14);text-align:left;box-shadow:0 14px 30px rgba(58,38,19,.06)}
.community-guideline-bullets{margin:0;padding-left:22px;display:grid;gap:14px}
.community-guideline-bullets li{color:var(--text)}
.community-guideline-bullets strong{display:block;margin-bottom:6px}
.community-guideline-bullets span{display:block;color:var(--muted)}
.community-guidelines-actions{display:flex;justify-content:center;margin-top:16px}
.community-guidelines-checkbox{display:inline-flex;align-items:center;gap:10px;font-weight:700;cursor:pointer}
.community-guidelines-checkbox input{width:auto}
.community-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;align-items:start}
.live-chat-page{padding:0 0 40px;margin-top:0;min-height:calc(100dvh - var(--live-chat-offset,118px));height:calc(100dvh - var(--live-chat-offset,118px));display:flex;align-items:stretch;justify-content:center;overflow:hidden}
.live-chat-shell{width:100%;max-width:100%;height:calc(100dvh - var(--live-chat-offset,102px));max-height:calc(100dvh - var(--live-chat-offset,102px));margin:0;padding:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:18px}
.live-chat-title-block{display:none}
.live-chat-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:0 4px;border-bottom:1px solid rgba(95,71,49,.12);min-height:24px}
.live-chat-feed{min-height:0;overflow:auto;display:grid;gap:6px;padding:8px 10px;background:rgba(255,252,247,.72);align-content:start;overscroll-behavior:contain}
.live-chat-row{padding:6px 8px;border-radius:12px;background:#fffdf9;border:1px solid rgba(95,71,49,.10);box-shadow:none}
.live-chat-row-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px}
.live-chat-row-head strong{font-size:.98rem;white-space:nowrap}
.live-chat-row-head span{font-size:.82rem;color:var(--muted);white-space:nowrap;justify-self:end}
.live-chat-row-head p{margin:0;white-space:pre-wrap;word-break:break-word;color:var(--text);line-height:1.2}
.live-chat-translate-btn{width:20px;height:20px;padding:0;border:0;background:transparent;color:var(--muted);font-size:13px;line-height:1;cursor:pointer;justify-self:end}
.live-chat-translate-btn:hover{color:var(--text)}
.live-chat-empty{padding:20px;border-radius:18px;background:#fffdf9;border:1px dashed rgba(95,71,49,.24);text-align:center;color:var(--muted);font-weight:700}
.live-chat-composer{display:grid;gap:4px;padding:6px 12px 10px;border-top:1px solid rgba(95,71,49,.12);background:#fffaf4}
.live-chat-composer-note{display:none}
.live-chat-toolbar .btn,.live-chat-input-row .btn{width:auto;min-width:max-content;padding:0;flex:0 0 auto}
.live-chat-toolbar .btn{height:24px;min-height:24px;border-radius:10px;font-size:12px}
.live-chat-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;align-items:stretch}
.live-chat-composer textarea{width:100%;height:46px;min-height:46px;max-height:46px;padding:12px 16px;border-radius:18px 0 0 18px;border:1px solid var(--line);border-right:0;background:#fff;font:inherit;line-height:1.2;color:var(--text);resize:none;overflow:hidden}
.live-chat-composer textarea:disabled{background:#f3ede4;color:var(--muted);cursor:not-allowed}
.live-chat-input-row .btn{border-radius:0 18px 18px 0;height:38px;min-height:38px;font-size:12px}
@media (max-width: 900px){
  .community-split{grid-template-columns:1fr}
  .live-chat-page{padding:0;margin-top:-18px;min-height:calc(100dvh - var(--live-chat-offset,104px) + 18px);height:calc(100dvh - var(--live-chat-offset,104px) + 18px)}
  .live-chat-shell{width:100%;height:calc(100dvh - var(--live-chat-offset,82px));max-height:calc(100dvh - var(--live-chat-offset,82px));border-radius:16px}
  .live-chat-feed{padding:4px 6px}
  .live-chat-toolbar{padding:0 2px;min-height:20px}
  .live-chat-composer{padding:8px 8px 10px}
  .live-chat-row-head{
    grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-areas:
      "name time globe"
      "body body body";
    gap:4px 6px;
    align-items:start;
  }
  .live-chat-row-head strong{grid-area:name;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .live-chat-row-head span{grid-area:time}
  .live-chat-row-head p{grid-area:body}
  .live-chat-translate-btn{grid-area:globe}
}
.live-chat-route .site-footer{display:none}
.community-guidelines-restore{text-align:center}
.section-head{text-align:center;max-width:60ch;margin:0 auto 22px}
.section-head p,.card p,.theme-song-section p{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-map{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.card,.mission-card{padding:24px}
.card>.eyebrow,.mission-card>.eyebrow{display:table;margin-left:auto;margin-right:auto}
.card>h2,.mission-card>h2{text-align:center}
.num,.mission-step-number{display:grid;place-items:center;font-weight:800;background:var(--seed-red);color:#fff}
.num{width:42px;height:42px;border-radius:50%;margin-bottom:16px}
.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.section-back-link{margin-top:20px;margin-bottom:44px;justify-content:center;align-items:center;text-align:center}
.btn{min-height:50px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;border:none;cursor:pointer;font-family:inherit}
.btn-primary{background:linear-gradient(135deg,var(--seed-red),#ff6f4d);color:#fff;box-shadow:0 14px 28px rgba(224,77,50,.24)}
.btn-primary:hover{filter:brightness(.97)}
.btn-secondary{background:#fffdf9;color:var(--text);border:1px solid rgba(109,170,45,.55)}
.list{display:grid;gap:12px}
.item{padding:14px 16px}
.item small{display:block;color:var(--muted);margin-bottom:6px}
input,textarea,select{width:100%;padding:14px 16px;border-radius:18px;border:1px solid #b8b8b8;font:inherit;background:#f7f7f7;color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
textarea{min-height:120px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--seed-red);box-shadow:0 0 0 3px rgba(255,59,46,.12)}
label{display:block;font-weight:700;margin-bottom:8px}
.meta{color:var(--muted);font-size:.92rem;margin-top:8px}
.notice,.success,.error,.info{margin-top:14px;padding:12px 14px;border-radius:18px}
.notice{background:#faf7f1;border:1px solid var(--line);color:var(--muted)}
.success,.error,.info{display:none}
.success{background:#f5fbf4;border:1px solid #d9ead4}
.error{background:#fff4f4;border:1px solid #efcfcf}
.info{background:#f7f7f7;border:1px solid #e4e4e4}
.hide{display:none!important}
.toolbar{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin:0 0 18px}
.map-toolbar{width:min(100%,50vw);margin-left:auto;margin-right:auto}
.seed-form-card{width:min(100%,50vw);margin-left:auto;margin-right:auto}
.virtual-seed-guide-how-card{width:min(100%,50vw);margin-left:auto;margin-right:auto}
.stories-card{width:min(100%,75vw);margin-left:auto;margin-right:auto}
.contact-form-card{width:min(100%,75vw);margin-left:auto;margin-right:auto}
.contact-form-card > p.meta,
.contact-form-card > p:not(.meta){
  display:block;
  width:min(100%,62ch);
  text-align:center;
  margin-left:auto!important;
  margin-right:auto!important;
  max-width:62ch;
}
.contact-form-card > p.meta{margin-bottom:12px!important}
.wall-layout-narrow{width:min(100%,75vw);margin-left:auto;margin-right:auto}
.count,.page-status{color:var(--muted);font-size:.92rem}
.pagination{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.stat{padding:18px 16px}
.stat strong{display:block;font-size:1.6rem;line-height:1;margin-bottom:8px;color:var(--seed-red)}
.stat span{color:var(--muted);font-size:.95rem}
.virtual-map-stats-grid{grid-template-columns:repeat(3,minmax(0,220px));justify-content:center}
.pill{display:inline-block;margin-top:8px;padding:6px 10px;border-radius:999px;background:#fffaf4;border:1px solid rgba(115,90,61,.16);color:var(--muted);font-size:.9rem;box-shadow:0 8px 18px rgba(58,38,19,.05)}
.cta{padding:24px 0 60px}
.cta-box{text-align:center;background:linear-gradient(180deg, rgba(252,246,239,.98), rgba(244,239,232,.96));color:var(--text);padding:36px 24px}
.cta-box p{color:var(--muted);max-width:46ch;margin:0 auto}
#map{width:min(100%,50vw);height:300px;margin-left:auto;margin-right:auto;border-radius:24px;overflow:hidden;border:1px solid var(--line)}
.leaflet-popup-content-wrapper{border-radius:18px}
.leaflet-popup-content{margin:14px 16px;font-family:Arial,Helvetica,sans-serif}
footer{padding:0 0 36px}
.footer-box{border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:.95rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-links{display:flex;gap:14px;flex-wrap:wrap}
.footer-links a{text-decoration:none;color:var(--muted);font-weight:700}
.theme-song-section{max-width:700px;margin:40px auto;padding:24px;text-align:center}
.theme-song-section audio{width:100%;max-width:500px}
.mission-card{text-align:center;padding:30px 24px}
.mission-intro{color:var(--muted);max-width:58ch;margin:0 auto 20px;font-size:1.03rem}
.mission-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.mission-step{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 16px}
.mission-step-number{width:34px;height:34px;margin:0 auto 12px;border-radius:999px;font-size:.95rem}
.mission-step h3{font-size:1rem;margin-bottom:8px}
.mission-step p{color:var(--muted);font-size:.96rem}
.mission-closing{margin-top:22px;font-weight:700;font-size:1.05rem}
.manifesto-card{text-align:center}
.manifesto-text{max-width:62ch;margin:0 auto;color:var(--muted);font-size:1.04rem}
.manifesto-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.manifesto-point{background:#fffdf9;border:1px solid rgba(115,90,61,.14);border-radius:22px;padding:18px 16px;box-shadow:0 14px 30px rgba(58,38,19,.06)}
.manifesto-point h3{font-size:1rem;margin-bottom:8px}
.manifesto-point p{color:var(--muted);font-size:.95rem}
.daily-deed-card{text-align:center}
.daily-deed-copy{max-width:54ch;margin:0 auto 18px;color:var(--muted)}
.daily-deed-box{background:#fffdf9;border:1px solid rgba(115,90,61,.14);border-radius:24px;padding:20px 18px;max-width:680px;margin:0 auto;box-shadow:0 18px 36px rgba(58,38,19,.08)}
.daily-deed-box strong{display:block;font-size:1.35rem;line-height:1.3;margin-bottom:12px}
.daily-deed-box p{color:var(--text)!important;font-weight:700;font-size:1.2rem;line-height:1.5}
.reaction-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.reaction-meta{color:var(--muted);font-size:.92rem}
.moved-btn{width:auto}
.moved-btn.is-active{background:#fff5f3;border:1px solid var(--seed-red);color:var(--seed-red)}
.moved-btn-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:rgba(112,89,74,.12);
  color:inherit;
  font-size:.72rem;
  font-weight:700;
  line-height:1;
}
.kindness-card{text-align:center}
.kindness-intro{max-width:62ch;margin:0 auto 18px;color:var(--muted)}
.kindness-illustration{margin:24px auto 6px}
.kindness-counter-grid{display:flex;justify-content:center;gap:14px;margin:22px 0}
.kindness-counter-box{background:#fffdf9;border:1px solid rgba(115,90,61,.14);border-radius:22px;padding:18px 16px;min-width:min(100%,320px);box-shadow:0 14px 30px rgba(58,38,19,.06)}
.kindness-counter-box strong{display:block;font-size:1.8rem;line-height:1;margin-bottom:8px;color:var(--seed-red)}
.kindness-counter-box span{color:var(--muted);font-size:.95rem}
.kindness-prompt{margin-top:20px;padding:0;background:transparent;border:0;border-radius:0}
.kindness-prompt h3{font-size:clamp(1.8rem,4vw,3rem);line-height:1.15;margin-bottom:18px}
.kindness-prompt p{color:var(--muted)}
.kindness-ideas{display:grid;grid-template-columns:1fr;gap:10px;margin:16px auto 0;text-align:center;width:min(100%,680px)}
.kindness-idea{background:#fffaf4;border:1px solid rgba(115,90,61,.14);border-radius:18px;padding:12px 14px;color:var(--text);font-weight:700;box-shadow:0 12px 26px rgba(58,38,19,.05)}
.kindness-prompt-image{margin:18px auto 0}
.kindness-note{margin-top:14px;font-weight:700;color:var(--text)!important}
.inline-link{color:var(--seed-red);font-weight:800;text-decoration:none}
.inline-link:hover{text-decoration:underline}
body{overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
.wrap,main,section,.hero,.card,.mission-card,.item,.stat,.notice,.success,.error,.info{max-width:100%}
.hero,.card,.mission-card,.item,.stat{overflow:hidden}
.grid-2,.grid-3,.mission-steps,.actions{min-width:0}
input,textarea,button,.btn{max-width:100%}

@media (max-width:1100px){
  .topbar{align-items:flex-start}
  .brand{justify-content:flex-start;text-align:left}
  .brand-copy{align-items:flex-start}
  .main-nav{justify-content:flex-start;flex-wrap:wrap}
  .nav-dropdown-content{position:static;top:auto;left:auto;min-width:0;width:100%;margin-top:6px}
  #idea-summary,
  #story-section,
  #manifesto-section,
  #action-guide,
  #kindness-section,
  #daily-deed-section{scroll-margin-top:120px}
}
@media (max-width:900px){
  .shell-header{
    padding:0 0 10px;
    top:0;
  }
  .shell-nav-card{
    border-top:0;
    border-radius:0 0 24px 24px;
    padding-top:10px;
  }
  .wrap{width:min(calc(100% - 20px),var(--max))}
  .hero,.card,.mission-card{border-radius:24px}
  .grid,.grid-2,.grid-3,.grid-map,.stats-grid,.toolbar,.mission-steps,.kindness-counter-grid,.kindness-ideas{grid-template-columns:1fr}
  .story-grid{grid-template-columns:1fr}
  .action-guide-grid{grid-template-columns:1fr}
  .manifesto-points{grid-template-columns:1fr}
  #idea-summary,
  #story-section,
  #manifesto-section,
  #action-guide,
  #kindness-section,
  #daily-deed-section{scroll-margin-top:110px}
  .section{padding:18px 0 28px}
  .hero{padding:24px 18px;margin-bottom:24px}
  .map-toolbar{width:100%}
  .seed-form-card{width:100%}
  .virtual-seed-guide-how-card{width:100%}
  .stories-card{width:100%}
  .contact-form-card{width:100%}
  .wall-layout-narrow{width:100%}
  #map{width:100%;height:220px}
  .topbar{align-items:stretch;gap:12px}
  .brand{min-width:0;justify-content:flex-start;text-align:left}
  .brand-copy{align-items:flex-start}
  .topbar-actions{display:flex;align-items:center;gap:6px;width:100%;overflow:visible;flex-wrap:nowrap}
  .guide-toggle,.share-toggle,.menu-toggle,.forum-mobile-quicklink,.nav-dropdown-mobile-forum{display:inline-flex}
  .guide-toggle,.share-toggle,.forum-mobile-quicklink,.nav-dropdown-mobile-forum,.nav-dropdown-lang-mobile{flex:0 0 auto}
  .menu-toggle{align-self:auto;margin-left:auto}
  .nav-dropdown-lang-main{display:none}
  .nav-dropdown-lang-mobile{display:block;min-width:0;margin-left:0}
  .main-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:10px;padding-top:4px}
  .main-nav.open{display:flex}
  .main-nav>a,.nav-dropbtn,.lang-trigger{display:flex;align-items:center;width:100%;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--line);white-space:normal;text-align:left}
  .main-nav .nav-faq-link{display:none}
  .main-nav>a{justify-content:flex-start;gap:10px}
  .nav-dropbtn,.lang-trigger{justify-content:space-between}
  .nav-dropbtn-with-meta{align-items:flex-start}
  .nav-dropbtn-copy{display:grid;gap:4px;justify-items:start}
  .nav-item-icon{margin-right:0}
  .nav-dropbtn-meta{display:block}
  .nav-dropbtn-icon{margin-top:2px}
  .nav-dropdown{width:100%}
  .nav-dropdown-content{box-shadow:none;border-radius:18px;background:rgba(255,255,255,.95)}
  .nav-dropdown-content a{padding:12px 14px;gap:10px}
  .actions{flex-direction:column;align-items:stretch}
  .section-back-link{margin-bottom:26px;align-items:center}
  .actions .btn{width:100%}
  .roadmap-step{grid-template-columns:1fr}
  .roadmap-number{margin-bottom:4px}
  .nav-dropdown-lang{order:0;width:auto;min-width:0;margin-left:0}
  .lang-dropdown-content{
right:auto;
left:auto;
min-width:180px;
width:max-content;
max-height:40vh;
overflow-y:auto;
-webkit-overflow-scrolling:touch;
}
  .nav-dropdown-lang-mobile{order:0;width:40px;min-width:40px}
  .topbar-actions .guide-toggle,
  .topbar-actions .share-toggle,
  .topbar-actions .forum-mobile-quicklink,
  .topbar-actions .nav-dropdown-mobile-forum,
  .topbar-actions .lang-trigger-mobile{
    width:40px;
    min-width:40px;
    height:40px;
    padding:0;
    border-radius:12px;
    font-size:16px;
    justify-content:center;
  }
  .topbar-actions .share-toggle{
    width:auto;
    min-width:max-content;
    padding:0;
    font-size:13px;
    position:static;
    white-space:nowrap;
    flex:0 0 auto;
  }
  .topbar-actions .forum-mobile-quicklink{font-size:18px}
  .topbar-actions .nav-dropdown-mobile-forum{width:40px;min-width:40px;height:40px;padding:0;overflow:visible}
  .topbar-actions .nav-dropdown-mobile-forum .nav-dropdown-content-mobile-forum{
      position:absolute;
      top:calc(100% + 8px);
      left:50%;
      right:auto;
      transform:translateX(-50%);
      width:max-content;
      min-width:180px;
      margin-top:0;
    }
  .topbar-actions .menu-toggle{
    width:40px;
    height:40px;
    border-radius:12px;
    font-size:20px;
  }
  .topbar-actions .lang-trigger-mobile{width:auto;min-width:max-content;padding:0 8px;white-space:nowrap;gap:6px}
  .topbar-actions .lang-trigger-mobile .lang-trigger-label{display:none}
  .topbar-actions .nav-dropdown-lang-mobile .lang-dropdown-content{
  right:0;
left:auto;
min-width:180px;
width:max-content;
max-height:60vh;
position:absolute;
top:calc(100% + 8px);
overflow-y:auto;
-webkit-overflow-scrolling:touch;
box-shadow:0 18px 38px rgba(63,38,17,.16);
padding:10px;
}

@media (max-width:560px){
  .topbar-actions{gap:5px}
  .topbar-actions .guide-toggle,
  .topbar-actions .forum-mobile-quicklink,
  .topbar-actions .nav-dropdown-mobile-forum,
  .topbar-actions .menu-toggle{
    width:38px;
    min-width:38px;
    height:38px;
  }
  .topbar-actions .share-toggle,
  .topbar-actions .lang-trigger-mobile{
    width:auto;
    min-width:max-content;
    height:38px;
  }
  .topbar-actions .share-toggle{padding:0 6px;font-size:11px}
  .topbar-actions .lang-trigger-mobile{
    padding:0 6px;
    gap:4px;
    font-size:11px;
  }
  .topbar-actions .lang-trigger-mobile .lang-trigger-label{display:inline-flex;font-size:11px}
}
  .lang-option{padding:12px 14px}
}

.footer-share{display:flex;align-items:center;gap:10px;min-width:0}
.footer-share p{margin:0;font-size:.9rem;color:var(--muted);white-space:nowrap}
.footer-share button{padding:7px 12px;border-radius:999px;border:none;background:#171717;color:white;cursor:pointer;font-size:.88rem;line-height:1.1}
.footer-share button:hover{opacity:0.85}

.site-footer{position:fixed;left:14px;right:14px;bottom:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 14px calc(6px + env(safe-area-inset-bottom,0px));margin-top:12px;border-top:1px solid rgba(95,71,49,.14);background:rgba(252,246,239,.92);backdrop-filter:blur(10px);overflow:hidden}
.site-footer-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
.site-footer-links a{text-decoration:none;color:var(--muted);font-weight:800;font-size:.92rem}
.site-footer-links a:hover{color:var(--text)}

.wall-layout{display:grid;gap:18px;align-items:start}
.wall-compose-card,.wall-feed-card,.wall-post{background:var(--card)}
.wall-honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.wall-feed-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:8px}
.wall-list{display:grid;gap:16px}
.wall-post{padding:20px}
.wall-post-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.wall-post-head h3{margin-bottom:6px}
.wall-post-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.wall-post-body{white-space:pre-wrap}
.wall-post-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.wall-heart-btn{
  min-width:62px;
  min-height:42px;
  padding:0 12px;
  gap:8px;
  font-size:1.2rem;
  font-weight:700;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#9d8b82;
  border:1.5px solid #dfd1c7;
  border-radius:999px;
  background:linear-gradient(180deg,#ffffff 0%,#faf5ef 100%);
  box-shadow:0 6px 14px rgba(77,51,28,.09);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,color .16s ease,background .16s ease;
}
.wall-heart-btn:hover{
  color:#7f6f67;
  border-color:#cbb9ac;
  background:linear-gradient(180deg,#ffffff 0%,#f5ede5 100%);
  box-shadow:0 8px 16px rgba(77,51,28,.12);
  transform:translateY(-1px);
}
.wall-heart-btn.is-liked{
  color:#cf2d2d;
  border-color:#efaaaa;
  background:linear-gradient(180deg,#fff7f7 0%,#ffe8e8 100%);
  box-shadow:0 4px 12px rgba(209,47,47,.16);
}
.wall-heart-btn > span[aria-hidden="true"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:translateY(-1px);
}
.wall-heart-btn.is-liked .moved-btn-count{
  background:rgba(207,45,45,.14);
  color:#b92727;
}
.wall-replies{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.wall-reply-list{gap:10px}
.wall-reply-item{background:#f7f7f7;border:1px solid var(--line);border-radius:18px}
.wall-reply-form{margin-top:14px}
.wall-name-actions{margin-top:10px}
.btn-small{min-height:40px;padding:0 16px;font-size:.95rem}
.forum-layout{align-items:start}
.forum-auth-layout{display:grid;grid-template-columns:minmax(0,1fr)}
.forum-auth-status{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.forum-auth-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700}
.forum-focus-card{box-shadow:0 8px 18px rgba(39,24,15,.03)}
#forumContentSection,
#forumThreadComposerSection{max-width:980px;margin:0 auto}
.forum-panel-card{
  max-width:960px;
  margin:0 auto;
  padding:22px;
  background:#fffdfa;
  border:1px solid rgba(95,71,49,.10);
  border-radius:22px;
  box-shadow:0 6px 14px rgba(39,24,15,.03);
}
#forumGuidelinesCard,
#forumAuthSection,
.forum-overview-card,
.forum-compose-card{background:linear-gradient(180deg,#fffdfa 0%,#fbf7f1 100%)}
#forumAuthLead{text-align:center;max-width:56ch;margin-left:auto;margin-right:auto}
.forum-auth-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.forum-form-box{background:#fff;border:1px solid rgba(95,71,49,.10);border-radius:18px;padding:18px;box-shadow:none}
#forumLoginBox{grid-column:1 / -1;width:min(100%,520px);margin:0 auto}
.forum-form-box h3{margin-bottom:10px}
.forum-auth-forms .meta{max-width:62ch}
.forum-meta-list{display:grid;gap:10px;margin-top:16px}
.forum-category-list,.forum-admin-list,.forum-role-list{display:grid;gap:12px;max-width:860px;margin:0 auto}
.forum-category-card,.forum-role-card{background:linear-gradient(180deg,#f5eadb 0%,#eddcca 100%);border:1px solid rgba(125,95,68,.20);border-radius:18px;padding:16px 18px;box-shadow:none}
.forum-category-card h3,.forum-role-card h3{margin-bottom:8px}
.forum-category-card h3{font-weight:800}
.forum-category-card p,.forum-role-card p{margin-bottom:10px}
.forum-category-card p{font-style:normal;font-weight:500}
.forum-category-group{margin-top:16px}
.forum-category-group:first-child{margin-top:0}
.forum-category-group-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px;padding:0 2px}
.forum-category-group-head h3{margin:0;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;color:#6a5139}
.forum-category-group-head .meta{margin:0}
.forum-category-slug{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#fff7ec;border:1px solid rgba(125,95,68,.18);font-size:.82rem;color:#6a5139;width:fit-content;max-width:100%}
.forum-category-count{font-weight:800;color:var(--text)}
.forum-category-actions,.forum-role-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.forum-inline-note{margin-top:12px}
.forum-search-empty{padding:16px;border:1px dashed rgba(95,71,49,.14);border-radius:16px;background:#fff}
.forum-search-toolbar{display:grid;gap:10px;padding:14px 16px;margin:14px auto 0;max-width:860px;border:1px solid rgba(125,95,68,.16);border-radius:18px;background:#efe4d4}
.forum-search-actions{margin-top:0 !important}
.forum-thread-card{background:linear-gradient(180deg,#fff7ec 0%,#f8ebdc 100%);border:1px solid rgba(125,95,68,.16);border-radius:16px;padding:16px;box-shadow:none}
.forum-thread-card + .forum-thread-card{margin-top:12px}
.forum-thread-card h4{margin-bottom:6px}
.forum-thread-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:start}
.forum-thread-author-block{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px}
.forum-author-avatar{display:block;width:38px;height:38px;border-radius:999px;object-fit:cover;border:1px solid rgba(95,71,49,.10);background:#f4ede5}
.forum-author-avatar-fallback{display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:800;color:var(--muted);background:#fcfaf6}
.forum-avatar-link,.messages-avatar-link{display:inline-flex;border-radius:999px}
.forum-message-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1.5px solid rgba(217,68,38,.72);background:#fff7f3;color:#a13d28;text-decoration:none;box-shadow:none;font-size:.85rem;line-height:1}
.forum-message-icon-btn:hover,.forum-message-icon-btn:focus-visible{outline:none;border-color:rgba(217,68,38,.92);color:#7f2d1d;background:#ffe9e1}
.forum-thread-message-icon{margin-top:-2px}
.messages-profile-link{
  color:#4f3425;
  text-decoration:none;
  font-weight:700;
  border-bottom:1px solid rgba(125,95,68,.28);
  padding-bottom:1px;
  transition:color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.messages-profile-link:hover,.messages-profile-link:focus-visible{
  color:#2f2017;
  border-color:rgba(217,68,38,.52);
  background:linear-gradient(180deg,transparent 55%, rgba(217,68,38,.10) 55%);
  outline:none;
}
.forum-thread-copy .meta a,
.forum-reply-author strong a,
#forumProfileDialogBody h3 a{
  display:inline-block;
  color:#4f3425;
  text-decoration:none;
  font-weight:700;
  padding:1px 0;
  border-bottom:1px solid rgba(125,95,68,.24);
  transition:color .18s ease,border-color .18s ease,background .18s ease;
}
.forum-thread-copy .meta a:hover,
.forum-thread-copy .meta a:focus-visible,
.forum-reply-author strong a:hover,
.forum-reply-author strong a:focus-visible,
#forumProfileDialogBody h3 a:hover,
#forumProfileDialogBody h3 a:focus-visible{
  color:#2f2017;
  border-color:rgba(217,68,38,.44);
  background:linear-gradient(180deg,transparent 62%, rgba(217,68,38,.08) 62%);
  outline:none;
}
.forum-thread-copy{min-width:0}
.forum-thread-toggle-surface{border-radius:14px;padding:4px 6px;margin:-4px -6px;transition:background .18s ease,box-shadow .18s ease}
.forum-thread-toggle-surface[data-kind="toggle-thread"]{cursor:pointer}
.forum-thread-toggle-surface.is-closed[data-kind="toggle-thread"]:hover{background:rgba(95,154,103,.08);box-shadow:inset 0 0 0 1px rgba(95,154,103,.12)}
.forum-thread-toggle-surface.is-open[data-kind="toggle-thread"]:hover{background:rgba(224,77,50,.07);box-shadow:inset 0 0 0 1px rgba(224,77,50,.12)}
.forum-thread-copy strong{display:block;margin-bottom:4px}
.forum-thread-actions{justify-content:flex-end;align-self:start}
.forum-thread-actions-top{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end}
.forum-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1.5px solid rgba(217,68,38,.72);background:#fff7f3;color:#8f3824;cursor:pointer;box-shadow:none;font-size:.95rem;line-height:1}
.forum-icon-btn:hover,.forum-icon-btn:focus-visible{outline:none;border-color:rgba(217,68,38,.92);background:#ffe9e1;color:#702617}
.forum-icon-btn.is-danger:hover,.forum-icon-btn.is-danger:focus-visible{border-color:#c53f2c;background:#ffdcd2;color:#8e2616}
.forum-icon-btn.is-active{border-color:#c53f2c;background:#ffdcd2;color:#7a2517}
.forum-thread-body{margin-top:10px;white-space:pre-wrap}
.forum-translation-actions{margin-top:8px}
.forum-inline-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border:1px solid rgba(217,68,38,.28);
  border-radius:999px;
  background:rgba(255,237,232,.76);
  color:#9a3f2a;
  font:inherit;
  font-size:.8rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.forum-inline-link::before{
  content:"\1F310";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:transparent;
  color:inherit;
  font-size:.72rem;
  font-weight:900;
}
.forum-inline-link:hover,.forum-inline-link:focus-visible{
  background:rgba(255,225,216,.96);
  border-color:rgba(217,68,38,.42);
  color:#7f2d1d;
  outline:none;
  transform:translateY(-1px);
}
.forum-translation-box{margin-top:10px;padding:10px 12px;border-radius:12px;background:#efe5d8;border:1px solid rgba(125,95,68,.12)}
.forum-translation-label{margin-bottom:6px;color:var(--muted);font-size:.76rem;font-weight:800}
.forum-thread-footer{margin-top:14px;padding-top:14px;border-top:1px solid rgba(95,71,49,.10);display:grid;gap:12px}
.forum-thread-meta-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.forum-reply-count{font-weight:700}
.forum-heart-count{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#875f4a}
.forum-thread-secondary-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.forum-reply-list{display:grid;gap:10px}
.forum-reply-item{background:linear-gradient(180deg,#f2f6ef 0%,#e7efe1 100%);border:1px solid rgba(108,132,94,.20);border-radius:14px;padding:14px}
.forum-reply-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:8px}
.forum-reply-author{display:flex;gap:10px;align-items:flex-start}
.forum-reply-author-stack{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto}
.forum-reply-avatar{width:34px;height:34px}
.forum-reply-actions-inline{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.forum-reply-form{display:grid;gap:10px}
.forum-thread-reply-form-card{padding:14px;border:1px solid rgba(108,132,94,.18);border-radius:16px;background:#eaf1e4}
.forum-reply-note{font-size:.95rem;color:var(--muted)}
.forum-reply-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.forum-inline-thread-composer{padding:14px;border:1px dashed rgba(125,95,68,.20);border-radius:16px;background:#f3e8d9}
.forum-inline-thread-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.forum-inline-thread-form{display:grid;gap:10px;margin-top:12px}
.forum-heart-btn{min-width:46px;min-height:38px;padding:0 12px;font-size:1.05rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;color:#8f3824;border:1.5px solid rgba(217,68,38,.72);border-radius:999px;background:#fff7f3;box-shadow:none}
.forum-heart-btn:hover{color:#702617;border-color:rgba(217,68,38,.92);background:#ffe9e1}
.forum-heart-btn.is-liked{color:#9a2d1d;border-color:#c53f2c;background:#ffdcd2;box-shadow:none}
.forum-heart-btn[disabled]{opacity:.92;cursor:default}
.forum-heart-btn-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.forum-heart-btn-count{display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700;line-height:1;position:relative;top:1px}
.forum-category-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.forum-category-top p{margin:0}
.forum-category-toggle{margin-top:0;align-self:start;justify-self:end}
.forum-category-top[data-kind="toggle-category"]{cursor:pointer}
.forum-category-body{margin-top:16px}
.forum-toggle-btn{border:1px solid rgba(125,95,68,.16);box-shadow:none}
.forum-toggle-btn.is-closed{color:#4a6442;border-color:rgba(108,132,94,.20);background:#e6f0df}
.forum-toggle-btn.is-open{color:#6f4c35;border-color:rgba(125,95,68,.20);background:#efdfcd}
.forum-toggle-btn.is-closed:hover,.forum-toggle-btn.is-closed:focus-visible{
  outline:none;
  color:#2f5c33;
  border-color:rgba(108,132,94,.30);
  background:#dae9ce;
  box-shadow:none;
  transform:translateY(-1px);
}
.forum-toggle-btn.is-open:hover,.forum-toggle-btn.is-open:focus-visible{
  outline:none;
  color:#5b3f2f;
  border-color:rgba(125,95,68,.28);
  background:#e7ceb6;
  box-shadow:none;
  transform:translateY(-1px);
}
.forum-panel-card .btn,.forum-thread-actions .btn,.forum-reply-actions-inline .btn,.forum-reply-actions .btn,.forum-category-actions .btn,.forum-role-actions .btn,.forum-search-toolbar .btn,.forum-auth-layout .btn,.forum-profile-dialog-card .btn{
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(125,95,68,.24);
  background:#f4e2cf;
  color:#4a3528;
  box-shadow:0 3px 10px rgba(77,51,28,.08);
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease
}
.forum-panel-card .btn:hover,
.forum-panel-card .btn:focus-visible{
  outline:none;
  background:#ecd4bc;
  border-color:rgba(125,95,68,.30);
  color:#33261d;
  box-shadow:0 5px 14px rgba(77,51,28,.10);
  transform:translateY(-1px);
}
.forum-panel-card .btn:active{
  transform:translateY(0);
  box-shadow:0 2px 8px rgba(77,51,28,.08);
}
.forum-panel-card .btn-primary,
.forum-thread-actions .btn-primary,
.forum-reply-actions .btn-primary,
.forum-search-toolbar .btn-primary,
.forum-auth-layout .btn-primary,
.forum-profile-dialog-card .btn-primary{
  background:#dec0a3;
  border-color:rgba(125,95,68,.30);
  color:#2f231b;
  box-shadow:0 5px 14px rgba(77,51,28,.12);
}
.forum-panel-card .btn-secondary,
.forum-thread-actions .btn-secondary,
.forum-reply-actions .btn-secondary,
.forum-search-toolbar .btn-secondary,
.forum-auth-layout .btn-secondary,
.forum-profile-dialog-card .btn-secondary,
.forum-panel-card .btn-ghost,
.forum-thread-actions .btn-ghost,
.forum-reply-actions .btn-ghost,
.forum-search-toolbar .btn-ghost,
.forum-auth-layout .btn-ghost,
.forum-profile-dialog-card .btn-ghost{
  background:#f4e2cf;
  border-color:rgba(125,95,68,.24);
  color:#4a3528;
}
@media (min-width:901px){
  .forum-panel-card .btn:not(.forum-heart-btn):not(.btn-primary),
  .forum-thread-actions .btn:not(.forum-heart-btn):not(.btn-primary),
  .forum-reply-actions-inline .btn:not(.forum-heart-btn):not(.btn-primary),
  .forum-reply-actions .btn:not(.forum-heart-btn):not(.btn-primary),
  .forum-category-actions .btn:not(.forum-heart-btn):not(.btn-primary),
  .forum-role-actions .btn:not(.forum-heart-btn):not(.btn-primary),
  .forum-search-toolbar .btn:not(.forum-heart-btn):not(.btn-primary),
  .forum-auth-layout .btn:not(.forum-heart-btn):not(.btn-primary),
  .forum-profile-dialog-card .btn:not(.forum-heart-btn):not(.btn-primary),
  .forum-category-toggle{
    min-height:44px;
    padding:0 18px;
    box-shadow:none;
  }
  .forum-panel-card .btn:not(.forum-heart-btn):not(.btn-primary):hover,
  .forum-panel-card .btn:not(.forum-heart-btn):not(.btn-primary):focus-visible,
  .forum-thread-actions .btn:not(.forum-heart-btn):not(.btn-primary):hover,
  .forum-thread-actions .btn:not(.forum-heart-btn):not(.btn-primary):focus-visible,
  .forum-reply-actions-inline .btn:not(.forum-heart-btn):not(.btn-primary):hover,
  .forum-reply-actions-inline .btn:not(.forum-heart-btn):not(.btn-primary):focus-visible,
  .forum-reply-actions .btn:not(.forum-heart-btn):not(.btn-primary):hover,
  .forum-reply-actions .btn:not(.forum-heart-btn):not(.btn-primary):focus-visible,
  .forum-category-actions .btn:not(.forum-heart-btn):not(.btn-primary):hover,
  .forum-category-actions .btn:not(.forum-heart-btn):not(.btn-primary):focus-visible,
  .forum-role-actions .btn:not(.forum-heart-btn):not(.btn-primary):hover,
  .forum-role-actions .btn:not(.forum-heart-btn):not(.btn-primary):focus-visible,
  .forum-search-toolbar .btn:not(.forum-heart-btn):not(.btn-primary):hover,
  .forum-search-toolbar .btn:not(.forum-heart-btn):not(.btn-primary):focus-visible,
  .forum-auth-layout .btn:not(.forum-heart-btn):not(.btn-primary):hover,
  .forum-auth-layout .btn:not(.forum-heart-btn):not(.btn-primary):focus-visible,
  .forum-profile-dialog-card .btn:not(.forum-heart-btn):not(.btn-primary):hover,
  .forum-profile-dialog-card .btn:not(.forum-heart-btn):not(.btn-primary):focus-visible,
  .forum-category-toggle:hover,
  .forum-category-toggle:focus-visible{
    outline:none;
    background:#f2e3d0;
    border-color:rgba(125,95,68,.24);
    color:#3f2f24;
    box-shadow:none;
    transform:translateY(-1px);
  }
  .forum-panel-card .btn-primary,
  .forum-auth-layout .btn-primary,
  .forum-reply-actions .btn-primary,
  .forum-search-toolbar .btn-primary{
    box-shadow:none;
  }
  .forum-panel-card .btn-primary:hover,
  .forum-panel-card .btn-primary:focus-visible,
  .forum-auth-layout .btn-primary:hover,
  .forum-reply-actions .btn-primary:hover,
  .forum-search-toolbar .btn-primary:hover{
    transform:translateY(-1px);
    background:#ddc1a6;
    border-color:rgba(125,95,68,.28);
    color:#33261d;
    box-shadow:none;
  }
}
.forum-thread-card .meta,.forum-reply-item .meta{line-height:1.5}
.forum-admin-zone{display:grid;gap:18px}
.forum-admin-intro{border:1px solid #d9d0c2;background:linear-gradient(180deg,#f7f1e8 0%,#f1e8db 100%)}
.forum-admin-intro h2{margin-top:6px}
.forum-admin-card{border:1px solid #d8c7b2;background:#f7f1e8}
.forum-admin-card .forum-form-box,.forum-admin-card .forum-category-card,.forum-admin-card .forum-role-card{background:#fbf6ef}
.forum-profile-dialog-overlay{position:fixed;inset:0;z-index:1500;background:rgba(18,18,18,.52);padding:20px;display:flex;align-items:flex-start;justify-content:center;overflow:auto}
.forum-profile-dialog-card{width:min(100%,620px);margin:24px auto;padding:26px;max-height:calc(100vh - 48px);overflow:auto;background:linear-gradient(180deg,#fffdfa 0%,#f8f1e8 100%)}
.forum-profile-dialog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:18px;align-items:start}
.forum-profile-dialog-main p{margin:0 0 10px}
.forum-profile-dialog-about{padding:14px 16px;border:1.5px solid rgba(95,71,49,.18);border-radius:16px;background:rgba(255,255,255,.76)}
.forum-profile-dialog-about strong{display:block;margin-bottom:10px}
.forum-profile-dialog-about p{margin:0;line-height:1.5}
.forum-profile-toggle{display:flex;gap:10px;align-items:flex-start}
.forum-profile-toggle input{width:auto;flex:0 0 auto;margin-top:3px}
.forum-profile-toggle span{flex:1 1 auto;min-width:0}
.profile-shell{background:linear-gradient(180deg,#fffdfa 0%,#f8f1e8 100%)}
.profile-page-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
.profile-summary-card,.profile-edit-card{background:#fff;border:1px solid rgba(95,71,49,.10)}
.profile-summary-head{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:start}
.profile-summary-copy{min-width:0}
.profile-rank-chip{display:grid;gap:4px;padding:10px 12px;margin:8px 0 10px;border-radius:18px;border:1px solid rgba(95,71,49,.12);background:rgba(255,244,232,.92)}
.profile-rank-chip strong,.profile-rank-title{font-size:.95rem}
.profile-rank-label{font-size:.74rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.profile-avatar-large-wrap{width:120px}
.profile-avatar-meta{display:grid;gap:8px;margin-top:10px}
.profile-avatar-meta .profile-rank-chip{width:100%;justify-content:center;text-align:center;margin:0}
.profile-heart-total{margin:0;text-align:center;font-size:.92rem;color:var(--muted)}
.profile-display-heading{text-transform:uppercase;letter-spacing:.08em;font-size:1.45rem;line-height:1.1;margin:0 0 14px}
.profile-avatar-large,.profile-avatar-option img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:22px;border:1px solid rgba(95,71,49,.12);background:#f4ede5}
.profile-avatar-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;min-height:120px;padding:14px;border-radius:22px;border:1px dashed rgba(95,71,49,.18);color:var(--muted);background:#fcfaf6}
.profile-avatar-editor{padding-bottom:12px;border-bottom:1px solid rgba(95,71,49,.10)}
.profile-photo-choice{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.profile-avatar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.profile-avatar-option{display:grid;gap:8px}
.profile-avatar-option.is-active img{border-color:var(--seed-red);box-shadow:0 0 0 2px rgba(255,93,58,.12)}
.profile-about-block{margin-top:12px;padding-top:12px;border-top:1px solid rgba(95,71,49,.10)}
.profile-about-block p{margin-top:8px}
.profile-form-gap{height:12px}
.profile-form-toggle-gap{margin-top:8px}
.profile-form-actions{justify-content:flex-start;margin-top:14px}
.messages-auth-card{max-width:960px;margin:0 auto;background:linear-gradient(180deg,#fffdfa 0%,#fbf7f1 100%);border:1px solid rgba(125,95,68,.12);box-shadow:0 6px 14px rgba(39,24,15,.03);overflow:visible}
.messages-auth-cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}
.messages-mail-shell,.messages-announcements-card{background:linear-gradient(180deg,#fffdfa 0%,#fbf7f1 100%);padding:24px;border:1px solid rgba(125,95,68,.12);box-shadow:0 6px 14px rgba(39,24,15,.03);overflow:visible}
.messages-mail-shell{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:22px;align-items:start}
.messages-conversations-pane{min-width:0;position:sticky;top:108px;max-height:calc(100vh - 132px);overflow:auto;padding-right:4px}
.messages-main-pane{min-width:0;align-self:start}
.messages-main-card{background:linear-gradient(180deg,#fffdfb 0%,#fbf6ef 100%);border:1px solid rgba(125,95,68,.14);border-radius:20px;padding:16px;box-shadow:none;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:calc(100vh - 220px);min-height:460px;max-height:620px;gap:10px;position:sticky;top:108px}
.messages-compose-card{margin-top:0;padding-top:10px;border-top:1px solid rgba(95,71,49,.10);background:linear-gradient(180deg,rgba(251,246,239,.72) 0%,#fbf6ef 26%)}
.messages-sidebar-head{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(95,71,49,.10);display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.messages-sidebar-head .btn{flex:0 0 auto;white-space:nowrap;margin-top:4px}
.messages-conversations-pane .messages-sidebar-head{display:block}
.messages-conversations-pane .messages-sidebar-head .meta{margin-top:8px;max-width:28ch}
.messages-conversations-pane .messages-sidebar-head + .messages-thread-list{margin-bottom:18px}
.messages-friends-dropdown{display:grid;gap:10px;margin-bottom:18px}
.messages-friends-toggle{justify-content:flex-start}
.messages-friends-panel{display:grid;gap:10px;padding:12px;border:1px solid rgba(125,95,68,.14);border-radius:18px;background:#efe4d4}
.messages-conversations-panel{display:grid;gap:10px;padding:12px;border:1px solid rgba(125,95,68,.14);border-radius:18px;background:#f0e2d0}
.messages-friends-panel input{width:100%}
.messages-friends-panel .messages-thread-list{gap:4px}
.messages-friends-panel .messages-thread-card{padding:5px 7px;border-radius:12px}
.messages-friends-panel .messages-thread-card-head{margin-bottom:2px;gap:4px}
.messages-friends-panel .messages-thread-card-person{gap:4px}
.messages-friends-panel .messages-thread-avatar{width:16px;height:16px}
.messages-friends-panel .messages-thread-card strong,
.messages-friends-panel .messages-thread-card .messages-profile-link{font-size:.82rem;line-height:1.15}
.messages-friends-panel .messages-thread-card .meta{font-size:.68rem;line-height:1.2}
.messages-friends-panel .messages-thread-card-meta{margin-top:2px;font-size:.64rem}
.messages-friends-panel .messages-unread-badge{min-width:18px;height:18px;padding:0 4px;font-size:.62rem}
.messages-thread-list{display:grid;gap:12px;grid-template-columns:1fr}
.messages-thread-card{width:100%;padding:16px 18px;border-radius:18px;border:1px solid rgba(125,95,68,.16);background:linear-gradient(180deg,#fff7ec 0%,#f8ebdc 100%);text-align:left;color:var(--text);cursor:pointer;font:inherit;box-shadow:none}
.messages-thread-card:hover,.messages-thread-card:focus-visible{outline:none;background:#f3e3d1;border-color:rgba(125,95,68,.26)}
.messages-thread-card.is-active{background:#e7efe1;border-color:rgba(108,132,94,.30)}
.messages-thread-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
.messages-thread-card-person{display:flex;gap:10px;align-items:center;min-width:0}
.messages-thread-card .meta{line-height:1.45;color:var(--muted)}
.messages-thread-card-meta{margin-top:8px;font-size:.9rem;color:var(--muted)}
.messages-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#dec0a3;color:#3f2f24;font-size:.85rem;font-weight:800;border:1px solid rgba(125,95,68,.24)}
.messages-thread-header{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(95,71,49,.10);background:linear-gradient(180deg,#fffdfb 0%,rgba(255,253,251,.96) 100%)}
.messages-thread-header-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.messages-thread-header-main{display:flex;align-items:center;gap:6px;min-width:0}
.messages-thread-header-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.messages-thread-header-avatar-image{width:20px;height:20px}
.messages-thread-header-actions{display:flex;gap:10px;flex-wrap:wrap}
.messages-thread-header h2{margin-bottom:2px}
.messages-thread-header .meta:empty{display:none}
.messages-empty-state{padding:12px;border:1px dashed rgba(125,95,68,.18);border-radius:14px;background:#f3e8d9}
.messages-body{display:grid;min-height:0}
.messages-message-list{display:grid;gap:6px;height:100%;min-height:0;overflow:auto;padding:8px;border:1px solid rgba(125,95,68,.14);border-radius:14px;background:#f6eee2}
.messages-message-row{display:flex;align-items:flex-start;gap:5px}
.messages-message-row.is-own{justify-content:flex-end}
.messages-avatar{display:block;width:22px;height:22px;border-radius:999px;object-fit:cover;border:1px solid rgba(95,71,49,.12);background:#f4ede5;flex:0 0 auto}
.messages-thread-avatar{width:32px;height:32px}
.messages-avatar-fallback{display:flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:800;color:var(--muted);background:#fcfaf6}
.messages-message-avatar{margin-top:2px}
.messages-message{padding:7px 9px;border-radius:12px;border:1px solid rgba(125,95,68,.14);background:linear-gradient(180deg,#fff7ec 0%,#f8ebdc 100%);box-shadow:none;width:fit-content;max-width:min(70%,520px);justify-self:start}
.messages-message.is-own{background:linear-gradient(180deg,#f2f6ef 0%,#e7efe1 100%);border-color:rgba(108,132,94,.22);justify-self:end}
.messages-message-meta{display:flex;justify-content:space-between;gap:5px;align-items:flex-start;flex-wrap:wrap;margin-bottom:3px;font-size:.7rem;color:var(--muted)}
.messages-message-body{white-space:pre-wrap}
.messages-message-icon-rail{display:flex;flex-direction:column;gap:4px;padding-top:1px}
.messages-icon-action{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;border:1.5px solid rgba(217,68,38,.72);background:#fff7f3;color:#8f3824;font-size:.75rem;line-height:1;cursor:pointer;box-shadow:none;padding:0}
.messages-icon-action span{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.messages-icon-action:hover,.messages-icon-action:focus-visible{outline:none;border-color:rgba(217,68,38,.92);color:#702617;background:#ffe9e1}
.messages-icon-action.is-active{border-color:#c53f2c;color:#7a2517;background:#ffdcd2}
.messages-icon-action:disabled{opacity:.48;cursor:default;border-color:rgba(95,71,49,.08);color:rgba(95,71,49,.45)}
.messages-translation-actions{margin-top:5px}
.messages-inline-link{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid rgba(217,68,38,.28);border-radius:999px;background:rgba(255,237,232,.76);color:#9a3f2a;font:inherit;font-size:.72rem;font-weight:800;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.messages-inline-link::before{content:"\1F310";display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;background:transparent;color:inherit;font-size:.62rem;font-weight:900}
.messages-inline-link:hover,.messages-inline-link:focus-visible{background:rgba(255,225,216,.96);border-color:rgba(217,68,38,.42);color:#7f2d1d;outline:none;transform:translateY(-1px)}
.messages-translation-box{margin-top:6px;padding:7px;border-radius:10px;background:#efe5d8;border:1px solid rgba(125,95,68,.12)}
.messages-translation-label{margin-bottom:4px;color:var(--muted);font-size:.68rem;font-weight:800}
.messages-mobile-lock-scroll{overflow:hidden}
.messages-compose-head{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(95,71,49,.10)}
.messages-compose{display:grid;gap:10px}
.messages-compose textarea{min-height:calc(1em + 18px);height:calc(1em + 18px);line-height:1.3;max-height:120px;resize:vertical;padding-top:8px;padding-bottom:8px}
.messages-compose-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.messages-auth-card .btn,
.messages-mail-shell .btn,
.messages-announcements-card .btn{
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(125,95,68,.24);
  background:#f4e2cf;
  color:#4a3528;
  box-shadow:0 3px 10px rgba(77,51,28,.08);
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;
}
.messages-auth-card .btn:hover,
.messages-auth-card .btn:focus-visible,
.messages-mail-shell .btn:hover,
.messages-mail-shell .btn:focus-visible,
.messages-announcements-card .btn:hover,
.messages-announcements-card .btn:focus-visible{
  outline:none;
  background:#ecd4bc;
  border-color:rgba(125,95,68,.30);
  color:#33261d;
  box-shadow:0 5px 14px rgba(77,51,28,.10);
  transform:translateY(-1px);
}
.messages-auth-card .btn-primary,
.messages-mail-shell .btn-primary,
.messages-announcements-card .btn-primary{
  background:#dec0a3;
  border-color:rgba(125,95,68,.30);
  color:#2f231b;
  box-shadow:0 5px 14px rgba(77,51,28,.12);
}
.messages-auth-card .btn-primary:hover,
.messages-auth-card .btn-primary:focus-visible,
.messages-mail-shell .btn-primary:hover,
.messages-mail-shell .btn-primary:focus-visible,
.messages-announcements-card .btn-primary:hover,
.messages-announcements-card .btn-primary:focus-visible{
  background:#ddc1a6;
  border-color:rgba(125,95,68,.28);
  color:#33261d;
}
.faq-card{text-align:left}
.faq-list{display:grid;gap:14px;max-width:860px;margin:0 auto}
.faq-item{padding:18px 20px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.faq-item h2{font-size:1.05rem;text-align:left;margin-bottom:10px}
.faq-item p{margin:0;color:var(--muted)}

@media (max-width:900px){
  .forum-panel-card{padding:16px;border-radius:18px}
  .wall-post-head{flex-direction:column;align-items:stretch}
  .wall-post-stats{justify-content:flex-start}
  .wall-post-actions .btn{width:100%}
  .wall-post-actions .wall-heart-btn{width:auto}
  .forum-auth-forms{grid-template-columns:1fr}
  .forum-category-actions .btn,.forum-role-actions .btn{width:100%}
  .forum-thread-head{grid-template-columns:44px minmax(0,1fr);gap:10px}
  .forum-thread-author-block{grid-column:1}
  .forum-thread-copy{grid-column:2}
  .forum-thread-copy .meta a{font-weight:700}
  .forum-thread-actions{grid-column:1 / -1;justify-content:flex-start}
  .forum-thread-actions-top{grid-column:1 / -1;justify-content:flex-start}
  .forum-reply-meta{grid-template-columns:1fr;gap:8px}
  .forum-reply-author{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}
  .forum-reply-author strong a{font-weight:700}
  .forum-avatar-link{align-self:start}
  .forum-reply-author-stack{align-self:start}
  .forum-thread-avatar,.forum-reply-avatar{width:34px;height:34px}
  .forum-reply-actions .btn{width:100%}
  .forum-reply-actions .forum-heart-btn{width:auto}
  .forum-category-top{grid-template-columns:1fr}
  .forum-category-toggle{width:100%}
  .forum-inline-thread-head .btn{width:100%}
  .forum-profile-dialog-overlay{padding:12px}
  .forum-profile-dialog-card{padding:18px;max-height:calc(100vh - 24px)}
  .forum-profile-dialog-layout{grid-template-columns:1fr}
  .forum-search-toolbar{padding:14px}
  .forum-category-list,.forum-admin-list,.forum-role-list{gap:10px}
  .forum-thread-card,.forum-reply-item{padding:13px}
  .profile-page-shell{grid-template-columns:1fr}
  .profile-summary-head{grid-template-columns:1fr}
  .profile-avatar-large-wrap{width:100%;max-width:180px}
  .messages-mail-shell{grid-template-columns:1fr}
  .messages-conversations-pane{position:static;max-height:none;overflow:visible;padding-right:0}
  .messages-main-card{height:auto;min-height:0}
  .messages-thread-header{position:static}
  .messages-body{position:static}
  .messages-message-list{height:auto;min-height:0}
  .messages-thread-list{grid-template-columns:1fr}
  .messages-auth-cta .btn,.messages-compose-actions .btn,.forum-reply-actions-inline .btn{width:100%}
  .messages-compose-actions{align-items:stretch}
}

@media (max-width:700px){
  .messages-mail-shell,.messages-announcements-card{padding:12px}
  .profile-avatar-grid{grid-template-columns:1fr}
  .profile-photo-choice{width:100%}
  .profile-photo-choice .btn{flex:1 1 0}
  .messages-main-pane{display:none}
  .messages-mail-shell.messages-mobile-thread-open .messages-main-pane{display:block;position:fixed;inset:0;z-index:1400;background:#fbf7f1;overflow:hidden}
  .messages-mail-shell.messages-mobile-thread-open .messages-main-card{height:min(90vh, calc(100vh - 20px));margin:5vh 0 0;padding:8px 8px calc(10px + env(safe-area-inset-bottom, 0px));border-radius:18px 18px 0 0;box-shadow:none;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;border:none;background:#fbf7f1;overflow:hidden}
  .messages-mail-shell.messages-mobile-thread-open .messages-thread-header{margin-bottom:0;padding:0 0 8px;border-bottom:1px solid rgba(95,71,49,.08)}
  .messages-mail-shell.messages-mobile-thread-open .messages-thread-header h2{font-size:1.05rem;margin-bottom:4px}
  .messages-mail-shell.messages-mobile-thread-open .messages-thread-header .meta{font-size:.82rem;line-height:1.3}
  .messages-mail-shell.messages-mobile-thread-open .messages-body{min-height:0}
  .messages-mail-shell.messages-mobile-thread-open .messages-message-list{max-height:none;height:100%;padding:4px;border:none;border-radius:0;background:transparent;gap:6px}
  .messages-mail-shell.messages-mobile-thread-open .messages-message{padding:8px 9px;border-radius:12px;max-width:92%}
  .messages-mail-shell.messages-mobile-thread-open .messages-message-meta{margin-bottom:4px;font-size:.72rem;gap:4px}
  .messages-mail-shell.messages-mobile-thread-open .messages-compose-card{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom, 0px));border-top:1px solid rgba(95,71,49,.08)}
  .messages-mail-shell.messages-mobile-thread-open .messages-compose{gap:8px}
  .messages-mail-shell.messages-mobile-thread-open .messages-compose textarea{min-height:64px;padding:10px 12px}
  .messages-mail-shell.messages-mobile-thread-open .messages-compose-actions{gap:6px}
  .messages-mail-shell.messages-mobile-thread-open .messages-compose-actions .meta{font-size:.76rem}
  .messages-main-card{padding:12px}
  .messages-sidebar-head{margin-bottom:12px;padding-bottom:10px;gap:8px}
  .messages-conversations-pane .messages-sidebar-head .meta{max-width:none}
  .messages-thread-card{padding:11px 12px;border-radius:14px}
  .messages-thread-card-head{gap:6px;margin-bottom:6px}
  .messages-thread-card .meta{font-size:.9rem;line-height:1.35}
  .messages-thread-card-meta{margin-top:6px;font-size:.78rem}
  .messages-thread-header{margin-bottom:12px;padding-bottom:10px}
  .messages-thread-header h2{font-size:1.2rem}
  .messages-thread-header .meta{font-size:.94rem}
  .messages-thread-header-main{gap:8px}
  .messages-thread-header-avatar-image{width:24px;height:24px}
  .messages-empty-state{padding:14px;border-radius:14px}
  .messages-message-list{max-height:420px;padding:8px;border-radius:14px;gap:8px}
  .messages-message{max-width:100%;padding:9px 10px;border-radius:14px}
  .messages-message-meta{margin-bottom:6px;font-size:.8rem;gap:6px}
  .messages-message-row{gap:6px}
  .messages-message-icon-rail{gap:4px;padding-top:1px}
  .messages-icon-action{width:24px;height:24px;font-size:.72rem}
  .messages-compose-card{padding-top:10px}
  .messages-compose textarea{min-height:76px}
  .messages-compose-actions{gap:8px}
  .messages-thread-header-actions{width:100%;justify-content:space-between}
.messages-thread-header-actions .btn{width:auto}
}

.text-game-shell{overflow:hidden}
.text-game-hero-actions{margin-top:10px;display:flex;justify-content:center}
.text-game-hero-actions .btn{padding:3px 6px;min-height:0}
.text-game-reopen-wrap{margin:0 0 8px}
.text-game-reopen-btn{padding:3px 6px;min-height:0;font-size:.74rem}
.text-game-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:24px;align-items:start}
.text-game-grid.text-game-grid-expanded{grid-template-columns:minmax(0,1fr)}
.text-game-panel{border:1px solid rgba(95,71,49,.10);border-radius:22px;background:rgba(255,252,247,.94);padding:16px;box-shadow:0 12px 26px rgba(77,52,35,.06)}
.text-game-sidebar{display:grid;gap:12px}
.text-game-sidebar.text-game-sidebar-collapsed{width:176px;min-width:176px}
.text-game-grid.text-game-grid-expanded .text-game-sidebar{display:none}
.text-game-sidebar.text-game-sidebar-collapsed .text-game-player,
.text-game-sidebar.text-game-sidebar-collapsed .text-game-block:not(:first-child){display:none}
.text-game-sidebar.text-game-sidebar-collapsed .text-game-block:first-of-type{margin:0}
.text-game-block-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}
.text-game-player{display:flex;align-items:center;gap:14px}
.text-game-avatar{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;font-weight:800;font-size:1.1rem;color:#fff;background:linear-gradient(180deg,#ff7f50,#c84a22);box-shadow:0 8px 18px rgba(200,74,34,.18)}
.text-game-block h3,.text-game-main h2{margin:0 0 8px}
.text-game-stats{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.text-game-stats li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:14px;background:#fff;border:1px solid rgba(95,71,49,.08)}
.text-game-regen{margin:8px 0 0;font-size:.82rem}
.text-game-tags{display:flex;flex-wrap:wrap;gap:8px}
.text-game-tags span{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid rgba(95,71,49,.08);font-size:.85rem}
.text-game-quest{padding:8px 10px;border-radius:12px;background:#fff;border:1px solid rgba(95,71,49,.08);font-size:.84rem;line-height:1.4}
.text-game-areas{display:grid;gap:10px}
.text-game-areas .btn{text-align:left;justify-content:flex-start;padding:3px 6px;min-height:0}
.text-game-areas .btn.active{background:#4d3625;color:#fff;border-color:#4d3625}
.text-game-areas .btn:disabled{opacity:.45;cursor:not-allowed}
.text-game-main{display:grid;gap:14px}
.text-game-terminal{background:linear-gradient(180deg,#2f241d,#1e1712);color:#f8efe8;border-radius:22px;padding:16px;border:1px solid rgba(95,71,49,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.text-game-terminal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.10)}
.text-game-terminal-head h2{margin:0;color:#fff}
.text-game-coords{font-size:.88rem;color:#d7c5b6}
.text-game-log{display:grid;gap:8px;margin-bottom:12px;min-height:220px}
.text-game-entry{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);line-height:1.45}
.text-game-entry.system{background:rgba(246,207,104,.10);border-color:rgba(246,207,104,.28);color:#ffecb1}
.text-game-entry.reward{background:rgba(120,201,124,.10);border-color:rgba(120,201,124,.24);color:#d7ffd0}
.text-game-hint-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.text-game-hint{padding:3px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#f8efe8;font:inherit;font-size:.74rem;cursor:pointer}
.text-game-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.text-game-actions .btn{padding:3px 6px;min-height:0}
.text-game-area-view{margin:0 0 10px}
.text-game-area-view .btn{padding:3px 6px;min-height:0}
.text-game-command{display:grid;gap:8px}
.text-game-command-label{font-size:.82rem;color:#d7c5b6}
.text-game-command-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.text-game-command input{min-width:0;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff}
.text-game-command input::placeholder{color:#d7c5b6}
.text-game-verbs{display:flex;flex-wrap:wrap;gap:6px}
.text-game-verbs .btn{padding:2px 5px;font-size:.74rem;min-height:0}
.text-game-collapse-btn{padding:2px 5px;font-size:.74rem;min-height:0}
.text-game-feed{display:grid;gap:12px}
.text-game-feed-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.text-game-hints{display:grid;gap:8px}
.text-game-hints article{padding:12px 14px;border-radius:16px;background:#fff;border:1px solid rgba(95,71,49,.08)}
.text-game-hints article p{margin:6px 0 0}
.text-game-window-mode .section{max-width:none}
.text-game-window-mode{background:
    radial-gradient(circle at top, rgba(255,244,228,.96), rgba(244,229,210,.9) 40%, rgba(236,221,202,.92) 100%);
  min-height:100vh}
.standalone-game-page{padding:10px}
.text-game-window-mode .section{padding:0}
.text-game-window-mode .text-game-shell{border-radius:18px}
.text-game-window-mode .text-game-grid{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}
.text-game-window-mode .text-game-terminal{min-height:70vh}
.text-game-area-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:16px}
.text-game-area-modal-backdrop{position:absolute;inset:0;background:rgba(22,16,12,.72)}
.text-game-area-modal-card{position:relative;z-index:1;width:min(960px,96vw);background:#fffaf5;border:1px solid rgba(95,71,49,.10);border-radius:18px;padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.text-game-area-modal-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.text-game-area-modal-head .btn{padding:3px 6px;min-height:0}
.text-game-area-modal img{display:block;width:100%;height:auto;max-height:82vh;object-fit:contain;border-radius:12px}
.survey-shell{display:grid;gap:18px;max-width:860px;margin:0 auto}
.survey-form{display:grid;gap:30px;max-width:760px;margin:0 auto;width:100%}
.survey-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;justify-items:center;margin-bottom:6px}
.survey-row > *{justify-self:center;max-width:100%}
.survey-label-group{font-weight:700;color:#2f231b;max-width:52ch;text-align:center;width:fit-content}
.survey-scale-group{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;width:auto;max-width:100%;margin:0 auto}
.survey-scale-word{font-size:.82rem;color:#6e5a48;min-width:72px}
.survey-scale-word-low{text-align:right}
.survey-scale-word-high{text-align:left}
.survey-scale-group select,.survey-notes textarea{width:100%;padding:12px 14px;border-radius:18px;border:1px solid rgba(95,71,49,.14);font:inherit;background:#fff}
.survey-device-group{display:grid;justify-items:center;width:100%}
.survey-device-group select{width:min(100%,420px);max-width:420px}
.survey-dot-option{display:inline-flex;align-items:center;justify-content:center;position:relative}
.survey-dot-option input{position:absolute;opacity:0;pointer-events:none}
.survey-dot-option span{width:34px;height:34px;border-radius:999px;border:2px solid rgba(95,71,49,.16);display:grid;place-items:center;font-size:.84rem;font-weight:800;color:#2f231b;background:#fff;cursor:pointer}
.survey-dot-option input:checked + span{border-color:#2f231b;box-shadow:0 0 0 2px rgba(47,35,27,.12)}
.survey-dot-1 span{background:#e66e6e}
.survey-dot-2 span{background:#ef9958}
.survey-dot-3 span{background:#e8c95a}
.survey-dot-4 span{background:#9ed46d}
.survey-dot-5 span{background:#57be6b}
.survey-notes{display:grid;gap:8px;justify-items:center}
.survey-notes label{font-weight:700;color:#2f231b;text-align:center}
.survey-notes textarea{width:min(100%,760px);max-width:760px}
.survey-thanks-modal{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:16px}
.survey-thanks-backdrop{position:absolute;inset:0;background:rgba(24,16,12,.66)}
.survey-thanks-card{position:relative;z-index:1;width:min(560px,96vw);padding:22px;border-radius:26px;background:#fffaf5;border:1px solid rgba(95,71,49,.12);box-shadow:0 18px 46px rgba(0,0,0,.24);display:grid;gap:14px}
@media (max-width: 900px){
  .text-game-grid{grid-template-columns:1fr}
  .text-game-terminal-head,.text-game-feed-head{display:grid}
  .text-game-command-row{grid-template-columns:1fr}
  .survey-row{grid-template-columns:1fr}
  .survey-shell{gap:14px}
  .survey-form{gap:24px}
  .survey-row{gap:12px}
  .survey-label-group{font-size:1.02rem;line-height:1.35}
  .survey-scale-group{
    display:grid;
    grid-template-columns:minmax(50px,auto) repeat(5, 36px) minmax(50px,auto);
    gap:4px;
    align-items:center;
    justify-content:start;
  }
  .survey-device-group{display:block}
  .survey-device-group select{max-width:none;width:100%}
  .survey-scale-word{min-width:auto;font-size:.82rem}
  .survey-scale-word-low{text-align:left}
.survey-dot-option span{width:36px;height:36px;font-size:.88rem}
  .survey-notes textarea{min-height:140px}
}

@media (max-width: 720px){
  .site-footer{left:0;right:0;width:100vw;max-width:100vw;padding-left:10px;padding-right:10px;flex-wrap:wrap;justify-content:center;border-radius:0}
  .site-footer-links{width:100%;justify-content:center}
}
