:root{--shell-outer: #ecf3f5;--shell-canvas: #f5f9fa;--shell-panel: rgba(255, 255, 255, .96);--shell-subtle: #f2f7f9;--shell-inset: #e2edf1;--shell-border: #cfdee5;--shell-hairline: #dbe7eb;--accent: #4f879a;--accent-strong: #123d57;--accent-soft: #d8e8ee;--warning-soft: #fdf1d6;--stamp: #b8533e;--ink-strong: #163447;--ink: #29495b;--ink-muted: #5c7482;--success: #236d59;--danger: #a93a2a;--panel-shadow: 0 18px 34px rgba(18, 61, 87, .06);--card-shadow: 0 12px 24px rgba(18, 61, 87, .05);font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink-strong);background:linear-gradient(90deg,rgba(18,61,87,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(18,61,87,.03) 1px,transparent 1px),linear-gradient(180deg,var(--shell-outer) 0%,var(--shell-canvas) 58%,#ffffff 100%);background-size:32px 32px,32px 32px,auto;font-synthesis:none;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}.page-shell,.entry-page{min-height:100vh;padding:24px}.page-shell{display:grid;place-items:center}.page-panel,.entry-page__panel{width:min(100%,1120px);margin:0 auto;padding:28px;border:1px solid var(--shell-border);border-top:4px solid var(--accent-strong);border-radius:0;background:linear-gradient(180deg,#fffffffa,#f6fafbf0);box-shadow:var(--panel-shadow)}.page-panel{display:grid;gap:28px}.page-panel__brand{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding-bottom:18px;border-bottom:1px solid var(--shell-hairline)}.page-panel__brand-copy{display:grid;gap:4px}.page-panel__brand-kicker,.page-panel__brand-line{margin:0}.page-panel__brand-kicker{color:var(--accent-strong);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.page-panel__brand-line{color:var(--ink-muted);font-size:.92rem;letter-spacing:.05em}.page-panel__logo,.entry-page__logo{height:auto;width:clamp(160px,22vw,250px);object-fit:contain}.page-panel__meta{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,.9fr);gap:24px;align-items:start}.page-panel__intro h1{margin:0;font-size:clamp(2rem,4.3vw,3.25rem);line-height:.98;letter-spacing:-.04em}.page-panel__aside{display:grid;gap:12px;justify-items:stretch}.eyebrow{margin:0 0 14px;color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.lead{margin:16px 0 0;max-width:52ch;color:var(--ink);font-size:1.03rem}.status-pill{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;padding:10px 14px;border:1px solid var(--shell-border);border-left:4px solid currentColor;border-radius:0;background:#f8fbfc;color:var(--accent-strong);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.status-pill__dot{width:10px;height:10px;border-radius:0;background:currentColor}.status-pill--collecting{background:var(--warning-soft);color:#8b5b16}.status-pill--voting{background:var(--accent-soft);color:var(--accent-strong)}.status-pill--closed{background:#b8533e1f;color:var(--stamp)}.vote-counter-card{display:grid;gap:6px;padding:16px 18px;border:1px solid var(--shell-border);border-left:4px solid var(--accent-strong);border-radius:0;background:linear-gradient(180deg,#f2f7f9eb,#ffffffe6)}.vote-counter-card__label{color:var(--ink-muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.vote-counter{color:var(--accent-strong);font-size:1.35rem;font-weight:700}.form-stack{display:grid;gap:18px}.field{display:grid;gap:10px;color:var(--ink-strong);font-weight:700}.field input,.field textarea{width:100%;padding:15px 16px;border:1px solid var(--shell-border);border-radius:0;background:#fff;color:var(--ink-strong);font:inherit;transition:border-color .16s ease,outline-color .16s ease,background .16s ease}.field input:focus,.field textarea:focus{outline:3px solid rgba(18,61,87,.12);outline-offset:1px;border-color:#123d578c;background:#fff}.field textarea{resize:vertical}.page-panel__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid var(--shell-hairline)}.helper-text{margin:0;max-width:42ch;color:var(--ink-muted)}.helper-text--success{color:var(--success)}.helper-text--error{color:var(--danger)}.notice-banner{display:grid;gap:6px;padding:16px 18px;border:1px solid var(--shell-border);border-left:4px solid var(--accent);border-radius:0;background:linear-gradient(180deg,#fffffffa,#f4f9fafa)}.notice-banner--success{border-color:#236d5933;border-left-color:var(--success);background:linear-gradient(180deg,#236d5914,#fff 78%)}.notice-banner--error{border-color:#a93a2a33;border-left-color:var(--danger);background:linear-gradient(180deg,#a93a2a14,#fff 78%)}.notice-banner__title,.notice-banner__message{margin:0}.notice-banner__title{color:var(--ink-strong);font-size:1rem;font-weight:700}.notice-banner__message{color:var(--ink)}.card-stack{display:grid;gap:16px}.activity-board{display:grid;gap:18px}.activity-board--voting,.activity-board--results,.activity-board--public{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start}.activity-board__side,.activity-board__main{display:grid;gap:14px}.activity-board__metric{padding:18px 18px 20px;border:1px solid var(--shell-border);border-left:4px solid var(--accent-strong);border-radius:0;background:linear-gradient(180deg,#f2f7f9f0,#ffffffe6)}.activity-board__metric-label{margin:0;color:var(--ink-muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.activity-board__metric strong{display:block;margin-top:10px;color:var(--ink-strong);font-size:clamp(1.1rem,2.5vw,1.45rem)}.activity-board__section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.activity-board__section-label,.entry-page__section-label{margin:0 0 8px;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.activity-board__section-head h2,.entry-page__section-head h2{margin:0;color:var(--ink-strong);font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.08}.activity-board__section-note{margin:0;max-width:34ch;color:var(--ink-muted);text-align:right}.ballot-card{position:relative;display:grid;gap:18px;padding:24px 22px 22px;border:1px solid var(--shell-border);border-top:4px solid var(--accent-strong);border-radius:0;background:linear-gradient(180deg,#fff,#f9fcfd);box-shadow:var(--card-shadow)}.ballot-card--voted{border-color:#5aa0b89e;border-top-color:var(--accent);background:linear-gradient(180deg,#5aa0b814,#fff 30%)}.ballot-card--results{border-top-color:var(--stamp);background:linear-gradient(180deg,#b8533e0d,#fff 34%)}.ballot-card--public{border-top-color:#0e5f47;background:linear-gradient(180deg,#0e5f470f,#fff 30%)}.ballot-card__header,.ballot-card__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ballot-card__title-group,.ballot-card__header-side,.ballot-card__author{display:grid;gap:6px}.ballot-card__header-side{justify-items:end}.ballot-card__label,.ballot-card__author-label{margin:0;color:var(--ink-muted);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.ballot-card__header h2{margin:0;color:var(--ink-strong);font-size:1.32rem;line-height:1.18}.ballot-card__rank{margin:0;color:var(--stamp);font-size:.92rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ballot-card__badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:0;background:transparent;border:1px solid currentColor;color:var(--accent-strong);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ballot-card__badge--readonly{background:#1b4b6714;color:var(--accent-strong)}.ballot-card__summary{margin:0;color:var(--ink);font-size:1rem}.ballot-card__score{color:var(--accent-strong);font-size:1.12rem;letter-spacing:.04em;white-space:nowrap}.ballot-card__author small{color:var(--ink);font-size:.96rem}.submission-card{display:grid;gap:16px;padding:22px 22px 20px;border:1px solid var(--shell-border);border-top:4px solid var(--accent-strong);border-radius:0;background:linear-gradient(180deg,#fff,#f9fcfd);box-shadow:var(--card-shadow)}.submission-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.submission-card__label{margin:0 0 8px;color:var(--ink-muted);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.submission-card__header h3{margin:0;color:var(--ink-strong);font-size:1.28rem;line-height:1.18}.submission-card__body{margin:0;color:var(--ink);font-size:1rem;white-space:pre-wrap}.submission-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid var(--shell-border);border-radius:0;background:transparent;color:var(--accent-strong);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.submission-badge--pending{background:#5aa0b81a;color:#36697f}.submission-badge--approved{background:#236d591a;color:var(--success)}.submission-badge--rejected{background:#a93a2a1a;color:var(--danger)}.secondary-button,.primary-button,.ghost-button,.entry-page__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease,color .16s ease}.secondary-button{padding:12px 18px;border:1px solid rgba(18,61,87,.35);border-left:4px solid var(--accent-strong);border-radius:0;background:#fff;color:var(--accent-strong);box-shadow:none;letter-spacing:.08em;text-transform:uppercase}.ghost-button{padding:12px 18px;border:1px solid var(--shell-border);border-radius:0;background:transparent;color:var(--ink-strong);letter-spacing:.08em;text-transform:uppercase}.primary-button,.entry-page__link{padding:14px 22px;border:1px solid var(--accent-strong);border-left-width:4px;border-radius:0;background:linear-gradient(180deg,var(--accent-strong),#245b76);color:#fff;box-shadow:0 14px 26px #123d5724;letter-spacing:.08em;text-transform:uppercase}.secondary-button:hover:not(:disabled){background:var(--shell-subtle);border-color:var(--accent-strong)}.ghost-button:hover:not(:disabled){background:#123d570d;border-color:#123d5759}.primary-button:hover:not(:disabled),.entry-page__link:hover{filter:brightness(.96)}.secondary-button:disabled,.primary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.68;box-shadow:none}.empty-state{padding:20px 22px;border:1px solid var(--shell-border);border-left:4px solid var(--accent-strong);border-radius:0;background:linear-gradient(180deg,#f2f7f9e6,#ffffffe6);color:var(--ink)}.empty-state p{margin:0}.entry-page__panel{display:grid;gap:20px}.entry-page__hero,.entry-page__status,.entry-page__card{border:1px solid var(--shell-border);border-top:4px solid var(--accent-strong);border-radius:0;background:linear-gradient(180deg,#fff,#f9fcfd);box-shadow:var(--card-shadow)}.entry-page__hero,.entry-page__status,.entry-page__card{padding:24px}.entry-page__hero{display:grid;gap:18px}.entry-page__hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.entry-page__kicker{margin:0 0 10px;color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.entry-page__hero h1{margin:0;font-size:clamp(2.1rem,4.8vw,3.5rem);line-height:.96;letter-spacing:-.05em}.entry-page__subtitle{margin:0;max-width:64ch;color:var(--ink);font-size:1.02rem}.entry-page__meta{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.entry-page__meta-card{margin:0;padding:15px 15px 16px;border:1px solid var(--shell-hairline);border-left:4px solid var(--accent);border-radius:0;background:linear-gradient(180deg,#f3f8faf0,#ffffffeb)}.entry-page__console{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:16px}.entry-page__meta dt{margin:0;color:var(--ink-muted);font-size:.8rem}.entry-page__meta dd{margin:8px 0 0;color:var(--ink-strong);font-size:1rem;font-weight:700}.entry-page__status{display:grid;gap:18px;border-top-color:var(--accent)}.entry-page__section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.entry-page__status-grid,.entry-page__grid{display:grid;grid-template-columns:1fr;gap:14px}.entry-page__status-card,.entry-page__card{display:grid;gap:10px}.entry-page__card-label{margin:0;color:var(--ink-muted);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.entry-page__status-card h3,.entry-page__card h3{margin:0;color:var(--ink-strong);font-size:1.35rem;line-height:1.14}.entry-page__card-body{margin:0;color:var(--ink)}.entry-page__hint{margin:0;color:var(--accent-strong);font-weight:600}.entry-page__actions{display:grid;gap:14px}.entry-page__card{position:relative;overflow:hidden;border-top-color:var(--stamp)}.entry-page__card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-strong),var(--stamp))}.entry-page__path{margin:0;color:var(--ink-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;word-break:break-all}.admin-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-login-panel{width:min(100%,760px);display:grid;gap:24px;padding:32px;border:1px solid var(--shell-border);border-top:4px solid var(--accent-strong);background:linear-gradient(180deg,#fffffffa,#f4f9fbf0);box-shadow:var(--panel-shadow)}.admin-login-panel__brand,.admin-login-panel__footer,.admin-shell__header,.admin-shell__actions,.admin-shell__brand,.admin-section__head,.admin-activity-card__head,.admin-submission-card__head,.admin-submission-card__row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-login-panel__kicker,.admin-shell__brand-kicker,.admin-shell__eyebrow,.admin-submission-card__eyebrow,.admin-activity-card__slug{margin:0 0 8px;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.admin-login-panel h1,.admin-shell__title,.admin-shell__brand-title{margin:0;line-height:.98;letter-spacing:-.04em}.admin-login-panel h1{font-size:clamp(2.2rem,5vw,3.4rem)}.admin-login-panel__description,.admin-shell__description,.admin-shell__brand-line{margin:12px 0 0;color:var(--ink)}.admin-login-panel__logo{width:clamp(170px,22vw,240px);height:auto}.admin-shell{min-height:100vh;padding:24px}.admin-shell__frame{width:min(100%,1440px);margin:0 auto;display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);border:1px solid var(--shell-border);background:linear-gradient(180deg,#f5f9fafa,#fffffffa);box-shadow:var(--panel-shadow)}.admin-shell__rail{display:grid;gap:28px;align-content:start;padding:26px 22px;border-right:1px solid var(--shell-border);background:linear-gradient(180deg,#e6eff3f2,#f4f8fae6)}.admin-shell__brand-copy{display:grid;gap:2px}.admin-shell__brand-title{font-size:1.6rem}.admin-shell__logo{width:132px;height:auto}.admin-shell__nav{display:grid;gap:10px}.admin-shell__nav-link{padding:12px 14px;border:1px solid transparent;border-left:4px solid transparent;color:var(--ink-strong);text-decoration:none;font-weight:700;letter-spacing:.04em}.admin-shell__nav-link--active,.admin-shell__nav-link:hover{border-color:var(--shell-border);border-left-color:var(--accent-strong);background:#ffffffb8}.admin-shell__main{min-width:0;display:grid;gap:24px;padding:28px}.admin-shell__header-copy{display:grid;gap:6px}.admin-shell__title{font-size:clamp(2rem,3vw,2.9rem)}.admin-shell__actions{flex-wrap:wrap;justify-content:flex-end}.admin-shell__content{display:grid;gap:20px}.admin-section,.admin-metric-card,.admin-overview-card,.admin-activity-card,.admin-submission-card{border:1px solid var(--shell-border);border-radius:0;background:#fff}.admin-section{display:grid;gap:18px;padding:22px}.admin-section__head h3,.admin-submission-card h4,.admin-submission-card h5,.admin-activity-card h3{margin:0}.admin-section__meta{color:var(--ink-muted);font-size:.88rem}.admin-metrics,.admin-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-metric-card,.admin-overview-card{display:grid;gap:10px;padding:18px;border-left:4px solid var(--accent-strong);background:linear-gradient(180deg,#f7fbfcf5,#fffffffa)}.admin-metric-card span,.admin-overview-card span{color:var(--ink-muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.admin-metric-card strong,.admin-overview-card strong{color:var(--ink-strong);font-size:1.08rem}.admin-card-stack,.admin-submission-stack{display:grid;gap:14px}.admin-activity-card,.admin-submission-card{display:grid;gap:16px;padding:20px}.admin-activity-card__head{align-items:center}.admin-activity-card__slug{margin-bottom:6px}.admin-activity-card__meta{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-activity-card__meta dt{color:var(--ink-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.admin-activity-card__meta dd{margin:8px 0 0;color:var(--ink-strong);line-height:1.45}.admin-inline-links{display:flex;flex-wrap:wrap;gap:14px 18px}.admin-inline-links a{color:var(--accent-strong);font-weight:700;text-decoration:none}.admin-inline-links a:hover{text-decoration:underline}.admin-inline-links--dense{gap:10px 16px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-form-grid__footer{display:flex;flex-direction:column;align-items:flex-start;gap:14px;grid-column:1 / -1}.admin-status-actions{display:flex;flex-wrap:wrap;gap:12px}.secondary-button--active{background:var(--accent-soft);border-color:var(--accent-strong)}.admin-readonly-hint{margin:0;padding:14px 16px;border:1px solid rgba(184,83,62,.2);border-left:4px solid var(--stamp);background:#b8533e0f;color:var(--stamp);font-weight:700}.admin-submission-card__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-submission-card__raw,.admin-submission-card__public{display:grid;gap:12px}.admin-submission-card__raw p,.admin-submission-card__missing p{margin:0;color:var(--ink)}.admin-submission-card__editor{display:grid;gap:14px}.admin-checkbox{display:inline-flex;align-items:center;gap:10px;color:var(--ink-strong);font-weight:700}.admin-checkbox input{width:16px;height:16px}.admin-submission-card__missing{display:grid;gap:12px;align-content:start}@media(max-width:920px){.page-panel__meta,.activity-board--public,.activity-board--voting,.activity-board--results,.entry-page__console,.admin-shell__frame,.admin-submission-card__columns{grid-template-columns:1fr}.entry-page__meta,.admin-overview-grid,.admin-metrics,.admin-form-grid,.admin-activity-card__meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.page-shell,.entry-page,.admin-shell,.admin-login-shell{padding:16px}.page-panel,.entry-page__panel,.admin-login-panel,.admin-shell__main{padding:20px;border-radius:0}.page-panel__brand,.entry-page__hero-head,.entry-page__section-head,.activity-board__section-head,.ballot-card__header,.ballot-card__footer,.submission-card__header,.page-panel__footer,.admin-login-panel__brand,.admin-login-panel__footer,.admin-shell__header,.admin-shell__actions,.admin-shell__brand,.admin-section__head,.admin-activity-card__head,.admin-submission-card__head,.admin-submission-card__row{flex-direction:column;align-items:flex-start}.page-panel__logo,.entry-page__logo,.admin-login-panel__logo{width:min(220px,62vw)}.entry-page__meta,.entry-page__status-grid,.entry-page__grid,.admin-overview-grid,.admin-metrics,.admin-form-grid,.admin-activity-card__meta{grid-template-columns:1fr}.activity-board__section-note{text-align:left}.ballot-card__header-side{justify-items:start}.admin-shell__rail{padding:20px;border-right:0;border-bottom:1px solid var(--shell-border)}}
