:root{color:#2d3a31;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#f6f1e7;--panel:#fffaf2;--panel-2:#f3ecdf;--line:#ded3c0;--text:#2d3a31;--muted:#6e786f;--green:#7ea06a;--green-strong:#5d7b4d;--shadow:0 18px 40px #5b4a2b1a;background:#f6f1e7;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;color:var(--text);background:linear-gradient(#f8f3e9 0%,#f3eddf 100%)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}input{color:var(--text);background:#fffdf8;border:1px solid #d9cfbe;border-radius:14px;padding:12px 14px}button{cursor:pointer;border:0}.app-shell{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf2eb;height:100vh;padding:24px 18px;position:sticky;top:0;overflow:auto}.session-card{background:#f5efe1;border:1px solid #e2d8c8;border-radius:18px;flex-direction:column;gap:6px;margin-bottom:18px;padding:14px;display:flex}.session-role{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px}.session-name{font-size:18px;font-weight:700}.session-phone{color:#617066;font-size:14px}.session-logout{margin-top:8px}.brand-block{background:var(--panel);box-shadow:var(--shadow);border-radius:18px;margin-bottom:18px;padding:14px 14px 18px}.brand-title{font-size:20px;font-weight:800}.brand-subtitle,.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.nav-block{flex-direction:column;gap:8px;display:flex}.nav-link{color:#546258;background:0 0;border:1px solid #0000;border-radius:14px;padding:12px 14px;transition:all .2s}.nav-link:hover{background:#f3ecdf;border-color:#eadfcb}.nav-link.is-active{color:#355028;background:#e8f0df;border-color:#c9d9ba;font-weight:700}.content{padding:28px}.route-loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.login-shell{place-items:center;min-height:100vh;padding:32px 16px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);width:min(100%,520px);box-shadow:var(--shadow);border-radius:28px;flex-direction:column;gap:18px;padding:28px;display:flex}.login-card h1{margin:0;font-size:34px}.login-subtitle{color:#526159;margin:0;line-height:1.7}.login-hint-list{flex-wrap:wrap;gap:10px;display:flex}.login-hint-list span,.login-notice,.login-debug-banner,.login-meta,.login-error{border-radius:16px;padding:10px 12px;font-size:14px}.login-hint-list span{color:#56655c;background:#f2ebdd}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:8px;font-weight:600;display:flex}.login-code-row{grid-template-columns:1fr auto;gap:10px;display:grid}.primary-button,.ghost-button{border-radius:16px;padding:12px 16px;font-weight:700}.primary-button{color:#fff;background:#5d7b4d}.primary-button:hover{background:#4f6c41}.ghost-button{color:#456239;background:#edf4e6;border:1px solid #d4e2c8}.ghost-button:hover{background:#e2eed7}.primary-button:disabled,.ghost-button:disabled{opacity:.6;cursor:not-allowed}.login-notice{color:#42607f;background:#eef4fb}.login-debug-banner{color:#7b5a12;background:#fff1c7}.login-meta{color:#5e695f;background:#f4efe3}.login-error{color:#8a3327;background:#fbe7e4}.home-shell,.frame-shell,.page-shell{flex-direction:column;gap:22px;display:flex}.hero-card,.section-card,.group-card,.frame-header,.frame-wrap,.page-hero,.resident-profile-card,.resident-stat-card,.resident-bottom-nav{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px}.hero-card,.section-card,.frame-header,.page-hero,.resident-profile-card{padding:24px}.hero-card h1,.section-card h2,.group-card h3,.frame-header h2,.page-hero h2,.section-card h3,.resident-profile-card h3{margin:8px 0 10px}.hero-card p,.page-hero p,.resident-profile-card p,.resident-copy{color:#516057;margin:0;line-height:1.7}.hero-tags{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.hero-tags span,.open-link,.resident-chip{color:#456239;background:#edf4e6;border:1px solid #d4e2c8;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-weight:600;display:inline-flex}.resident-chip.small{padding:6px 10px;font-size:12px}.bullet-list{color:#55645b;margin:0;padding-left:20px;line-height:1.8}.group-grid,.resident-channel-grid,.resident-stat-grid{gap:18px;display:grid}.group-grid,.resident-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resident-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.group-card{padding:20px}.link-list,.resident-message-list,.resident-link-list{flex-direction:column;gap:10px;display:flex}.jump-link,.resident-message-card,.resident-link-row,.resident-channel-card{background:var(--panel-2);color:#48564d;border:1px solid #e6dccb;border-radius:14px;padding:12px 14px}.jump-link:hover,.resident-link-row:hover{color:#355028;background:#edf4e6}.frame-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.frame-wrap{min-height:calc(100vh - 180px);padding:14px}.prototype-frame{background:#fff;border:0;border-radius:18px;width:100%;min-height:calc(100vh - 210px)}.prototype-meta{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:14px;display:flex}.resident-page-shell,.observer-page-shell,.platform-page-shell{max-width:1080px}.resident-hero{background:linear-gradient(#fffaf2 0%,#f5efe1 100%)}.observer-hero{background:linear-gradient(#f3f6fb 0%,#eef2f9 100%)}.platform-hero{background:linear-gradient(#f7f6ff 0%,#f1eefb 100%)}.resident-channel-card,.resident-message-card,.resident-stat-card,.resident-link-row{background:#fff8ee}.resident-channel-card h4,.resident-message-card h4{margin:12px 0 8px;font-size:18px}.resident-channel-card p,.resident-message-card p,.resident-link-row,.resident-stat-card span{color:#55645b;margin:0;line-height:1.6}.resident-action{color:#48653d;margin-top:12px;font-weight:700;display:inline-flex}.resident-message-top,.resident-link-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.resident-muted{color:var(--muted);font-size:13px}.resident-profile-card{align-items:center;gap:18px;display:flex}.resident-avatar{color:#3d5e30;background:#e5efdb;border:1px solid #cfddc0;border-radius:50%;place-items:center;width:72px;height:72px;font-size:28px;font-weight:800;display:grid}.resident-stat-card{text-align:center;padding:18px}.resident-stat-card strong{color:#365029;margin-bottom:6px;font-size:26px;display:block}.resident-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px;display:grid;position:sticky;bottom:0}.resident-bottom-link{text-align:center;color:#58665d;border-radius:16px;padding:12px 8px;font-weight:600}.resident-bottom-link.is-active{color:#355028;background:#e8f0df}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{background:#f7f9fc;border:1px solid #d8e2ef;border-radius:20px;padding:18px;box-shadow:0 12px 24px #3d517114}.metric-label{color:#66758b;margin-bottom:8px;font-size:13px;display:block}.metric-card strong{color:#2f4568;margin-bottom:6px;font-size:28px;display:block}.metric-card p{color:#607086;margin:0;line-height:1.5}.section-tone-resident-soft{background:#fffaf2}.section-tone-observer-soft{background:#f8fbff;border-color:#d9e4f1}.section-tone-platform-soft{background:#faf8ff;border-color:#ddd6f0}.observer-list{flex-direction:column;gap:12px;display:flex}.observer-card{background:#f2f7fd;border:1px solid #dce7f3;border-radius:18px;padding:16px 18px}.observer-card h4{margin:0;font-size:18px}.observer-card p{color:#5d6d82;margin:8px 0 0;line-height:1.6}.observer-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.observer-muted{color:#6a7b90;font-size:13px}.observer-link{color:#31527d;margin-top:12px;font-weight:700;display:inline-flex}.observer-summary{color:#5d6d82;margin:0;line-height:1.7}.platform-page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-top:2px;padding:0 4px;display:flex}.platform-page-header-copy{flex-direction:column;gap:8px;min-width:0;display:flex}.platform-page-meta-row{flex-wrap:wrap;gap:8px;display:flex}.platform-page-header-side{flex-direction:column;align-items:flex-end;gap:10px;min-width:220px;display:flex}.platform-page-header h3{margin:6px 0 10px;font-size:24px}.platform-page-header p{color:#5e637e;margin:0;line-height:1.7}.platform-module-pill,.platform-template-pill{border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.platform-module-pill{color:#475c84;background:#eef4ff;border:1px solid #d9e2f4}.platform-template-pill{color:#5b4f87;background:#f4efff;border:1px solid #ddd2f5}.platform-action-caption{color:#787292;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.platform-page-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.platform-action-chip{color:#5b478a;background:#efeafe;border:1px solid #d9cff8;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-weight:700;display:inline-flex}.platform-action-chip.tone-primary{color:#fff;background:#6654d9;border-color:#6654d9}.platform-action-chip.tone-secondary{color:#5b478a;background:#efeafe;border-color:#d9cff8}.platform-action-chip.tone-ghost{color:#6a618e;background:#fff;border-color:#ddd6f0}.platform-secondary-nav{flex-direction:column;gap:14px;display:flex}.platform-secondary-nav-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.platform-secondary-hint{color:#726f88;font-size:13px}.platform-secondary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.platform-secondary-item{background:#f4f1fc;border:1px solid #ddd6f0;border-radius:18px;padding:14px 16px;transition:background-color .12s,border-color .12s,transform .12s;display:block}.platform-secondary-item.is-active{background:#ece5ff;border-color:#cdbef7}.platform-secondary-item.is-disabled{opacity:.72}.platform-secondary-item:hover{transform:translateY(-1px)}.platform-secondary-label{color:#433768;font-weight:700}.platform-secondary-path{color:#7b7696;margin-top:6px;font-size:12px}.observer-topline-start{align-items:flex-start}.platform-two-column-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;display:grid}.platform-stack-gap{flex-direction:column;gap:14px;display:flex}.platform-inline-copy{color:#5f6480;margin:0;line-height:1.7}.platform-scaffold-section{flex-direction:column;gap:20px;display:flex}.platform-section-heading{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.platform-section-meta-row{flex-wrap:wrap;gap:8px;display:flex}.platform-section-heading h4{color:#304765;margin:0;font-size:18px}.platform-section-kicker,.platform-section-kind{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;width:fit-content;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.platform-section-kicker{color:#65568e;background:#f1ecff}.platform-section-kind{color:#4d638b;background:#eef4ff}.filter-bar{flex-wrap:wrap;gap:10px;display:flex}.filter-chip{color:#5e7086;cursor:default;background:#f4f8fc;border:1px solid #d6e1ef;border-radius:999px;padding:10px 14px;font-weight:600}.filter-chip.is-active{color:#36537a;background:#e5eef9;border-color:#c8d8eb}.list-row-group{flex-direction:column;gap:12px;display:flex}.list-row{background:#f4f8fc;border:1px solid #dce7f3;border-radius:18px;padding:16px 18px}.list-row-top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.list-row-title{color:#304765;font-size:17px;font-weight:700}.list-row-meta{color:#6a7b90;margin-top:4px;font-size:13px}.list-row-aside{flex-shrink:0}.list-row-description{color:#5d6d82;margin:10px 0 0;line-height:1.65}.status-pill{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.tone-amber{background:linear-gradient(#fff4dd 0%,#fff8ee 100%)}.status-pill.tone-amber{color:#8a5b0f;background:#fff0cf;border-color:#f0d7a2}.tone-peach{background:linear-gradient(#fff0e6 0%,#fff8ee 100%)}.status-pill.tone-peach{color:#8a5130;background:#ffe7db;border-color:#efcfbe}.tone-lavender{background:linear-gradient(#f5efff 0%,#fff8ee 100%)}.status-pill.tone-lavender{color:#6a4a9f;background:#efe6ff;border-color:#d9caf4}.tone-mint{background:linear-gradient(#eaf7ef 0%,#fff8ee 100%)}.tone-green{background:linear-gradient(#edf6e8 0%,#fff8ee 100%)}.status-pill.tone-green{color:#3e6630;background:#e6f2df;border-color:#c8ddbb}.tone-gold{background:linear-gradient(#f9f0d9 0%,#fff8ee 100%)}@media (width<=980px){.app-shell{grid-template-columns:1fr}.platform-page-header,.platform-secondary-nav-top,.platform-page-header-side{flex-direction:column;align-items:flex-start}.platform-secondary-list{grid-template-columns:1fr}.platform-page-header-side{min-width:0}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.content{padding:18px}.group-grid,.resident-channel-grid,.resident-stat-grid,.metric-grid,.platform-two-column-layout{grid-template-columns:1fr}.frame-header,.resident-profile-card{flex-direction:column;align-items:flex-start}.frame-wrap{min-height:72vh}.prototype-frame{min-height:68vh}}.community-hero{background:linear-gradient(135deg,#c4a97d 0%,#a68b5b 30%,#8b7355 60%,#6b5b3e 100%);border-radius:0 0 24px 24px;width:100%;height:220px;margin-bottom:24px;position:relative;overflow:hidden}.community-hero-overlay{background:linear-gradient(#0000 40%,#2d3a318c 100%);position:absolute;inset:0}.community-hero-text{color:#fff;position:absolute;bottom:20px;left:20px;right:20px}.community-hero-text h1{text-shadow:0 1px 4px #0000004d;margin:0 0 4px;font-size:1.5rem;font-weight:700}.community-hero-text p{opacity:.9;margin:0;font-size:.9rem}.suggestion-feed{flex-direction:column;gap:12px;display:flex}.suggestion-feed-card{background:var(--panel);border-radius:14px;padding:16px 18px;transition:box-shadow .2s,transform .2s;display:block;box-shadow:0 2px 8px #5b4a2b0f}.suggestion-feed-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #5b4a2b1f}.suggestion-feed-card .feed-card-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.suggestion-feed-card .feed-card-title{color:var(--text);margin:0 0 6px;font-size:1.02rem;font-weight:600;line-height:1.4}.suggestion-feed-card .feed-card-meta{color:var(--muted);align-items:center;gap:10px;margin-bottom:4px;font-size:.82rem;display:flex}.suggestion-feed-card .feed-card-excerpt{color:var(--muted);margin:6px 0 0;font-size:.84rem;line-height:1.45}.feed-section-title{color:var(--text);margin:20px 0 10px;padding-left:2px;font-size:1.05rem;font-weight:700}.channel-grid-warm{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.channel-card-warm{background:var(--panel);text-align:center;border-radius:14px;padding:18px 14px;transition:box-shadow .2s,transform .2s;display:block;box-shadow:0 2px 8px #5b4a2b0f}.channel-card-warm:hover{transform:translateY(-1px);box-shadow:0 4px 16px #5b4a2b1f}.channel-card-warm .channel-emoji{margin-bottom:6px;font-size:2rem}.channel-card-warm h4{color:var(--text);margin:0 0 4px;font-size:.98rem;font-weight:700}.channel-card-warm p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.35}.channel-card-warm .channel-badge{color:#8b7355;background:#f3ecdf;border-radius:10px;margin-top:8px;padding:2px 8px;font-size:.7rem;display:inline-block}.message-list-warm{flex-direction:column;gap:10px;display:flex}.message-card-warm{background:var(--panel);border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex;box-shadow:0 1px 4px #5b4a2b0d}.message-card-warm .msg-dot{background:#e8a849;border-radius:50%;width:8px;min-width:8px;height:8px;margin-top:6px}.message-card-warm .msg-body{flex:1;min-width:0}.message-card-warm .msg-body h4{color:var(--text);margin:0 0 3px;font-size:.95rem;font-weight:600;line-height:1.35}.message-card-warm .msg-body .msg-meta{color:var(--muted);font-size:.78rem}.profile-header-warm{text-align:center;padding:28px 0 16px}.profile-avatar-placeholder{color:#fff;background:linear-gradient(135deg,#c4a97d,#a68b5b);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 12px;font-size:2rem;display:flex}.profile-header-warm h2{margin:0 0 2px;font-size:1.2rem;font-weight:700}.profile-header-warm .profile-sub{color:var(--muted);font-size:.82rem}.profile-stat-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-around;margin:8px 0 16px;padding:12px 0;display:flex}.profile-stat-row .stat-item{text-align:center}.profile-stat-row .stat-num{color:var(--text);font-size:1.3rem;font-weight:700}.profile-stat-row .stat-label{color:var(--muted);font-size:.75rem}.profile-link-list{flex-direction:column;display:flex}.profile-link-row{border-bottom:1px solid var(--line);color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;padding:14px 0;font-size:.94rem;display:flex}.profile-link-row:last-child{border-bottom:none}.profile-link-row .link-arrow{color:var(--muted);font-size:.82rem}.compose-actions{flex-direction:column;gap:14px;padding:12px 0;display:flex}.compose-action-card{background:var(--panel);cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:20px 18px;transition:box-shadow .2s;display:flex;box-shadow:0 2px 8px #5b4a2b0f}.compose-action-card:hover{box-shadow:0 4px 16px #5b4a2b1f}.compose-action-card .compose-emoji{text-align:center;min-width:52px;font-size:2.2rem}.compose-action-card .compose-info h4{color:var(--text);margin:0 0 3px;font-size:1.02rem;font-weight:700}.compose-action-card .compose-info p{color:var(--muted);margin:0;font-size:.8rem}.compose-action-card .compose-badge{color:#8b7355;white-space:nowrap;background:#f3ecdf;border-radius:10px;margin-left:auto;padding:3px 10px;font-size:.7rem}.work-summary-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px;display:grid}.work-summary-card{background:var(--panel);text-align:center;border-radius:12px;padding:16px 14px;box-shadow:0 1px 4px #5b4a2b0d}.work-summary-card .ws-num{color:var(--text);font-size:1.6rem;font-weight:700}.work-summary-card .ws-label{color:var(--muted);margin-top:2px;font-size:.78rem}.work-quick-actions{gap:10px;margin-bottom:18px;display:flex}.work-quick-btn{text-align:center;background:var(--green);color:#fff;border-radius:12px;flex:1;padding:14px 10px;font-size:.92rem;font-weight:600;transition:background .2s;display:block}.work-quick-btn:hover{background:var(--green-strong)}
