:root{--bg0:#050d18;--bg1:#0c1b31;--bg2:#16335a;--panel:rgba(10, 21, 40, 0.82);--line:rgba(216, 231, 255, 0.16);--line-strong:rgba(140, 202, 255, 0.42);--text:#edf4ff;--muted:#a9bddf;--accent:#6df0c1;--accent2:#5fa0ff;--danger:#ff8f8f;--warn:#ffd27d;--good:#75edab;--shadow:0 20px 46px rgba(0, 0, 0, 0.35);--radius:20px;--focus:0 0 0 3px rgba(125, 236, 197, 0.38)}*{box-sizing:border-box}body,html{min-height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei','Segoe UI',sans-serif;color:var(--text);overflow-x:hidden;background:radial-gradient(circle at 14% 7%,rgba(88,149,255,.34),transparent 33%),radial-gradient(circle at 83% 4%,rgba(106,235,193,.16),transparent 26%),linear-gradient(180deg,var(--bg0),var(--bg1) 43%,var(--bg2))}body[data-theme=day]{--bg0:#f8fbff;--bg1:#eef4fb;--bg2:#e6edf7;--panel:rgba(255, 255, 255, 0.96);--line:rgba(20, 42, 63, 0.16);--line-strong:rgba(36, 95, 154, 0.28);--text:#163047;--muted:#4d6278;--accent:#178e68;--accent2:#2f6fab;--danger:#bf4f63;--warn:#a47415;--good:#18804f;--shadow:0 18px 42px rgba(25, 47, 71, 0.14);--focus:0 0 0 3px rgba(47, 111, 171, 0.2);background:radial-gradient(circle at 12% 6%,rgba(90,149,210,.12),transparent 28%),radial-gradient(circle at 88% 8%,rgba(74,170,137,.11),transparent 24%),linear-gradient(180deg,var(--bg0),var(--bg1) 44%,var(--bg2))}body[data-theme=day]::before{opacity:.48;background-image:linear-gradient(rgba(24,50,74,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(24,50,74,.03) 1px,transparent 1px);mask-image:linear-gradient(180deg,rgba(0,0,0,0.45),transparent 92%)}body[data-theme=night]{--bg0:#050d18;--bg1:#0c1b31;--bg2:#16335a;--panel:rgba(10, 21, 40, 0.82);--line:rgba(216, 231, 255, 0.16);--line-strong:rgba(140, 202, 255, 0.42);--text:#edf4ff;--muted:#a9bddf;--accent:#6df0c1;--accent2:#5fa0ff;--danger:#ff8f8f;--warn:#ffd27d;--good:#75edab;--shadow:0 20px 46px rgba(0, 0, 0, 0.35);--focus:0 0 0 3px rgba(125, 236, 197, 0.38);background:radial-gradient(circle at 14% 7%,rgba(88,149,255,.34),transparent 33%),radial-gradient(circle at 83% 4%,rgba(106,235,193,.16),transparent 26%),linear-gradient(180deg,var(--bg0),var(--bg1) 43%,var(--bg2))}body[data-theme=night]::before{opacity:.72;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);mask-image:linear-gradient(180deg,rgba(0,0,0,0.72),transparent 92%)}body::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.72;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(180deg,rgba(0,0,0,0.72),transparent 92%)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:3px}body[data-theme=day] ::-webkit-scrollbar-thumb{background:rgba(24,50,74,.18)}.is-hidden{display:none!important}.label-short{display:none}.theme-toggle{min-height:40px;padding:10px 14px;font-weight:700;letter-spacing:.02em}.card{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.022)),var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);backdrop-filter:blur(12px)}body[data-theme=day] .achievement-card,body[data-theme=day] .action-card,body[data-theme=day] .card,body[data-theme=day] .effect-item,body[data-theme=day] .ending-panel,body[data-theme=day] .event-modal__card,body[data-theme=day] .log-item,body[data-theme=day] .love-card,body[data-theme=day] .policy-card,body[data-theme=day] .school-card,body[data-theme=day] .selection-module{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,250,255,.88));border-color:rgba(24,50,74,.12)}body[data-theme=day] .start-card h1{background:linear-gradient(135deg,#18324a 15%,#2fb788 62%,#3e83c6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body[data-theme=day] .effect-item__desc,body[data-theme=day] .log-item__text,body[data-theme=day] .log-item__time,body[data-theme=day] .love-card__goal,body[data-theme=day] .love-card__stat-label,body[data-theme=day] .policy-card__meta,body[data-theme=day] .school-assessment,body[data-theme=day] .school-note,body[data-theme=day] .selection-module__meta,body[data-theme=day] .selection-module__note,body[data-theme=day] .selection-module__report,body[data-theme=day] .start-checklist,body[data-theme=day] .start-notice,body[data-theme=day] .start-preview{color:#42576d}body[data-theme=day] .start-preview{border-color:rgba(23,142,104,.22);background:linear-gradient(135deg,rgba(23,142,104,.1),rgba(47,111,171,.08));color:#1d3c56}body[data-theme=day] .start-field{border-color:rgba(24,50,74,.11);background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(246,250,255,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.78)}body[data-theme=day] .start-field--identity{border-color:rgba(164,116,21,.16);background:linear-gradient(135deg,rgba(164,116,21,.08),rgba(255,255,255,.94))}body[data-theme=day] .start-field--academic{border-color:rgba(47,111,171,.16);background:linear-gradient(135deg,rgba(47,111,171,.08),rgba(255,255,255,.94))}body[data-theme=day] .start-field--family{border-color:rgba(23,142,104,.16);background:linear-gradient(135deg,rgba(23,142,104,.08),rgba(255,255,255,.94))}body[data-theme=day] .start-field__tag{border-color:rgba(24,50,74,.12);background:rgba(20,42,63,.05);color:#28435c}body[data-theme=day] .start-field--identity .start-field__tag{border-color:rgba(164,116,21,.16);background:rgba(164,116,21,.08);color:#845d14}body[data-theme=day] .start-field--academic .start-field__tag{border-color:rgba(47,111,171,.16);background:rgba(47,111,171,.08);color:#295889}body[data-theme=day] .start-field--family .start-field__tag{border-color:rgba(23,142,104,.16);background:rgba(23,142,104,.08);color:#157452}body[data-theme=day] .start-form input[type=text],body[data-theme=day] .start-form select{border-color:rgba(24,50,74,.12);background:rgba(255,255,255,.84);color:#17354d;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}body[data-theme=day] .start-form input[type=text]::placeholder{color:rgba(66,87,109,.58)}body[data-theme=day] .selection-module__report,body[data-theme=day] .start-notice{border-color:rgba(47,111,171,.18);background:rgba(47,111,171,.09);color:#1d3c56}body[data-theme=day] .badge,body[data-theme=day] .pill,body[data-theme=day] .quick-chip{color:#1e3b56}body[data-theme=day] .pill{background:rgba(20,42,63,.05);border-color:rgba(20,42,63,.14)}body[data-theme=day] .notice--soft{color:#20425f;background:rgba(47,111,171,.11)}body[data-theme=day] .notice--good{color:#176646;background:rgba(23,142,104,.12);border-color:rgba(23,142,104,.24)}body[data-theme=day] .notice--warn{color:#855f11;background:rgba(164,116,21,.12);border-color:rgba(164,116,21,.22)}body[data-theme=day] .notice--bad{color:#923f52;background:rgba(191,79,99,.12);border-color:rgba(191,79,99,.24)}body[data-theme=day] .desktop-nav,body[data-theme=day] .mobile-action-bar,body[data-theme=day] .mobile-nav,body[data-theme=day] .mobile-status-strip{background:rgba(255,255,255,.94);border-color:rgba(20,42,63,.14)}body[data-theme=day] .desktop-nav__tab,body[data-theme=day] .mobile-nav__tab{color:#2e4862}body[data-theme=day] .desktop-nav__tab.is-active,body[data-theme=day] .mobile-nav__tab.is-active{background:rgba(47,111,171,.1)}body[data-theme=day] .action-lock,body[data-theme=day] .deadline-hint,body[data-theme=day] .hero__copy p,body[data-theme=day] .profile-badge,body[data-theme=day] .quick-chip__label,body[data-theme=day] .selection-hint{color:#42576d}body[data-theme=day] .eyebrow{color:#0f7c5b;font-weight:700}body[data-theme=day] .hero__copy h1{color:#122b44}body[data-theme=day] .notice,body[data-theme=day] .profile-badge,body[data-theme=day] .quick-chip{border-color:rgba(20,42,63,.16)}body[data-theme=day] .action-card__title,body[data-theme=day] .desktop-nav__tab.is-active,body[data-theme=day] .mobile-nav__tab.is-active,body[data-theme=day] .profile-badge,body[data-theme=day] .quick-chip__value{color:#173149}body[data-theme=day] .btn--ghost,body[data-theme=day] .theme-toggle{color:#153a5b;border-color:rgba(20,42,63,.16);background:rgba(255,255,255,.86)}body[data-theme=day] .btn--ghost:hover,body[data-theme=day] .theme-toggle:hover{background:rgba(47,111,171,.08)}body[data-theme=day] .achievement-card__desc,body[data-theme=day] .action-card__cost,body[data-theme=day] .action-card__meta,body[data-theme=day] .action-mark,body[data-theme=day] .deadline-hint,body[data-theme=day] .quick-chip__label,body[data-theme=day] .school-foot,body[data-theme=day] .selection-hint,body[data-theme=day] .stat__foot{color:#42576d}body[data-theme=day] .action-card__cost{color:#2f6fab}body[data-theme=day] .action-mark{color:#18804f;font-weight:700}body[data-theme=day] .achievement-card__title,body[data-theme=day] .effect-item__name,body[data-theme=day] .ending-panel__title,body[data-theme=day] .love-card__name,body[data-theme=day] .school-name,body[data-theme=day] .stat__value{color:#173149}body[data-theme=day] .love-dialog{color:#7a3553;background:linear-gradient(135deg,rgba(255,171,198,.28),rgba(255,214,226,.36));border-color:rgba(191,79,99,.22)}.start-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:22px;position:relative}.start-screen::before{content:'';position:absolute;top:-20%;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(109,240,193,.08) 0,rgba(95,160,255,.06) 40%,transparent 70%);pointer-events:none;border-radius:50%}.start-card{width:min(680px,100%);padding:40px 36px 32px;position:relative;margin-top:auto;margin-bottom:22px}.start-card h1{margin:0 0 6px;font-size:clamp(28px, 5vw, 40px);font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#fff 20%,var(--accent) 60%,var(--accent2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.start-card>p{margin:0 0 6px;color:var(--muted);line-height:1.7;font-size:14.5px;letter-spacing:.01em}.start-form{margin-top:22px;display:grid;gap:14px}.start-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}.start-field{display:grid;gap:10px;min-width:0;padding:14px;border-radius:18px;border:1px solid rgba(216,231,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.start-field--wide{grid-column:1/-1}.start-field--identity{border-color:rgba(255,210,125,.2);background:linear-gradient(135deg,rgba(255,210,125,.08),rgba(255,255,255,.02))}.start-field--academic{border-color:rgba(95,160,255,.18);background:linear-gradient(135deg,rgba(95,160,255,.08),rgba(255,255,255,.02))}.start-field--family{border-color:rgba(109,240,193,.18);background:linear-gradient(135deg,rgba(109,240,193,.08),rgba(255,255,255,.02))}.start-field__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.start-form label{font-size:12.5px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.start-field__tag{display:inline-flex;align-items:center;min-height:24px;padding:4px 10px;border-radius:999px;border:1px solid rgba(216,231,255,.12);background:rgba(255,255,255,.06);color:var(--text);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.start-field--identity .start-field__tag{border-color:rgba(255,210,125,.22);color:#ffe3a1;background:rgba(255,210,125,.1)}.start-field--academic .start-field__tag{border-color:rgba(95,160,255,.22);color:#acd0ff;background:rgba(95,160,255,.1)}.start-field--family .start-field__tag{border-color:rgba(109,240,193,.22);color:#b7f7e0;background:rgba(109,240,193,.1)}.start-control{position:relative}.start-form input[type=text],.start-form select{border-radius:14px;border:1px solid var(--line);background:rgba(7,17,31,.44);color:var(--text);padding:13px 14px;font:inherit;font-size:14px;font-weight:600;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;transition:border-color .2s,background .2s,box-shadow .2s;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.start-form select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23a9bddf' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.start-form input[type=text]::placeholder{color:rgba(231,242,255,.42)}#familyBgSelect{color:var(--text)}.start-form select optgroup,.start-form select option{color:#12314f;background:#dcecff}.start-form select:hover{border-color:rgba(109,240,193,.32);background:rgba(10,21,40,.62)}.start-form input[type=text]:hover{border-color:rgba(255,210,125,.34);background:rgba(10,21,40,.62)}.start-form select:focus{outline:0;border-color:var(--accent);box-shadow:var(--focus)}.start-form input[type=text]:focus{outline:0;border-color:rgba(255,210,125,.7);box-shadow:0 0 0 3px rgba(255,210,125,.18)}.start-field__hint{color:var(--muted);font-size:12px;line-height:1.6}.start-preview{border:1px solid rgba(109,240,193,.16);border-radius:12px;padding:12px 14px;color:#d8ecff;background:linear-gradient(135deg,rgba(109,240,193,.04),rgba(95,160,255,.04));font-size:13px;line-height:1.6;font-weight:500;letter-spacing:.01em}.start-form .btn--primary{margin-top:4px;padding:14px 20px;font-size:16px;font-weight:700;border-radius:14px;letter-spacing:.02em;background:linear-gradient(135deg,rgba(109,240,193,.28),rgba(95,160,255,.22));border-color:rgba(109,240,193,.38);box-shadow:0 4px 20px rgba(109,240,193,.12);transition:transform .18s,box-shadow .18s,background .18s}.start-form .btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(109,240,193,.18);background:linear-gradient(135deg,rgba(109,240,193,.36),rgba(95,160,255,.28))}.start-notice{margin-top:14px;border:1px solid rgba(95,160,255,.18);border-radius:12px;padding:10px 14px;color:rgba(210,228,255,.8);background:rgba(95,160,255,.06);font-size:12.5px;line-height:1.5}.start-checklist{margin:18px 0 0;padding-left:0;list-style:none;display:grid;gap:8px;color:rgba(220,231,251,.75);font-size:13px;line-height:1.55}.start-checklist li{padding-left:20px;position:relative}.start-checklist li::before{content:'';position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));opacity:.5}.site-footer{width:min(860px,100%);margin-top:auto;padding:18px 20px 10px;text-align:center;color:var(--muted);display:grid;gap:8px}.site-footer__copyright{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--text)}.site-footer__privacy{font-size:12.5px;line-height:1.7;max-width:78ch;margin:0 auto}.shell{width:min(1360px,calc(100vw - 26px));margin:0 auto;padding:18px 0 30px}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,0.75fr);gap:18px;padding:22px;margin-bottom:15px}.hero__copy h1{margin:6px 0 8px;font-size:clamp(30px, 4.8vw, 50px);letter-spacing:.015em}.hero__copy p{margin:0;color:var(--muted);line-height:1.65;max-width:72ch}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--accent);letter-spacing:.2em;text-transform:uppercase}.hero__actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.hero__btns{display:flex;flex-wrap:wrap;gap:8px}.profile-badge{font-size:12px;color:#def0ff;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.055);padding:9px 10px}.notice{border:1px solid var(--line);border-radius:12px;font-size:13px;line-height:1.5;padding:9px 10px}.notice--soft{color:#d7e6ff;background:rgba(95,160,255,.12)}.notice--good{color:#dbfdeb;background:rgba(109,240,193,.11);border-color:rgba(109,240,193,.36)}.notice--warn{color:#fff1d3;background:rgba(255,210,125,.14);border-color:rgba(255,210,125,.35)}.notice--bad{color:#ffdada;background:rgba(255,143,143,.13);border-color:rgba(255,143,143,.34)}.quick-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-chip{border:1px solid var(--line);border-radius:11px;padding:7px 9px;background:rgba(255,255,255,.04)}.quick-chip__label{font-size:11px;color:var(--muted)}.quick-chip__value{margin-top:4px;font-size:14px;font-weight:700;color:#e7f2ff}.action-lock,.deadline-hint,.hint,.selection-hint{color:var(--muted);font-size:13px;line-height:1.55}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title h2{margin:0;font-size:18px}.badge{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;font-size:12px;letter-spacing:.03em;background:rgba(109,240,193,.12);color:var(--accent);border:1px solid rgba(109,240,193,.32);white-space:nowrap}.badge--soft{background:rgba(95,160,255,.14);color:#d4e7ff;border-color:rgba(95,160,255,.28)}.badge--warn{background:rgba(255,210,125,.14);color:#ffe3a9;border-color:rgba(255,210,125,.28)}.badge--danger{background:rgba(255,143,143,.14);color:#ffbcbc;border-color:rgba(255,143,143,.28)}.timeline-track{display:block}.timeline-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:10px;scrollbar-width:thin}.timeline-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;font-size:13px;font-family:inherit;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--muted);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.timeline-tab:hover{background:rgba(255,255,255,.08);color:var(--text)}.timeline-tab.is-active{background:rgba(109,240,193,.12);color:var(--accent);border-color:rgba(109,240,193,.32)}.timeline-tab.is-done-phase:not(.is-active){opacity:.6}.timeline-tab__dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.timeline-tab__count{font-size:11px;opacity:.7}.timeline-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding-bottom:4px}.timeline-item{border:1px solid var(--line);border-radius:16px;padding:12px;min-height:94px;background:rgba(255,255,255,.03);position:relative;overflow:hidden}.timeline-item::after{content:'';position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,rgba(109,240,193,0),rgba(109,240,193,.8),rgba(95,160,255,0));transform-origin:left;transform:scaleX(var(--progress,0));transition:transform .3s}.timeline-item.is-current{border-color:var(--line-strong);box-shadow:inset 0 0 0 1px rgba(109,240,193,.16)}.timeline-item.is-current .month-index{color:var(--accent)}.timeline-item.is-done{opacity:.74}.timeline-item.is-upcoming{opacity:.44}.month-index{font-size:12px;color:var(--muted)}.month-label{margin-top:5px;font-size:16px;font-weight:700}.month-desc{margin-top:6px;font-size:12px;color:var(--muted);line-height:1.45}.app-grid{display:block}.column,.column--primary,.column--secondary{display:contents}.panel{padding:18px;min-width:0}.panel--actions{position:relative;z-index:2}@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stat{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035);padding:12px}.stat__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.stat__label{color:var(--muted);font-size:13px}.stat__value{font-size:18px;font-weight:780}.bar{height:10px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.07)}.bar__fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .33s}.stat__foot{margin-top:8px;display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.stat--stress .bar__fill{background:linear-gradient(90deg,#ffd27d,#ff7f7f)}.stat--budget .bar__fill{background:linear-gradient(90deg,#6df0c1,#62a6ff)}.love-panel{display:grid;gap:14px}.love-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:rgba(255,255,255,.03)}.love-card__header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.love-card__avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,rgba(255,130,170,.3),rgba(255,100,130,.15));display:grid;place-items:center;font-size:24px;flex-shrink:0}.love-card__info{flex:1;min-width:0}.love-card__name{font-size:16px;font-weight:700;margin-bottom:2px}.love-card__goal{font-size:12px;color:var(--muted)}.love-dialog{margin-top:12px;padding:10px 14px;border-radius:12px 12px 12px 2px;background:linear-gradient(135deg,rgba(255,107,157,.1),rgba(255,71,120,.06));border:1px solid rgba(255,107,157,.2);font-size:13.5px;line-height:1.6;color:#ffd4e3;font-style:italic}.love-card__bar{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:10px}.love-card__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#ff6b9d,#ff4778);transition:width .3s}.love-card__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;font-size:13px}.love-card__stat{display:flex;justify-content:space-between;padding:6px 10px;border-radius:8px;background:rgba(255,255,255,.04)}.love-card__stat-label{color:var(--muted)}.love-empty{text-align:center;padding:32px 16px;color:var(--muted);font-size:14px;line-height:1.7}.love-empty__icon{font-size:48px;margin-bottom:12px;opacity:.4}.love-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:14px}.love-action-btn{text-align:left;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.love-action-btn strong{display:flex;justify-content:space-between;width:100%}.love-action-desc{font-size:11.5px;color:var(--muted);font-weight:400;line-height:1.4}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.achievement-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.03);transition:border-color .2s,background .2s}.achievement-card.is-unlocked{border-color:rgba(109,240,193,.3);background:rgba(109,240,193,.06)}.achievement-card.is-locked{opacity:.4}.achievement-card__icon{font-size:28px;margin-bottom:6px}.achievement-card__title{font-size:14px;font-weight:700;margin-bottom:4px}.achievement-card__desc{font-size:12px;color:var(--muted);line-height:1.45}.achievement-card__time{font-size:11px;color:var(--accent);margin-top:6px}.event-modal__actions{display:flex;gap:10px;justify-content:center}.event-choice-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.event-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}.event-modal.is-hidden{display:none!important}.event-modal__backdrop{position:absolute;inset:0;background:rgba(3,8,18,.7);backdrop-filter:blur(6px);animation:.25s modalFadeIn}.event-modal__card{position:relative;width:min(420px,100%);max-height:min(88dvh,760px);padding:32px 28px 24px;text-align:center;display:flex;flex-direction:column;animation:.3s cubic-bezier(.22,1,.36,1) modalSlideIn}.event-modal__icon{font-size:40px;margin-bottom:12px;filter:drop-shadow(0 2px 8px rgba(109, 240, 193, .3))}.event-modal__title{margin:0 0 8px;font-size:20px;font-weight:700;color:var(--text)}.event-modal__text{margin:0 0 20px;color:var(--muted);font-size:14px;line-height:1.65;white-space:pre-wrap;text-align:left;overflow:auto;padding-right:4px;flex:1 1 auto}.event-modal__btn{min-width:120px;padding:11px 24px}@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}@keyframes modalSlideIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-card{border:1px solid var(--line);background:rgba(255,255,255,.038);color:var(--text);border-radius:16px;padding:12px;text-align:left;cursor:pointer;min-height:96px;transition:transform .16s,border-color .16s,background .16s}.action-card:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(109,240,193,.4);background:rgba(255,255,255,.07)}.action-card:disabled{opacity:.52;cursor:not-allowed}.action-card.is-recommended{border-color:rgba(109,240,193,.4);box-shadow:inset 0 0 0 1px rgba(109,240,193,.14)}.action-card__title{display:flex;justify-content:space-between;gap:12px;font-weight:700;margin-bottom:4px}.action-card__cost{color:#bfe8ff}.action-card__meta{color:var(--muted);font-size:12px;line-height:1.5}.action-mark{margin-top:6px;font-size:12px;color:#dffcef}.action-footer{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}.selection-hint{margin-top:8px;padding-top:6px;border-top:1px dashed rgba(216,231,255,.18)}.btn{border:1px solid transparent;border-radius:14px;padding:10px 13px;font:inherit;font-weight:700;color:var(--text);cursor:pointer;background:rgba(255,255,255,.09);transition:transform .15s,opacity .15s,border-color .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg,rgba(109,240,193,.24),rgba(95,160,255,.2));border-color:rgba(109,240,193,.34)}.btn--accent{background:linear-gradient(135deg,rgba(255,210,125,.26),rgba(255,143,143,.18));border-color:rgba(255,210,125,.33)}.btn--ghost{background:rgba(255,255,255,.055);border-color:var(--line)}.btn--danger{background:linear-gradient(135deg,rgba(255,124,124,.26),rgba(255,92,92,.2));border-color:rgba(255,143,143,.34)}.policy-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.policy-card{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.032)}.policy-card__top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px;font-size:13px}.policy-card__meta{color:var(--muted);font-size:12px;line-height:1.46;margin-bottom:6px}.target-list{display:grid;gap:10px}.selection-module{border:1px solid rgba(109,240,193,.18);border-radius:18px;padding:14px;background:linear-gradient(135deg,rgba(109,240,193,.05),rgba(95,160,255,.05))}.selection-module__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.selection-module__meta,.selection-module__note,.selection-module__report{color:var(--muted);font-size:12.5px;line-height:1.55}.selection-module__meta{margin-top:4px}.selection-module__note{margin-top:10px}.selection-module__report{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(95,160,255,.18);background:rgba(95,160,255,.08);color:#dce9ff}.selection-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.selection-toolbar__btn{min-height:42px}.school-card{border:1px solid var(--line);border-radius:18px;padding:12px;background:rgba(255,255,255,.03)}.school-card.is-selected{border-color:rgba(109,240,193,.34);box-shadow:inset 0 0 0 1px rgba(109,240,193,.13)}.school-card.is-advisor-pick{box-shadow:inset 0 0 0 1px rgba(95,160,255,.16)}.school-card.is-result-pass{border-color:rgba(117,237,171,.4)}.school-card.is-result-wait{border-color:rgba(255,210,125,.42)}.school-card.is-result-fail{border-color:rgba(255,143,143,.33)}.school-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.school-name{font-size:16px;font-weight:800;margin-bottom:2px}.school-tier{font-size:12px;color:var(--muted)}.school-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.school-note{margin-top:10px;color:#d8e8ff;font-size:12.5px;line-height:1.55}.school-assessment{margin-top:8px;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--muted);font-size:12.5px;line-height:1.55}.pill{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.056);font-size:12px;color:#d9e8ff}.school-progress{margin-top:8px}.school-foot{margin-top:10px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;flex-wrap:wrap}.school-actions{margin-top:9px}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);user-select:none}.toggle input{accent-color:var(--accent)}.effect-list{display:grid;gap:8px;margin-bottom:10px}.effect-item,.ending-panel{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.03)}.effect-item__name{font-size:13px;font-weight:700}.effect-item__desc{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.5}.effect-item__dur{margin-top:5px;font-size:12px;color:#d1e5ff}.ending-panel__title{font-size:16px;font-weight:800}.ending-panel__desc{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.6}.ending-panel--good{border-color:rgba(117,237,171,.42)}.ending-panel--warn{border-color:rgba(255,210,125,.44)}.ending-panel--bad{border-color:rgba(255,143,143,.42)}.log-list{display:grid;gap:8px;max-height:480px;overflow:auto;padding-right:4px}.log-item{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.03)}.log-item__time{min-width:84px;color:var(--muted);font-size:12px}.log-item__text{font-size:13px;line-height:1.55}.log-item--good .log-item__text{color:#ddffef}.log-item--warn .log-item__text{color:#ffefcd}.log-item--bad .log-item__text{color:#ffd7d7}button:focus-visible,input:focus-visible,select:focus-visible{outline:0;box-shadow:var(--focus)}a,button,input,select,textarea{touch-action:manipulation}.mobile-status-strip{display:none}.mobile-status-strip__item{border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center;background:rgba(255,255,255,.03)}.mobile-status-strip__label{font-size:11px;color:var(--muted)}.mobile-status-strip__value{font-size:14px;font-weight:700;margin-top:2px}.mobile-status-strip__item--stress .mobile-status-strip__value{color:var(--warn)}.mobile-nav{display:none}.mobile-nav__tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;background:0 0;border:none;color:var(--muted);font-size:11px;cursor:pointer;font-family:inherit}.mobile-nav__tab.is-active{color:var(--accent)}.mobile-nav__icon{width:20px;height:20px}.mobile-nav__label{font-size:11px}.mobile-action-bar{display:none}.mobile-action-bar__btn{flex:1;min-height:44px}.desktop-nav{display:flex;gap:6px;margin-bottom:16px;padding:4px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:16px}.desktop-nav__tab{display:inline-flex;align-items:center;gap:8px;flex:1;justify-content:center;padding:12px 18px;border-radius:12px;font-size:14px;font-weight:600;font-family:inherit;border:none;background:0 0;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.desktop-nav__tab svg{flex-shrink:0}.desktop-nav__tab:hover{background:rgba(255,255,255,.06);color:var(--text)}.desktop-nav__tab.is-active{background:rgba(109,240,193,.1);color:var(--accent)}.app-grid .panel{margin-bottom:16px;display:none}body.tab-achievement .panel--achievements,body.tab-action .panel--actions,body.tab-log .panel--effects,body.tab-log .panel--log,body.tab-love .panel--love,body.tab-status .panel--status,body.tab-target .panel--targets,body.tab-timeline .panel--timeline{display:block;animation:.2s fadeIn}@media (max-width:1180px){.hero{grid-template-columns:1fr}.log-list{max-height:380px}}@media (max-width:760px){.label-long{display:none}.label-short{display:inline}.shell{width:min(100vw - 16px,100%);padding-bottom:calc(130px + env(safe-area-inset-bottom))}.hero{grid-template-columns:1fr;padding:12px;gap:10px;margin-bottom:8px}.hero__copy h1{font-size:22px;margin:0}.eyebrow,.hero__copy p{display:none}.hero__actions{gap:6px}.hero__btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.hero__btns .btn{min-width:0;width:100%}.hero .hint,.profile-badge{display:none}.notice{font-size:12px;padding:7px 8px}.quick-bar{display:none}.panel{padding:14px}.app-grid .panel{margin-bottom:12px}.desktop-nav{display:none}.panel--actions{position:static}.action-footer{display:none}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.action-card{min-height:72px;padding:14px}.action-card__title{font-size:15px}.school-card{padding:14px}.school-top,.selection-module__top{flex-direction:column;align-items:flex-start}.toggle{min-height:36px}.timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-item{min-height:72px;padding:10px}.section-title{flex-direction:column;align-items:flex-start}.section-title h2{font-size:16px}.status-grid{gap:8px;grid-template-columns:1fr}.stat{padding:10px}.achievement-grid,.action-grid,.love-actions,.love-card__stats,.policy-grid{grid-template-columns:1fr}.school-actions,.selection-toolbar{display:grid;grid-template-columns:1fr;gap:8px}.school-actions .btn,.school-actions .toggle,.selection-toolbar .btn{width:100%}.school-foot,.stat__foot{flex-direction:column;align-items:flex-start}.start-form-grid{grid-template-columns:1fr}.log-list{max-height:none}.log-item{flex-direction:column}.log-item__time{min-width:0}.start-card{padding:16px}.start-card h1{font-size:24px}.start-field{padding:12px;gap:8px}.start-form input[type=text],.start-form select{min-height:44px}.start-form .btn--primary{min-height:48px;font-size:16px}.mobile-status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;position:sticky;top:0;z-index:10;background:rgba(5,13,24,.92);backdrop-filter:blur(12px);padding:max(8px,env(safe-area-inset-top)) 8px 8px;margin-bottom:12px;border-radius:0 0 12px 12px}.mobile-status-strip__item{min-width:0}.mobile-status-strip__value{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;height:calc(56px + env(safe-area-inset-bottom));background:rgba(5,13,24,.95);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-action-bar{display:flex;position:fixed;bottom:calc(56px + env(safe-area-inset-bottom));left:0;right:0;z-index:99;background:rgba(5,13,24,.92);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px 12px;gap:8px;box-shadow:0 -8px 24px rgba(0,0,0,.2)}.event-modal{padding:max(12px,env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))}.event-modal__card{width:100%;max-height:min(82dvh,720px);padding:22px 18px 16px}.event-modal__title{font-size:18px}.event-modal__text{font-size:13px;line-height:1.6}.event-modal__actions{flex-direction:column;gap:8px}.event-choice-list .event-modal__btn,.event-modal__btn{width:100%;min-width:0}.event-choice-list{margin-top:10px;max-height:26dvh;overflow:auto}}@media (max-width:480px){.mobile-status-strip{grid-template-columns:repeat(2,1fr)}.hero__btns{grid-template-columns:repeat(2,minmax(0,1fr))}.action-grid,.policy-grid,.status-grid,.timeline-grid{grid-template-columns:1fr}.start-screen{padding:12px}.event-modal__card{padding:18px 14px 14px}}