@font-face{font-family:Noto Sans SC;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-sans-sc-chinese-simplified-400-normal.2r00l6tuyxtod.woff2)format("woff2"),url(../media/noto-sans-sc-chinese-simplified-400-normal.3cg64f4p1si9o.woff)format("woff")}
@font-face{font-family:Noto Sans SC;font-style:normal;font-display:swap;font-weight:700;src:url(../media/noto-sans-sc-chinese-simplified-700-normal.2e0i1_a45m_46.woff2)format("woff2"),url(../media/noto-sans-sc-chinese-simplified-700-normal.0yx_yr27dtjyn.woff)format("woff")}
:root{--color-canvas:#f6f7f5;--color-surface:#fff;--color-surface-tint:#ddf1ed;--color-primary:#49ae98;--color-primary-strong:#2f8f7d;--color-primary-soft:#ddf1ed;--color-text:#202523;--color-text-muted:#7e8582;--color-border:#e6ebe9;--color-info:#418ab5;--color-info-bg:#e3f2fa;--color-success:#2f8f7d;--color-success-bg:#dcf2ea;--color-warning:#a96e24;--color-warning-bg:#fff1d8;--color-danger:#f05b60;--color-danger-bg:#fbe3e4;--shadow-card:0 10px 28px #19483e14;--shadow-float:0 12px 32px #17363021;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--font-sans:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html{background:var(--color-canvas)}body{background:var(--color-canvas);min-width:320px;color:var(--color-text);font-family:var(--font-sans);margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}.page-container{width:min(100%,480px);min-height:100dvh;padding:var(--space-5) var(--space-4) calc(var(--space-8) + env(safe-area-inset-bottom));margin:0 auto}.page-container.has-bottom-nav{padding-bottom:calc(114px + env(safe-area-inset-bottom))}.top-bar{align-items:center;gap:var(--space-2);min-height:40px;margin-bottom:var(--space-6);display:flex}.top-bar p{letter-spacing:.01em;margin:0;font-size:18px;font-weight:700}.brand-mark{background:var(--color-primary-soft);width:30px;height:30px;color:var(--color-primary);border-radius:10px;place-items:center;display:inline-grid}.back-link{background:var(--color-surface);width:36px;height:36px;box-shadow:var(--shadow-card);border-radius:50%;place-items:center;font-size:22px;display:inline-grid}.app-main,.stack{gap:var(--space-4);display:grid}.hero-card{gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:linear-gradient(135deg,#dff4f1,#c4e8e2);display:grid}.hero-card h1,.page-heading h1,.empty-state h1{letter-spacing:-.02em;margin:0;font-size:clamp(26px,7vw,34px);line-height:1.2}.hero-card p:not(.eyebrow),.page-heading p:not(.eyebrow),.empty-state p:not(.eyebrow){color:var(--color-text-muted);margin:0;font-size:15px;line-height:1.65}.eyebrow{color:var(--color-primary-strong);letter-spacing:.08em;margin:0;font-size:13px;font-weight:700}.card{gap:var(--space-2);min-width:0;padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);border:1px solid #ffffffb3;display:grid}.card h2{margin:0;font-size:18px;line-height:1.4}.card-description{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.6}.card-actions{margin-top:var(--space-2)}.button{cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;min-width:0;min-height:48px;padding:12px 16px;font-weight:700;line-height:1.35;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.button:active{transform:scale(.98)}.button--primary{background:var(--color-primary);color:#fff;box-shadow:0 6px 16px #43ad9a40}.button--primary:hover{background:var(--color-primary-strong)}.button--secondary{border-color:var(--color-primary-soft);background:var(--color-surface);color:var(--color-primary-strong)}.input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:46px;color:var(--color-text);outline:none;padding:11px 14px}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #43ad9a2e}.status-badge{border-radius:999px;align-items:center;width:fit-content;min-height:26px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-badge--info{background:var(--color-info-bg);color:var(--color-info)}.status-badge--success{background:var(--color-success-bg);color:var(--color-success)}.status-badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.status-badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.bottom-nav{z-index:10;right:max(var(--space-4), calc((100vw - 480px) / 2 + var(--space-4)));bottom:calc(var(--space-3) + env(safe-area-inset-bottom));left:max(var(--space-4), calc((100vw - 480px) / 2 + var(--space-4)));gap:var(--space-1);padding:var(--space-2);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #ffffffd9;border-radius:999px;grid-template-columns:repeat(4,1fr);display:grid;position:fixed}.bottom-nav-link{min-width:0;color:var(--color-text-muted);border-radius:999px;place-items:center;gap:2px;padding:6px 4px;font-size:12px;font-weight:600;display:grid}.bottom-nav-link.is-active{background:var(--color-primary-soft);color:var(--color-primary-strong)}.bottom-nav-icon{font-size:21px;line-height:1}.page-heading{gap:var(--space-2);margin-bottom:var(--space-2);display:grid}.compact-heading{margin-bottom:0}.segmented-control{gap:var(--space-1);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;display:grid}.segmented-option{min-height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;font-weight:700;display:grid}.segmented-option.is-active{background:var(--color-primary);color:#fff;box-shadow:0 8px 18px #49ae9838}.rank-summary-card{gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-md);color:var(--color-text);box-shadow:var(--shadow-card);background:linear-gradient(135deg,#dff4f1,#c4e8e2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.rank-summary-card div{text-align:center;min-width:0}.rank-summary-card p{margin:0 0 var(--space-2);color:#57716b;font-size:12px;font-weight:700}.rank-summary-card strong{overflow-wrap:anywhere;font-size:18px;line-height:1.25;display:block}.rank-placeholder-list{gap:var(--space-3);margin-bottom:var(--space-2);display:grid}.rank-placeholder-row{align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);grid-template-columns:34px minmax(0,1fr) 56px;display:grid}.rank-placeholder-row:last-child{border-bottom:0}.rank-medal-placeholder{background:var(--color-primary-soft);border-radius:50%;width:28px;height:28px}.rank-placeholder-row span:not(.rank-medal-placeholder){background:linear-gradient(90deg,#eef4f2,#ddebe7);border-radius:999px;height:12px;display:block}.rank-placeholder-row span:last-child{background:var(--color-primary-soft)}.ranking-list-card{gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);display:grid}.ranking-list-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ranking-list-heading>div{gap:3px;display:grid}.ranking-list-heading h2{margin:0;font-size:19px}.ranking-list-heading>span{color:var(--color-text-muted);font-size:12px;font-weight:700}.ranking-list{display:grid}.ranking-row{align-items:center;gap:var(--space-3);min-height:66px;padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--color-border);border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;display:grid}.ranking-row:last-child{border-bottom:0}.ranking-row.is-top-rank{background:#f6fbf9}.ranking-row.is-current{box-shadow:inset 3px 0 0 var(--color-primary)}.ranking-position{color:var(--color-text-muted);text-align:center;font-size:14px}.ranking-row.is-top-rank .ranking-position{color:var(--color-primary-strong);font-size:16px}.ranking-copy{gap:4px;min-width:0;display:grid}.ranking-copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.ranking-copy>span{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ranking-score{color:var(--color-primary-strong);font-variant-numeric:tabular-nums;font-size:18px}.empty-state{gap:var(--space-4);max-width:440px;padding-top:12vh;display:grid}.auth-page{min-height:100dvh;padding:var(--space-6) var(--space-4);background:var(--color-canvas);align-items:center;display:grid}.login-card{gap:var(--space-4);width:min(100%,440px);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);border:1px solid #ffffffc2;margin:0 auto;display:grid}.login-card h1{margin:0;font-size:30px;line-height:1.2}.login-intro{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.7}.login-form{gap:var(--space-4);display:grid}.login-form label{gap:var(--space-2);color:var(--color-text);font-size:14px;font-weight:700;display:grid}.login-form .button{width:100%}.form-error{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-danger-bg);color:var(--color-danger);margin:0;font-size:14px;line-height:1.5}.link-button{min-height:44px;color:var(--color-primary-strong);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.auth-boundary-notice{padding:var(--space-2) var(--space-4);background:var(--color-warning-bg);color:var(--color-warning);text-align:center;margin:0 auto;font-size:13px;line-height:1.45}.admin-shell{background:var(--color-canvas);min-height:100dvh}.admin-sidebar{display:none}.admin-content .page-container{max-width:980px}.admin-content .card{max-width:620px}.admin-operations .card{max-width:100%}.admin-notice{min-height:20px;color:var(--color-primary-strong);margin:0;font-size:14px;font-weight:700}.form-grid,.week-grid{gap:var(--space-3);margin:var(--space-4) 0;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.form-grid label,.week-grid label,.card>label{color:var(--color-text);gap:6px;font-size:13px;font-weight:700;display:grid}.week-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.week-grid fieldset{gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin:0;display:grid}.week-grid legend{color:var(--color-primary-strong);padding:0 4px;font-size:13px;font-weight:700}.admin-list{gap:var(--space-2);margin-top:var(--space-3);display:grid}.text-action{width:fit-content;max-width:100%;color:var(--color-primary-strong);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-size:14px;font-weight:700}.issue-list{color:var(--color-danger);gap:6px;margin:0;padding-left:20px;font-size:14px;display:grid}.checkin-form{gap:var(--space-4);display:grid}.checkin-card{gap:var(--space-4);min-width:0;padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);border:1px solid #ffffffc2;display:grid}.checkin-card h2,.next-batch-card h2{margin:2px 0 0;font-size:19px;line-height:1.35}.checkin-card-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.window-chip,.required-chip{border-radius:999px;flex:none;align-items:center;min-height:28px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.window-chip.is-open{background:var(--color-success-bg);color:var(--color-success)}.window-chip.is-closed{background:var(--color-danger-bg);color:var(--color-danger)}.required-chip{background:var(--color-warning-bg);color:var(--color-warning)}.field-label{gap:6px;font-size:13px;font-weight:700;display:grid}.field-help{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.55}.estimated-score{color:var(--color-primary-strong);flex:none;font-size:24px;line-height:1.2}.checkin-item-list{display:grid}.checkin-item-row{align-items:center;gap:var(--space-3);min-height:68px;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 92px;display:grid}.checkin-item-row:last-child{border-bottom:0}.checkin-item-copy{gap:4px;min-width:0;display:grid}.checkin-item-copy strong{font-size:14px;line-height:1.45}.checkin-item-copy small{color:var(--color-text-muted);font-size:11px;line-height:1.45}.checkin-item-title{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.completion-status{background:#f0f3f2;border-radius:999px;flex:none;padding:2px 6px;font-weight:700;color:var(--color-text-muted)!important;font-size:9px!important}.checkin-item-row.is-complete .completion-status{background:var(--color-success-bg);color:var(--color-success)!important}.quantity-control{grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:5px;display:grid}.quantity-control input{border:1px solid var(--color-border);text-align:center;background:#fbfcfc;border-radius:11px;outline:none;width:100%;min-width:0;height:42px;padding:8px}.quantity-control input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #43ad9a29}.quantity-control span{color:var(--color-text-muted);font-size:12px}.checkin-textarea{resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);font:inherit;background:#fbfcfc;outline:none;padding:13px 14px;font-size:14px;line-height:1.65}.checkin-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #43ad9a29}.evidence-picker{background:var(--color-primary-soft);min-height:36px;color:var(--color-primary-strong);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:7px 11px;font-size:12px;font-weight:700;display:inline-flex}.evidence-picker input{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.evidence-grid,.readonly-evidence-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.evidence-tile{gap:5px;min-width:0;display:grid;position:relative}.evidence-tile>img,.readonly-evidence-grid img{aspect-ratio:1;background:var(--color-border);object-fit:cover;border-radius:12px;width:100%}.readonly-evidence-grid button{cursor:zoom-in;background:0 0;border:0;border-radius:12px;min-width:0;padding:0}.readonly-evidence-grid button:focus-visible{outline-offset:2px;outline:3px solid #43ad9a5c}.evidence-lightbox{z-index:80;gap:var(--space-3);padding:max(var(--space-4), env(safe-area-inset-top)) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));color:#fff;background:#0b1613f0;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.evidence-lightbox-toolbar,.evidence-lightbox-navigation{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.evidence-lightbox-toolbar button,.evidence-lightbox-navigation button{color:#fff;cursor:pointer;min-height:40px;font:inherit;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:999px;padding:8px 14px;font-weight:700}.evidence-lightbox-navigation button:disabled{opacity:.35}.evidence-lightbox-navigation span{color:#ffffffb8;text-align:center;font-size:12px}.evidence-lightbox-image-wrap{overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;place-items:center;min-height:0;display:grid;overflow:auto}.evidence-lightbox-image-wrap img{object-fit:contain;touch-action:pinch-zoom;-webkit-touch-callout:default;border-radius:8px;max-width:100%;max-height:100%;display:block}.evidence-overlay{color:#fff;background:#202523ad;border-radius:12px 12px 0 0;justify-content:center;align-items:center;min-height:24px;font-size:10px;font-weight:700;display:flex;position:absolute;top:0;left:0;right:0}.evidence-tile.is-failed .evidence-overlay{background:#f05b60e0}.evidence-tile.is-removed>img{filter:grayscale();opacity:.38}.evidence-tile.is-removed .evidence-overlay{background:#5f6966d1}.evidence-actions{gap:6px;display:flex}.evidence-actions button{background:var(--color-primary-soft);min-height:30px;color:var(--color-primary-strong);cursor:pointer;border:0;border-radius:8px;flex:1;padding:3px;font-size:11px;font-weight:700}.evidence-tile>p{color:var(--color-danger);grid-column:1/-1;margin:0;font-size:10px;line-height:1.35}.evidence-empty{min-height:116px;padding:var(--space-4);border-radius:var(--radius-sm);color:var(--color-text-muted);text-align:center;background:#fbfcfc;border:1px dashed #cfdad7;place-items:center;font-size:12px;line-height:1.6;display:grid}.score-preview-card{align-items:center;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:linear-gradient(135deg,#dff4f1,#c7e9e3);grid-template-columns:112px minmax(0,1fr);display:grid}.score-preview-card div{gap:2px;display:grid}.score-preview-card div p,.score-preview-card>p{margin:0}.score-preview-card div p{color:var(--color-primary-strong);font-size:12px;font-weight:700}.score-preview-card div strong{font-size:34px;line-height:1}.score-preview-card>p{color:#57716b;font-size:12px;line-height:1.6}.checkin-submit-bar{z-index:8;bottom:calc(88px + env(safe-area-inset-bottom));padding:var(--space-2);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #ffffffd6;border-radius:18px;position:sticky}.checkin-submit-bar .button{width:100%}.button:disabled{cursor:not-allowed;opacity:.58}.checkin-history-list{gap:var(--space-3);display:grid}.history-card{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);display:flex}.history-card>div{gap:5px;display:grid}.history-card span{color:var(--color-text-muted);font-size:12px}.history-score{justify-items:end}.history-score strong{color:var(--color-primary-strong);font-size:23px}.checkin-detail-hero,.success-hero{gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:linear-gradient(135deg,#dff4f1,#c4e8e2);display:grid}.checkin-detail-hero>div{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.checkin-detail-hero h1,.success-hero h1{margin:0;font-size:28px;line-height:1.25}.checkin-detail-hero>p:last-child,.success-hero>p:last-child{color:#57716b;margin:0;font-size:13px;line-height:1.6}.detail-item-list{display:grid}.detail-item-list>div{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.detail-item-list>div:last-child{border-bottom:0}.detail-item-list span{gap:4px;display:grid}.detail-item-list small{color:var(--color-text-muted)}.detail-item-list>div>strong{color:var(--color-primary-strong)}.detail-summary{white-space:pre-wrap;color:var(--color-text);margin:0;font-size:14px;line-height:1.75}.edit-entry-card>div{gap:4px;display:grid}.edit-entry-card>p{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.65}.edit-entry-card .button{width:100%}.success-message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-success-bg);color:var(--color-success);margin:0;font-size:14px;font-weight:700;line-height:1.5}.success-hero{text-align:center;place-items:center}.success-hero>span{background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;font-size:32px;display:grid;box-shadow:0 10px 24px #49ae9847}.success-score-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.success-score-grid>div{padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);text-align:center;gap:5px;display:grid}.success-score-grid p{color:var(--color-text-muted);margin:0;font-size:12px;font-weight:700}.success-score-grid strong{color:var(--color-primary-strong);font-size:28px}.next-batch-card p:last-child{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.6}.poster-entry-card>p{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.65}.poster-page-heading{gap:8px}.poster-generator{gap:var(--space-4);display:grid}.poster-preview-frame{aspect-ratio:3/4;border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);background:#fbfaf5;border:1px solid #d9e5e1;position:relative;overflow:hidden}.poster-preview-image{object-fit:contain;-webkit-touch-callout:default;width:100%;height:100%;display:block}.poster-preview-svg,.poster-preview-svg>svg{width:100%;height:100%;display:block}.poster-generation-note{right:var(--space-3);bottom:var(--space-3);left:var(--space-3);color:var(--color-primary-strong);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #ffffffc2;border-radius:14px;gap:2px;padding:10px 12px;display:grid;position:absolute}.poster-generation-note small{color:var(--color-text-muted);font-size:11px}.poster-generation-note.is-error{color:var(--color-danger);background:#fff0f0f0}.poster-placeholder{align-content:center;place-items:center;gap:var(--space-3);height:100%;padding:var(--space-6);color:var(--color-primary-strong);text-align:center;display:grid}.poster-placeholder>span{background:var(--color-primary-soft);border-radius:50%;place-items:center;width:54px;height:54px;font-size:25px;font-weight:700;display:grid}.poster-placeholder>small{max-width:250px;color:var(--color-text-muted);font-size:12px;line-height:1.6}.poster-placeholder.is-error>span{background:var(--color-danger-bg);color:var(--color-danger)}.poster-actions{gap:var(--space-3);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);display:grid}.poster-actions>.button:only-child{grid-column:1/-1}.poster-save-notice,.poster-device-tip{border-radius:var(--radius-sm);margin:0;font-size:12px;line-height:1.6}.poster-save-notice{padding:var(--space-3);background:var(--color-success-bg);color:var(--color-success);font-weight:700}.poster-device-tip{color:var(--color-text-muted);text-align:center}.wechat-share-guide{padding:var(--space-4);border-radius:var(--radius-md);color:var(--color-primary-strong);background:linear-gradient(135deg,#dff4f1,#c8ece5);gap:4px;display:grid}.wechat-share-guide span{color:#57716b;font-size:12px;line-height:1.6}.wechat-poster-overlay{z-index:80;gap:var(--space-3);padding:max(var(--space-3), env(safe-area-inset-top)) var(--space-3) max(var(--space-3), env(safe-area-inset-bottom));color:#fff;background:#11201cf5;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.wechat-poster-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.wechat-poster-toolbar strong{font-size:14px}.wechat-poster-toolbar button{color:#fff;min-height:40px;font:inherit;background:#ffffff1f;border:1px solid #ffffff57;border-radius:999px;padding:8px 14px;font-weight:700}.wechat-poster-image{object-fit:contain;touch-action:pinch-zoom;-webkit-user-select:auto;user-select:auto;-webkit-touch-callout:default;max-width:100%;min-height:0;max-height:100%;margin:auto;display:block}.wechat-poster-overlay>p{color:#ffffffc7;text-align:center;margin:0;font-size:12px;line-height:1.6}.home-recent-list{display:grid}.home-recent-list a{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:13px;display:flex}.home-recent-list a:last-child{border-bottom:0}.home-recent-list strong{color:var(--color-primary-strong)}@media (min-width:481px){.bottom-nav{right:max(var(--space-6), calc((100vw - 480px) / 2 + var(--space-6)));left:max(var(--space-6), calc((100vw - 480px) / 2 + var(--space-6)))}}@media (min-width:768px){.admin-shell{grid-template-columns:228px minmax(0,1fr);display:grid}.admin-sidebar{align-content:start;gap:var(--space-5);padding:var(--space-6) var(--space-5);border-right:1px solid var(--color-border);background:var(--color-surface);display:grid}.admin-sidebar p{margin:0;font-size:18px;font-weight:700}.admin-nav-placeholder{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary-strong);font-size:14px;font-weight:700}.admin-content .page-container{width:min(100%,980px);padding:var(--space-8);margin:0}}@media (max-width:359px){.page-container{padding-right:var(--space-3);padding-left:var(--space-3)}.hero-card,.card{padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
