:root{--bg:#120f16;--bg-warm:#25191d;--bg-cool:#171c28;--panel:rgba(33,25,39,0.92);--panel-strong:rgba(43,33,52,0.96);--ink:#fff6ee;--muted:#d0c0cc;--line:rgba(255,236,220,0.12);--shadow:0 18px 48px rgba(0,0,0,0.34);--accent:#ffb357;--accent-strong:#ff8d4d;--pastel-yellow:#ffe96f;--pastel-orange:#ffc87a;--pastel-blue:#d8e3ff;--pastel-pink:#ffd4e4;--pastel-mint:#d6f4ee;--pastel-cyan:#c8f0f5;--pastel-sage:#e8e7ce;--pastel-lavender:#eadcf7}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--ink);font-family:var(--font-zen-maru-gothic),"Yu Gothic UI",sans-serif;background:radial-gradient(circle at top left,rgba(255,183,109,.16),transparent 26%),radial-gradient(circle at top right,rgba(147,214,255,.14),transparent 22%),linear-gradient(180deg,#120f16,#18131d 52%,#0f0c13)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,239,230,.03) 1px,transparent 0),linear-gradient(90deg,rgba(255,239,230,.03) 1px,transparent 0);background-size:28px 28px}a{color:inherit}button,input,select{font:inherit}optgroup,option{color:#241d2b;background:#fffaf4}.quest-page{width:calc(100vw - 16px);margin:0 auto;padding:8px;display:grid;gap:10px}.board-panel,.control-card,.drawer-panel,.interest-card,.map-panel,.recommend-card,.summary-bar{border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:panel-rise .54s cubic-bezier(.2,.7,.2,1) both}.summary-bar{display:block;padding:10px 14px}.summary-bar__top{display:grid;grid-template-columns:auto max-content minmax(0,1fr);align-items:start;gap:14px}.summary-bar__brand{display:grid;gap:6px;flex:0 0 auto;align-content:start;min-width:0}.summary-bar__brand-title{display:flex;align-items:flex-start;gap:0;flex-wrap:nowrap;min-width:0}.summary-bar__brand-actions{display:grid;grid-template-columns:max-content;grid-template-rows:repeat(2,auto);gap:4px;width:max-content;justify-items:stretch;align-content:start;flex:0 0 auto;align-self:start;justify-self:start}.summary-bar__brand strong,.summary-bar__brand-button{font-size:15px;line-height:1;min-width:0}.summary-bar__brand-button{display:inline-flex;align-items:center;padding:0;border:0;color:inherit;background:transparent;font:inherit;font-size:15px;font-weight:700;line-height:1;min-width:0;text-align:left;cursor:pointer}.summary-bar__brand-button:hover{color:#ffe9c5}.summary-bar__brand-button:focus-visible{outline:none;border-radius:8px;box-shadow:0 0 0 2px rgba(19,15,24,.94),0 0 0 4px rgba(255,196,104,.42),0 0 16px rgba(255,177,96,.2)}.accent-button.summary-bar__terms-button{min-height:25px;padding:4px 10px;font-size:12px;white-space:nowrap;width:100%;justify-content:center;line-height:1.05}.summary-bar__terms-button--inline{width:auto}.accent-button.summary-bar__guide-button{min-height:25px;padding:4px 10px;font-size:12px;white-space:nowrap;width:100%;justify-content:center;line-height:1.05}.summary-bar__metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.summary-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.08);border:1px solid var(--line);color:var(--muted);font-size:13px;text-align:center}.summary-pill--accent{color:#fff7ec;border-color:rgba(255,190,121,.26);background:linear-gradient(135deg,rgba(255,183,87,.18),rgba(255,131,104,.14)),rgba(255,255,255,.08)}.summary-bar__requirements{flex:1 1 auto;min-width:0;display:grid;justify-items:stretch;gap:8px;padding-top:0;border-top:none}.summary-bar__shared-banner{display:grid;gap:4px;padding:14px 18px;border:1px solid rgba(255,189,102,.22);border-radius:18px;background:linear-gradient(135deg,rgba(255,187,104,.18),rgba(255,187,104,.08)),rgba(255,255,255,.03);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 38px rgba(255,165,72,.08)}.summary-bar__shared-kicker{font-size:12px;font-weight:800;letter-spacing:.18em;color:#ffbf68;text-transform:uppercase}.summary-bar__shared-banner strong{font-size:28px;line-height:1.05;color:#fff4e6}.summary-bar__shared-banner span:last-child{font-size:14px;line-height:1.45;color:rgba(255,243,234,.82)}.summary-bar__mobile-overview{display:grid;gap:10px}.summary-bar__mobile-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-bar__mobile-requirement{position:relative;display:grid;gap:4px;padding:10px 12px;overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(34,28,44,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.summary-bar__mobile-requirement-meter{position:absolute;inset:0;border-radius:inherit;overflow:hidden}.summary-bar__mobile-requirement-fill{position:absolute;inset:0;width:var(--requirement-progress,0);border-radius:inherit;background:linear-gradient(90deg,rgba(52,80,182,.92),rgba(89,226,224,.98))}.summary-bar__mobile-requirement--in_progress .summary-bar__mobile-requirement-fill,.summary-bar__mobile-requirement--planned .summary-bar__mobile-requirement-fill{background:linear-gradient(90deg,rgba(255,198,102,.96),rgba(255,175,88,.98))}.summary-bar__mobile-requirement--completed .summary-bar__mobile-requirement-fill{inset:0;width:100%;height:100%;border-radius:inherit;background:linear-gradient(135deg,rgba(255,110,170,.98),rgba(255,175,95,.98) 16%,rgba(255,231,106,.96) 34%,rgba(160,250,156,.96) 52%,rgba(92,226,255,.96) 72%,rgba(129,156,255,.98));background-size:220% 220%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),inset 0 -18px 28px rgba(34,22,57,.18),0 0 18px rgba(255,188,112,.22),0 0 26px rgba(93,224,255,.18);animation:requirement-complete-rainbow 3.8s linear infinite,requirement-complete-glow 2.2s ease-in-out infinite}.summary-bar__mobile-requirement>*{position:relative;z-index:1}.summary-bar__mobile-requirement-label{font-size:11px;font-weight:700;letter-spacing:.03em;color:rgba(255,246,238,.78)}.summary-bar__mobile-requirement-value{font-size:15px;line-height:1.1;color:#fff4e6}.summary-bar__mobile-summary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-bar__mobile-summary-expanded{padding-top:4px}.mobile-primary-tabs{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;width:100%;padding:4px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(180deg,rgba(43,35,56,.96),rgba(34,28,45,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 30px rgba(0,0,0,.16)}.mobile-primary-tabs__thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:14px;background:linear-gradient(135deg,#ffd37f,#ffb453);box-shadow:0 10px 24px rgba(255,179,94,.22),inset 0 1px 0 rgba(255,247,232,.52);transition:transform .22s ease,box-shadow .22s ease;pointer-events:none}.mobile-primary-tabs[data-active=map] .mobile-primary-tabs__thumb{transform:translateX(100%)}.mobile-primary-tabs__button{position:relative;z-index:1;min-height:44px;padding:10px 14px;border:0;border-radius:14px;background:transparent;color:rgba(255,244,238,.86);font-size:14px;font-weight:700;cursor:pointer;transition:color .16s ease,transform .16s ease}.mobile-primary-tabs__button.is-active{color:#6a3905}.mobile-primary-tabs__button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px rgba(255,228,182,.45),0 0 0 2px rgba(22,17,28,.92)}.mobile-primary-layout,.mobile-primary-panel,.mobile-primary-panel__content{min-width:0}.mobile-primary-layout,.mobile-primary-panel__content{display:grid;gap:8px}.summary-bar__requirements-main{display:flex;align-items:start;justify-content:flex-start;gap:10px;flex-wrap:nowrap}.summary-bar__requirements-side{display:inline-flex;align-items:stretch;justify-content:flex-start;gap:8px;flex:0 0 auto;min-width:0;flex-wrap:nowrap}.summary-bar__requirements-main--desktop{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:stretch;column-gap:10px;row-gap:8px}.summary-bar__requirements-main--desktop .summary-bar__requirements-side{grid-column:1;align-self:start}.summary-bar__requirements-main--desktop .summary-bar__requirements-details{grid-column:2}.summary-bar__detail-toggle{width:auto;min-width:max-content;align-self:stretch;justify-content:center;padding-inline:14px;font-size:14px;font-weight:700;white-space:nowrap;color:rgba(255,245,238,.82)}.summary-bar__detail-toggle--desktop{position:relative;overflow:hidden;view-transition-name:summary-requirements-detail-toggle}.summary-bar__detail-toggle--desktop:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,transparent,rgba(255,255,255,.14) 48%,transparent);transform:translateX(-140%);opacity:.72;pointer-events:none}.summary-bar__detail-toggle--dock:before,.summary-bar__detail-toggle--launch:before{animation:summary-detail-toggle-scan .76s cubic-bezier(.2,.82,.18,1) both}.summary-bar__detail-toggle--dock{color:#eff8ff;border-color:rgba(108,215,255,.26);background:linear-gradient(135deg,rgba(62,118,214,.26),rgba(78,232,255,.14)),rgba(18,28,51,.92);box-shadow:inset 0 1px 0 rgba(220,243,255,.12),0 10px 24px rgba(17,44,86,.26),0 0 18px rgba(87,219,255,.14)}.summary-bar__detail-toggle.is-open{color:#fff6f1;border-color:rgba(255,188,145,.24);background:linear-gradient(135deg,rgba(255,174,96,.22),rgba(255,111,111,.16)),rgba(35,24,41,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 24px rgba(98,29,43,.16)}.summary-bar__detail-toggle--dock.is-open{color:#eff8ff;border-color:rgba(108,215,255,.26);background:linear-gradient(135deg,rgba(62,118,214,.26),rgba(78,232,255,.14)),rgba(18,28,51,.92);box-shadow:inset 0 1px 0 rgba(220,243,255,.12),0 10px 24px rgba(17,44,86,.26),0 0 18px rgba(87,219,255,.14)}.summary-bar__requirements-details{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;align-items:stretch;gap:8px}.summary-bar__requirements-details--desktop{position:relative;min-width:0;view-transition-name:summary-requirements-detail-panel;transform-origin:left center;animation:summary-detail-panel-enter .62s cubic-bezier(.14,.9,.16,1) both}.summary-bar__requirements-details--desktop:before{content:"";position:absolute;inset:-4px;border-radius:24px;background:linear-gradient(90deg,rgba(76,232,255,.12),rgba(255,179,120,.06) 38%,transparent 72%);opacity:0;pointer-events:none;filter:blur(10px);animation:summary-detail-panel-aura .72s cubic-bezier(.18,.84,.2,1) 40ms both}.summary-bar__requirements-detail-actions{display:flex;align-items:center;justify-content:flex-end}.summary-bar__requirements-details--desktop .summary-bar__requirements-detail-actions{opacity:0;transform:translateX(-26px) scale(.96);filter:blur(8px);animation:summary-detail-action-enter .52s cubic-bezier(.18,.84,.2,1) .11s both}.summary-bar__requirements-details--desktop{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:stretch;column-gap:6px;row-gap:0}.summary-bar__requirements-details--desktop .summary-bar__requirements-detail-actions{grid-column:2;grid-row:1;align-self:stretch}.summary-bar__requirements-details--desktop .requirement-tree{grid-column:1;grid-row:1;grid-template-columns:clamp(126px,6.9vw,150px) minmax(228px,1fr) minmax(228px,1fr) clamp(126px,7vw,150px)}.summary-bar__requirements-details--desktop .summary-bar__detail-toggle{width:100%;min-width:88px;height:100%;min-height:0;padding-inline:10px;font-size:13px;white-space:nowrap}.summary-bar__requirements-header{display:flex;align-items:center;justify-content:flex-start}.summary-bar__requirements-meta{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:nowrap}.summary-bar__requirements-title{display:inline-flex;align-items:center;min-height:30px;margin-right:4px;font-size:12px;font-weight:700;color:#ffe1b6}.summary-bar__requirements-note{display:inline-flex;align-items:center;min-height:30px;margin-right:2px;font-size:11px;color:rgba(230,214,228,.7);white-space:nowrap}.summary-bar__requirement-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.requirement-total-card{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:flex-start;gap:8px;width:fit-content;min-width:max-content;max-width:100%;justify-self:start;padding:8px 13px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#ebdfe8;text-align:left;white-space:nowrap;align-self:start;position:relative;overflow:hidden;isolation:isolate}.requirement-total-card__label{font-family:inherit;flex:0 0 auto;font-size:13px;font-weight:700;line-height:1.15;color:rgba(255,246,238,.76);white-space:nowrap;position:relative;z-index:1}.requirement-total-card strong{flex:0 0 auto;font-size:18px;line-height:1;color:#fff8ff;white-space:nowrap;position:relative;z-index:1}.summary-bar__count-toggle{width:auto;min-width:0;align-self:stretch;justify-content:center;padding-inline:14px;font-size:15px}.requirement-tree{display:grid;grid-template-columns:clamp(142px,7.8vw,170px) minmax(272px,1fr) minmax(272px,1fr) clamp(152px,8.6vw,186px);justify-content:flex-start;flex:1 1 auto;min-width:0;gap:6px;align-items:start}.summary-bar__requirements-details--desktop .requirement-group-card{opacity:0;transform:translateX(-30px) scale(.982);filter:blur(10px) saturate(1.04);animation:summary-detail-card-enter .52s cubic-bezier(.18,.84,.2,1) both;animation-delay:calc(70ms + (var(--requirement-sequence, 0) * 65ms))}.requirement-group-card{display:grid;gap:0;padding:7px 8px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);align-self:start;height:fit-content;width:100%;min-width:0;position:relative;overflow:hidden;isolation:isolate}.requirement-group-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;z-index:1}.requirement-group-card__text{min-width:0;display:grid;gap:2px}.requirement-group-card__text h3{margin:0;font-size:13px;line-height:1.15}.requirement-group-card__value{flex:0 0 auto;font-size:13px;line-height:1.15;white-space:nowrap;color:#fff8ff}.requirement-group-card__hint{margin:0;font-size:10px;color:rgba(255,246,238,.62)}.requirement-group-card__children{display:flex;flex-wrap:nowrap;gap:4px;min-width:0;position:relative;z-index:1}.requirement-group-card__children-shell{min-width:0;display:grid;grid-template-rows:0fr;margin-top:0;opacity:0;transition:grid-template-rows .26s cubic-bezier(.2,.7,.2,1),margin-top .26s cubic-bezier(.2,.7,.2,1),opacity .18s ease}.requirement-group-card__children-shell.is-open{grid-template-rows:1fr;margin-top:5px;opacity:1}.requirement-group-card__children-shell>.requirement-group-card__children{min-height:0;overflow:hidden}.summary-bar__requirements-details--desktop .requirement-group-card__children-shell.is-open .requirement-detail-card{opacity:0;transform:translateX(-14px) scale(.985);filter:blur(6px);animation:summary-detail-chip-enter .42s cubic-bezier(.22,.82,.2,1) both;animation-delay:calc(.17s + (var(--requirement-sequence, 0) * 55ms) + (var(--requirement-child-offset, 0) * 38ms))}.requirement-group-card__children>*{flex:1 1;min-width:0}.requirement-group-card--leaf{gap:2px;padding:7px 8px;width:100%;min-width:0;max-width:none;justify-self:start;text-align:center}.requirement-group-card--leaf .requirement-group-card__header{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:fit-content;max-width:100%;margin:0 auto}.requirement-group-card--leaf .requirement-group-card__text{display:grid;justify-items:center;flex:0 1 auto;gap:2px;width:auto}.requirement-group-card--leaf .requirement-group-card__text h3{font-size:15px;text-align:center}.requirement-group-card--leaf .requirement-group-card__value{display:block;font-size:15px;margin-left:0;text-align:center}.requirement-group-card--leaf .requirement-group-card__hint{font-size:9px;line-height:1.1;white-space:nowrap;text-align:center}.requirement-group-card__meter,.requirement-total-card__meter{position:absolute;inset:0;z-index:0;border-radius:inherit;overflow:hidden;background:linear-gradient(90deg,rgba(28,37,78,.38),rgba(38,54,104,.34) 54%,rgba(50,72,128,.3));box-shadow:inset 0 0 0 1px rgba(133,164,255,.08)}.requirement-group-card__fill,.requirement-total-card__fill{position:absolute;inset:0 auto 0 0;width:var(--requirement-progress,0);border-radius:inherit;background:linear-gradient(90deg,rgba(30,41,82,.44),rgba(48,76,144,.54) 34%,rgba(55,156,199,.72) 72%,rgba(108,243,203,.88));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 0 18px rgba(78,174,227,.14);transition:width .32s cubic-bezier(.2,.7,.2,1),background .22s ease,box-shadow .22s ease,opacity .22s ease}.requirement-detail-card{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 7px;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);position:relative;overflow:hidden;isolation:isolate}.requirement-detail-card__meter{position:absolute;inset:0;z-index:0;border-radius:inherit;overflow:hidden;background:linear-gradient(90deg,rgba(28,37,78,.38),rgba(38,54,104,.34) 54%,rgba(50,72,128,.3));box-shadow:inset 0 0 0 1px rgba(133,164,255,.08)}.requirement-detail-card__fill{position:absolute;inset:0 auto 0 0;width:var(--requirement-progress,0);border-radius:inherit;background:linear-gradient(90deg,rgba(30,41,82,.44),rgba(48,76,144,.54) 34%,rgba(55,156,199,.72) 72%,rgba(108,243,203,.88));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 0 18px rgba(78,174,227,.14);transition:width .32s cubic-bezier(.2,.7,.2,1),background .22s ease,box-shadow .22s ease,opacity .22s ease}.requirement-detail-card__label{font-size:clamp(8.5px,.52vw,10px);line-height:1.1;letter-spacing:-.02em;min-width:0;flex:1 1 auto;overflow:hidden;white-space:nowrap;position:relative;z-index:1}.requirement-detail-card__value{flex:0 0 auto;font-size:11px;line-height:1.1;color:#fff8ff;white-space:nowrap;position:relative;z-index:1}.requirement-chip,.requirement-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);color:#ebdfe8}.requirement-pill{padding:6px 10px;font-size:12px}.requirement-pill strong{font-size:12px;color:#fff7ff}.summary-bar__requirement-row--detail{gap:6px}.requirement-chip{padding:4px 8px;font-size:11px;line-height:1.2}.requirement-chip--met,.requirement-detail-card--met,.requirement-group-card--met,.requirement-pill--met,.requirement-total-card--met{border-color:rgba(113,228,183,.18);background:rgba(113,228,183,.1);color:#d9fff0}.requirement-chip--in_progress,.requirement-detail-card--in_progress,.requirement-group-card--in_progress,.requirement-pill--in_progress,.requirement-total-card--in_progress{border-color:rgba(118,192,255,.24);background:rgba(80,132,214,.1);color:#dbf1ff}.requirement-chip--missing,.requirement-detail-card--missing,.requirement-group-card--missing,.requirement-pill--missing,.requirement-total-card--missing{border-color:rgba(118,147,255,.2);background:rgba(56,74,138,.12);color:#dfe7ff}.requirement-chip--capped,.requirement-detail-card--capped,.requirement-group-card--capped,.requirement-pill--capped,.requirement-total-card--capped{border-color:rgba(162,197,255,.22);background:rgba(162,197,255,.1);color:#dceaff}.requirement-detail-card--capped,.requirement-detail-card--in_progress,.requirement-detail-card--met,.requirement-detail-card--missing{background:rgba(255,255,255,.03)}.requirement-detail-card--met{border-color:rgba(113,228,183,.16)}.requirement-detail-card--in_progress{border-color:rgba(118,192,255,.2)}.requirement-detail-card--missing{border-color:rgba(255,135,163,.16)}.requirement-detail-card--capped{border-color:rgba(162,197,255,.18)}.requirement-detail-card--missing .requirement-detail-card__fill,.requirement-group-card--leaf.requirement-group-card--missing .requirement-group-card__fill,.requirement-total-card--missing .requirement-total-card__fill{background:linear-gradient(90deg,rgba(42,57,118,.44),rgba(58,86,168,.4) 58%,rgba(89,132,212,.36));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 14px rgba(91,135,236,.12)}.requirement-detail-card--in_progress .requirement-detail-card__fill,.requirement-group-card--leaf.requirement-group-card--in_progress .requirement-group-card__fill,.requirement-total-card--in_progress .requirement-total-card__fill{background:linear-gradient(90deg,rgba(30,44,102,.52),rgba(54,92,196,.6) 30%,rgba(63,183,224,.8) 68%,rgba(114,248,210,.92));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 18px rgba(86,188,234,.16)}.requirement-detail-card--capped .requirement-detail-card__fill,.requirement-group-card--leaf.requirement-group-card--capped .requirement-group-card__fill,.requirement-total-card--capped .requirement-total-card__fill{background:linear-gradient(90deg,rgba(143,198,255,.42),rgba(120,170,255,.44));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 16px rgba(130,183,255,.12)}.requirement-detail-card.is-complete .requirement-detail-card__fill{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),inset 0 -18px 28px rgba(34,22,57,.18),0 0 18px rgba(255,184,103,.2),0 0 28px rgba(101,234,219,.2)}.requirement-detail-card.is-complete .requirement-detail-card__fill,.requirement-group-card--leaf.is-complete .requirement-group-card__fill,.requirement-total-card.is-complete .requirement-total-card__fill{inset:0;width:100%;height:100%;border-radius:inherit;background:linear-gradient(135deg,rgba(255,110,170,.98),rgba(255,175,95,.98) 16%,rgba(255,231,106,.96) 34%,rgba(160,250,156,.96) 52%,rgba(92,226,255,.96) 72%,rgba(129,156,255,.98));background-size:220% 220%;animation:requirement-complete-rainbow 3.8s linear infinite,requirement-complete-glow 2.2s ease-in-out infinite}.requirement-group-card--leaf.is-complete .requirement-group-card__fill,.requirement-total-card.is-complete .requirement-total-card__fill{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),inset 0 -24px 36px rgba(34,22,57,.18),0 0 18px rgba(255,184,103,.2),0 0 28px rgba(101,234,219,.2)}.requirement-detail-card.is-complete,.requirement-group-card--leaf.is-complete,.requirement-total-card.is-complete{border-color:rgba(255,224,162,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(255,224,162,.12),0 10px 24px rgba(28,18,44,.16)}.requirement-detail-card.is-complete .requirement-detail-card__label,.requirement-detail-card.is-complete .requirement-detail-card__value,.requirement-group-card--leaf.is-complete .requirement-group-card__hint,.requirement-group-card--leaf.is-complete .requirement-group-card__text h3,.requirement-group-card--leaf.is-complete .requirement-group-card__value,.requirement-total-card.is-complete .requirement-total-card__label,.requirement-total-card.is-complete strong,.summary-bar__mobile-requirement.is-complete .summary-bar__mobile-requirement-label,.summary-bar__mobile-requirement.is-complete .summary-bar__mobile-requirement-value{color:#1f2d64;text-shadow:0 1px 0 rgba(255,255,255,.28)}.eyebrow,.panel-kicker{margin:0;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#ffbf68}.control-strip{display:grid;gap:10px}.board-panel,.control-card,.drawer-panel,.interest-card,.map-panel,.recommend-card{padding:14px;height:100%}.control-card--primary{display:grid;grid-template-columns:minmax(190px,1.32fr) repeat(2,minmax(126px,.9fr)) auto;gap:10px;align-items:end}.control-card--secondary{display:grid;grid-template-columns:minmax(210px,1.35fr) repeat(3,minmax(118px,.82fr));gap:10px}.control-card--compact{display:grid;grid-template-columns:minmax(250px,1.18fr) minmax(156px,.7fr) minmax(236px,.92fr) minmax(236px,.92fr) minmax(252px,1.02fr) minmax(168px,.74fr) minmax(192px,.84fr) auto;align-items:center;gap:12px;padding:10px 16px}.control-card--planner-desktop{grid-template-columns:minmax(192px,.82fr) minmax(248px,1.08fr) 14px minmax(190px,.68fr) 14px minmax(236px,.94fr) auto}.control-inline-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.control-inline-action{min-height:44px;padding:10px 12px;font-size:13px;line-height:1;white-space:nowrap}.control-inline-action--primary{padding-inline:16px}.control-inline-action--match-primary{min-height:44px;padding:10px 16px;font-size:13px}.accent-button.control-inline-action--danger,.ghost-button.control-inline-action--danger{color:#fff6f6;background:linear-gradient(135deg,rgba(255,128,116,.98),rgba(235,70,104,.98) 52%,rgba(136,20,58,.98));border-color:rgba(255,151,151,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 20px rgba(120,18,48,.2),0 0 0 1px rgba(255,136,136,.08)}.accent-button.control-inline-action--danger:hover:not(:disabled),.ghost-button.control-inline-action--danger:hover:not(:disabled){box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 24px rgba(120,18,48,.24),0 0 0 1px rgba(255,156,156,.14)}.control-inline-separator{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;color:rgba(255,236,220,.34);font-size:22px;line-height:1;font-weight:500;-webkit-user-select:none;user-select:none}.advanced-search-panel{z-index:4}.advanced-search-panel,.advanced-search-toggle,.advanced-search-toggle-wrap{position:relative;min-width:0}.advanced-search-toggle{width:100%;justify-content:space-between;gap:12px;padding-inline:14px;overflow:visible;z-index:2;transition:border-radius .32s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,background .22s ease,border-color .22s ease,color .18s ease}.advanced-search-toggle__content{min-width:0;display:inline-flex;align-items:center;gap:8px}.advanced-search-toggle__icon{width:1.08em;height:1.08em}.advanced-search-toggle__text{min-width:0;overflow:hidden;text-overflow:ellipsis}.advanced-search-toggle__status{flex:0 0 auto;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:rgba(255,244,237,.78);font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1}.advanced-search-toggle.has-active-filters,.advanced-search-toggle.is-open{color:#fff6f1;border-color:rgba(255,188,145,.24);background:linear-gradient(135deg,rgba(255,174,96,.22),rgba(255,111,111,.16)),rgba(35,24,41,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 24px rgba(98,29,43,.16)}.advanced-search-panel.is-open .advanced-search-toggle{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 26px rgba(98,29,43,.16)}.advanced-search-toggle.has-active-filters .advanced-search-toggle__status,.advanced-search-toggle.is-open .advanced-search-toggle__status{border-color:rgba(255,229,207,.18);background:rgba(255,247,239,.12);color:rgba(255,249,244,.92)}.advanced-search-panel__body{display:grid;grid-template-columns:minmax(250px,1.18fr) minmax(156px,.7fr) minmax(236px,.92fr) minmax(236px,.92fr);align-items:center;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03)),rgba(18,13,24,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 28px rgba(0,0,0,.14);transform-origin:top center;opacity:0;transform:translateY(-16px) scaleY(.92);filter:blur(6px);transition:opacity .22s ease,transform .36s cubic-bezier(.2,.8,.2,1),filter .28s ease}.advanced-search-panel__body-shell{position:relative;min-width:0;display:grid;grid-template-rows:0fr;margin-top:8px;padding-top:0;opacity:0;transform:translateY(-8px);transform-origin:top center;pointer-events:none;z-index:1;transition:grid-template-rows .38s cubic-bezier(.2,.8,.2,1),opacity .22s ease,transform .38s cubic-bezier(.2,.8,.2,1)}.advanced-search-panel__body-stage{min-height:0;overflow:hidden}.advanced-search-panel__body-shell.is-open{grid-template-rows:1fr;opacity:1;transform:translateY(0);pointer-events:auto}.advanced-search-panel__body-shell.is-open .advanced-search-panel__body{opacity:1;transform:translateY(0) scaleY(1);filter:blur(0)}.control-card--planner-desktop{overflow:visible}.control-card--planner-desktop .advanced-search-panel{grid-column:4;min-width:0}.control-strip .advanced-search-panel__body{width:100%;grid-template-columns:minmax(200px,1.35fr) minmax(104px,.72fr) minmax(136px,.92fr) minmax(136px,.92fr);border-radius:24px;background:linear-gradient(180deg,rgba(255,186,118,.08),rgba(255,129,112,.04) 18%,rgba(255,255,255,.03) 42%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03)),rgba(18,13,24,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 22px 38px rgba(0,0,0,.22),0 0 0 1px rgba(255,188,145,.06)}.planner-control-group--schedule{min-width:0;display:grid;grid-template-columns:minmax(286px,2.6fr) minmax(112px,1fr);align-items:center;gap:12px}.planner-control-group--schedule>*{min-width:0}.control-card--planner-desktop .control-inline-field--name{grid-column:6}.control-card--planner-desktop .planner-control-group--schedule{grid-column:1/3}.planner-control-group--schedule .control-inline-field--current-quarter,.planner-control-group--schedule .control-inline-field--year{grid-column:auto}.control-card--planner-desktop .control-inline-separator--planner-after-schedule{grid-column:3}.control-card--planner-desktop .control-inline-separator--planner-before-name{grid-column:5}.control-card--planner-desktop .control-inline-actions{grid-column:7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.control-card__feedback{grid-column:1/-1;display:grid;gap:8px}.control-card label,.interest-card label{display:grid;gap:6px;color:var(--muted);font-size:12px}.control-card--compact label{display:flex;align-items:center;gap:10px;min-width:0}.control-inline-label{flex:0 0 auto;color:var(--muted);font-size:12px;white-space:nowrap}.control-inline-field--current-quarter>.control-inline-label,.control-inline-field--year>.control-inline-label{font-size:13px;font-weight:700;letter-spacing:.04em}.control-inline-field--current-quarter,.control-inline-field--domain,.control-inline-field--name,.control-inline-field--quarter,.control-inline-field--search,.control-inline-field--stage,.control-inline-field--year{width:100%}.academic-year-filter{min-height:48px;display:flex;flex-direction:column;gap:6px;align-items:stretch;flex:1 1 252px;min-width:252px;padding:4px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.academic-year-filter__buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;min-width:244px}.academic-year-filter__button{min-width:0;min-height:34px;border:1px solid transparent;border-radius:10px;padding:6px 0;color:rgba(255,246,238,.72);background:transparent;font-size:13px;font-weight:700;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.academic-year-filter__note{margin:0;padding:2px 8px 0;color:rgba(255,232,201,.76);font-size:11px;font-weight:600;line-height:1.45;letter-spacing:.04em}.control-inline-field--detail-display{width:100%}.detail-display-toggle{--detail-toggle-padding:4px;position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;width:fit-content;min-width:0;padding:var(--detail-toggle-padding);border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.04)),rgba(24,18,31,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.18);isolation:isolate}.detail-display-toggle__thumb{position:absolute;top:var(--detail-toggle-padding);bottom:var(--detail-toggle-padding);left:var(--detail-toggle-padding);width:calc((100% - (var(--detail-toggle-padding) * 2)) / 2);border:1px solid rgba(255,190,101,.38);border-radius:12px;background:linear-gradient(180deg,#ffd174,#ffb25c);box-shadow:inset 0 1px 0 rgba(255,251,241,.4),0 8px 20px rgba(255,177,96,.18);transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .18s ease;pointer-events:none;z-index:0}.detail-display-toggle[data-mode=panel] .detail-display-toggle__thumb{transform:translateX(100%)}.detail-display-toggle__button{position:relative;z-index:1;min-width:112px;min-height:40px;padding:7px 14px;border:1px solid transparent;border-radius:12px;background:transparent;color:rgba(255,246,238,.8);font-size:13px;font-weight:800;line-height:1.1;letter-spacing:.04em;white-space:nowrap;writing-mode:horizontal-tb;text-orientation:mixed;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.detail-display-toggle__button:hover{color:rgba(255,246,238,.92)}.detail-display-toggle__button:focus-visible{outline:none;border-color:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.88),0 0 0 2px rgba(19,15,24,.96),0 0 0 4px rgba(255,196,104,.6),0 0 18px rgba(255,177,96,.26);animation:control-focus-ring 2.2s ease-in-out infinite}.detail-display-toggle[data-mode=panel] .detail-display-toggle__button--panel,.detail-display-toggle[data-mode=popup] .detail-display-toggle__button--popup{color:#6d3b06;text-shadow:0 1px 0 rgba(255,247,234,.34)}.map-panel__display-controls{display:inline-flex;align-items:flex-start;justify-content:center;gap:12px;flex-wrap:wrap;max-width:100%}.map-theme-toggle{--map-theme-accent-rgb:255,205,213;--map-theme-ring:rgba(255,232,224,0.78);--map-theme-fill-start:rgba(255,237,229,0.22);--map-theme-fill-end:rgba(255,200,217,0.12);--map-theme-particle-soft:rgba(255,247,241,0.96);--map-theme-particle-strong:rgba(255,210,221,0.9);--map-theme-active-text:rgba(255,249,250,0.98)}.map-theme-toggle .detail-display-toggle__button{min-width:96px;color:rgba(244,237,245,.84);transition:color .18s ease,text-shadow .18s ease,opacity .18s ease,transform .18s ease}.map-theme-toggle .detail-display-toggle__button.is-active{color:var(--map-theme-active-text);text-shadow:0 0 12px rgba(var(--map-theme-accent-rgb),.18),0 1px 0 rgba(255,255,255,.24)}.map-theme-toggle .detail-display-toggle__thumb{overflow:visible;border-width:1.5px;border-color:var(--map-theme-ring);background:linear-gradient(180deg,var(--map-theme-fill-start) 0,var(--map-theme-fill-end) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 0 0 1px rgba(var(--map-theme-accent-rgb),.18),0 0 22px rgba(var(--map-theme-accent-rgb),.14)}.map-theme-toggle .detail-display-toggle__thumb:after,.map-theme-toggle .detail-display-toggle__thumb:before{content:"";position:absolute;pointer-events:none}.map-theme-toggle .detail-display-toggle__thumb:before{inset:-4px;border:1px solid rgba(var(--map-theme-accent-rgb),.48);border-radius:15px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 16px rgba(var(--map-theme-accent-rgb),.24),0 0 32px rgba(var(--map-theme-accent-rgb),.16);animation:map-theme-toggle-frame-pulse 2.8s ease-in-out infinite}.map-theme-toggle .detail-display-toggle__thumb:after{inset:-14px;border-radius:18px;background:radial-gradient(circle at 14% 22%,var(--map-theme-particle-soft) 0 1.7px,transparent 2.5px),radial-gradient(circle at 88% 18%,var(--map-theme-particle-strong) 0 1.8px,transparent 2.6px),radial-gradient(circle at 104% 50%,rgba(var(--map-theme-accent-rgb),.86) 0 1.6px,transparent 2.4px),radial-gradient(circle at 77% 102%,rgba(255,255,255,.82) 0 1.5px,transparent 2.4px),radial-gradient(circle at -4% 74%,var(--map-theme-particle-strong) 0 1.8px,transparent 2.6px),radial-gradient(circle at 34% -8%,rgba(255,255,255,.94) 0 1.5px,transparent 2.3px);filter:drop-shadow(0 0 6px rgba(var(--map-theme-accent-rgb),.34));opacity:.94;animation:map-theme-toggle-particles 7.2s linear infinite}.map-theme-toggle[data-mode=classic]{--map-theme-accent-rgb:255,205,213;--map-theme-ring:rgba(255,232,224,0.78);--map-theme-fill-start:rgba(255,237,229,0.22);--map-theme-fill-end:rgba(255,200,217,0.12);--map-theme-particle-soft:rgba(255,247,241,0.96);--map-theme-particle-strong:rgba(255,210,221,0.9);--map-theme-active-text:rgba(255,249,250,0.98);border-color:rgba(255,220,212,.2);background:linear-gradient(180deg,rgba(55,44,61,.96),rgba(43,34,49,.96));box-shadow:inset 0 1px 0 rgba(255,245,242,.08),0 18px 34px rgba(13,10,18,.22)}.map-theme-toggle[data-mode=dark]{--map-theme-accent-rgb:191,206,255;--map-theme-ring:rgba(215,225,255,0.76);--map-theme-fill-start:rgba(205,228,255,0.2);--map-theme-fill-end:rgba(212,191,255,0.12);--map-theme-particle-soft:rgba(240,247,255,0.94);--map-theme-particle-strong:rgba(203,210,255,0.88);--map-theme-active-text:rgba(245,248,255,0.98);border-color:rgba(171,195,255,.18);background:linear-gradient(180deg,rgba(23,28,46,.98),rgba(13,17,32,.98));box-shadow:inset 0 1px 0 rgba(211,226,255,.08),0 18px 34px rgba(0,0,0,.24)}.map-theme-toggle[data-mode=dark] .detail-display-toggle__button{color:rgba(224,232,255,.76)}.map-theme-toggle[data-mode=dark] .detail-display-toggle__thumb{transform:translateX(100%)}@keyframes map-theme-toggle-frame-pulse{0%,to{opacity:.82;transform:scale(.995)}50%{opacity:1;transform:scale(1.01)}}@keyframes map-theme-toggle-particles{0%{transform:rotate(0deg) scale(.98);opacity:.72}50%{transform:rotate(180deg) scale(1.03);opacity:1}to{transform:rotate(1turn) scale(.98);opacity:.72}}.control-inline-field--count-toggle{width:100%}.control-checkbox-field{gap:8px}.control-checkbox{width:100%;min-width:0;min-height:44px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.08);color:var(--ink);font-size:14px;font-weight:600;line-height:1.1;white-space:nowrap}.control-checkbox__box{width:18px;height:18px;flex:0 0 18px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;border:1px solid rgba(255,246,238,.36);background:rgba(22,16,26,.45);color:transparent;font-size:12px;font-weight:800;transition:color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.control-checkbox.is-checked{border-color:rgba(255,190,101,.38);background:linear-gradient(135deg,rgba(255,209,116,.18),rgba(135,239,213,.16)),rgba(255,255,255,.08)}.control-checkbox.is-checked .control-checkbox__box{border-color:rgba(255,190,101,.56);background:linear-gradient(135deg,#ffd174,#ffb25c);box-shadow:0 4px 12px rgba(255,177,96,.22);color:#6d3b06}.control-checkbox:focus-visible{outline:none;border-color:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.88),0 0 0 2px rgba(19,15,24,.96),0 0 0 4px rgba(255,196,104,.6),0 0 18px rgba(255,177,96,.26);animation:control-focus-ring 2.2s ease-in-out infinite}.control-card--compact .accent-button{min-width:196px}.control-card--compact .control-inline-actions .control-inline-action{flex:0 0 auto;min-width:max-content}.control-card--compact .control-inline-actions .control-inline-action--match-primary{padding-inline:13px}.control-card--compact .control-inline-actions .control-inline-action--primary{min-width:max-content;padding-inline:15px}.control-readout,input,select{padding:8px 12px;color:var(--ink);font-size:16px;line-height:1.15;font-weight:500}.control-readout,.quarter-filter,.stage-filter,input,select{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.08)}.quarter-filter,.stage-filter{padding:4px}.academic-year-filter__buttons,.quarter-filter__buttons,.stage-filter__buttons{display:grid;gap:4px}.quarter-filter__buttons,.stage-filter__buttons{grid-template-columns:repeat(4,minmax(0,1fr))}.academic-year-filter__button,.quarter-filter__button,.stage-filter__button{min-width:0;min-height:34px;border:1px solid transparent;border-radius:10px;padding:6px 0;color:rgba(255,246,238,.72);background:transparent;font-size:14px;font-weight:700;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.academic-year-filter__button,.quarter-filter__button{min-height:38px;padding:7px 0;font-size:15px;font-weight:800}.academic-year-filter__button:hover,.quarter-filter__button:hover,.stage-filter__button:hover{transform:translateY(-1px)}.academic-year-filter__button.is-active,.quarter-filter__button.is-active,.stage-filter__button.is-active{color:#6d3b06;background:linear-gradient(135deg,#ffd174,#ffb25c);border-color:rgba(255,190,101,.38);box-shadow:0 8px 20px rgba(255,177,96,.18)}.academic-year-filter__button:focus-visible,.quarter-filter__button:focus-visible,.stage-filter__button:focus-visible{outline:none;border-color:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.88),0 0 0 2px rgba(19,15,24,.96),0 0 0 4px rgba(255,196,104,.6),0 0 18px rgba(255,177,96,.26);animation:control-focus-ring 2.2s ease-in-out infinite}input::placeholder{color:rgba(255,246,238,.5);font-size:inherit;line-height:inherit;opacity:1}.control-readout{display:flex;align-items:center;font-weight:700}.accent-button,.board-density-toggle__button,.board-order-toggle__button,.ghost-button,.info-link-button,.interest-chip,.map-course-card,.relation-link,.state-button,.teacher-course-item{position:relative;overflow:hidden;isolation:isolate;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:transform .22s ease,box-shadow .32s ease,border-color .32s ease,background .32s ease}.academic-year-filter__button,.board-toggle,.control-checkbox,.detail-display-toggle__button,.quarter-filter__button,.stage-filter__button{position:relative;overflow:hidden;isolation:isolate}.academic-year-filter__button:after,.accent-button:after,.board-density-toggle__button:after,.board-toggle:after,.control-checkbox:after,.detail-display-toggle__button:after,.ghost-button:after,.info-link-button:after,.interest-chip:after,.map-course-card:after,.quarter-filter__button:after,.relation-link:after,.stage-filter__button:after,.state-button:after,.teacher-course-item:after{content:"";position:absolute;inset:-42%;background:linear-gradient(115deg,transparent,transparent 33%,rgba(255,255,255,.1) 41%,rgba(255,234,164,.28) 46%,rgba(255,255,255,.88) 50%,rgba(170,235,255,.34) 55%,rgba(255,255,255,.14) 60%,transparent 69%,transparent);transform:translateX(-150%) skewX(-18deg);opacity:0;filter:blur(.35px) saturate(1.2);pointer-events:none;transition:transform 1.2s cubic-bezier(.16,.84,.2,1),opacity .32s ease}.accent-button{min-height:44px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;color:#6d3b06;background:linear-gradient(135deg,#ffd174,#ffb25c);font-weight:700;line-height:1}.button-with-icon{gap:8px}.button-with-icon__glyph{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.05em;height:1.05em}.button-with-icon__glyph svg{display:block;width:100%;height:100%}.ghost-button{padding:10px 14px;color:var(--ink);background:rgba(255,255,255,.08);border-color:var(--line)}.accent-button:hover,.ghost-button:hover,.interest-chip:hover,.map-course-card:hover,.relation-link:hover,.state-button:hover,.teacher-course-item:hover{transform:translateY(-1px)}.academic-year-filter__button:hover:after,.accent-button:hover:after,.board-density-toggle__button:hover:after,.board-order-toggle__button:hover:after,.board-toggle:hover:after,.control-checkbox:hover:after,.detail-display-toggle__button:hover:after,.ghost-button:hover:after,.info-link-button:hover:after,.interest-chip:hover:after,.map-course-card:hover:after,.quarter-filter__button:hover:after,.relation-link:hover:after,.stage-filter__button:hover:after,.state-button:hover:after,.teacher-course-item:hover:after{opacity:1;transform:translateX(160%) skewX(-18deg)}.academic-year-filter__button:focus-visible:after,.accent-button:focus-visible:after,.board-density-toggle__button:focus-visible:after,.board-order-toggle__button:focus-visible:after,.board-toggle:focus-visible:after,.control-checkbox:focus-visible:after,.detail-display-toggle__button:focus-visible:after,.ghost-button:focus-visible:after,.info-link-button:focus-visible:after,.interest-chip:focus-visible:after,.map-course-card:focus-visible:after,.quarter-filter__button:focus-visible:after,.relation-link:focus-visible:after,.stage-filter__button:focus-visible:after,.state-button:focus-visible:after,.teacher-course-item:focus-visible:after{opacity:1;animation:control-focus-shine 1.18s cubic-bezier(.2,.82,.16,1) infinite}.academic-year-filter__button:focus-visible,.accent-button:focus-visible,.board-density-toggle__button:focus-visible,.board-order-toggle__button:focus-visible,.board-toggle:focus-visible,.control-checkbox:focus-visible,.detail-display-toggle__button:focus-visible,.ghost-button:focus-visible,.info-link-button:focus-visible,.interest-chip:focus-visible,.map-course-card:focus-visible,.quarter-filter__button:focus-visible,.relation-link:focus-visible,.stage-filter__button:focus-visible,.state-button:focus-visible,.teacher-course-item:focus-visible{outline:none;border-color:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 0 0 2px rgba(19,15,24,.98),0 0 0 4px rgba(255,196,104,.62),0 0 20px rgba(255,177,96,.28),0 8px 20px rgba(255,167,96,.14);animation:control-focus-ring 2.2s ease-in-out infinite}.planner-layout{--planner-layout-columns:minmax(0,2.15fr) minmax(340px,0.82fr);display:grid;gap:10px;align-items:start}.planner-layout,.planner-layout--plan-full{grid-template-columns:var(--planner-layout-columns)}.planner-layout--plan-full{grid-template-rows:auto auto}.planner-layout__board-full,.planner-layout__mode-anchor{min-width:0}.planner-layout__map{view-transition-name:planner-layout-map}.planner-layout__mode-anchor{grid-column:2;grid-row:1;justify-self:start}.planner-layout__board-full{grid-column:1/-1;grid-row:2}.planner-layout--plan-full .side-stack__detail-display{position:sticky}.side-stack{display:grid;gap:10px;min-width:0}.side-stack--popup{align-self:start;align-content:start;grid-template-rows:auto;gap:0}.side-stack--popup .side-stack__drawer-spacer{display:none}.side-stack--plan-full{width:100%}.side-stack__drawer-spacer{min-height:0;pointer-events:none}.side-stack__drawer{view-transition-name:planner-layout-detail}.side-stack__detail-display{display:inline-flex;align-items:center;justify-self:start;gap:10px;min-width:0;position:sticky;top:8px;z-index:24}.side-stack__detail-display-label{flex:0 0 auto}.map-panel__detail-display{display:inline-flex;align-items:center;gap:10px;min-width:0}.map-panel__detail-display--theme .map-panel__detail-display-label{min-width:auto}.map-panel__detail-display-label{flex:0 0 auto}.map-panel{padding:12px}.map-panel__body{position:relative;container-type:inline-size;container-name:planner-map}.mobile-map{position:relative;display:grid;gap:12px}.mobile-map__group{display:grid;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(24,18,31,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.mobile-map__group--intro{background:linear-gradient(180deg,rgba(255,191,99,.12),rgba(24,18,31,.56));border-color:rgba(255,194,99,.24)}.mobile-map__group--foundation{background:linear-gradient(180deg,rgba(91,139,255,.12),rgba(24,18,31,.56));border-color:rgba(110,156,255,.22)}.mobile-map__group--language{background:linear-gradient(180deg,rgba(255,102,157,.12),rgba(24,18,31,.56));border-color:rgba(255,131,174,.22)}.mobile-map__group--world{background:linear-gradient(180deg,rgba(111,228,244,.12),rgba(24,18,31,.56));border-color:rgba(125,232,247,.2)}.mobile-map__group--connection{background:linear-gradient(180deg,rgba(210,205,149,.12),rgba(24,18,31,.56));border-color:rgba(222,217,168,.2)}.mobile-map__group--free{background:linear-gradient(180deg,rgba(191,142,255,.12),rgba(24,18,31,.56));border-color:rgba(203,164,255,.22)}.mobile-map__group--project{background:linear-gradient(180deg,rgba(255,195,100,.12),rgba(24,18,31,.56));border-color:rgba(255,195,100,.24)}.mobile-map__domain-header,.mobile-map__group-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.mobile-map__group-header-main{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;min-width:0}.mobile-map__domain-label,.mobile-map__group-header h3,.mobile-map__stage-label{margin:0}.mobile-map__group-header h3{font-size:16px;line-height:1.1}.mobile-map__domain-credits,.mobile-map__group-meta{color:rgba(255,246,238,.62);font-size:11px;font-weight:700;white-space:nowrap}.mobile-map__domain,.mobile-map__domains,.mobile-map__stage-list{display:grid;gap:8px}.mobile-map__domain{padding:10px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}.mobile-map__domain-label{font-size:13px;font-weight:800}.mobile-map__domain--info{border-color:rgba(133,173,255,.24)}.mobile-map__domain--math{border-color:rgba(166,156,255,.24)}.mobile-map__domain--language{border-color:rgba(255,150,188,.24)}.mobile-map__domain--culture,.mobile-map__domain--digital,.mobile-map__domain--economy,.mobile-map__domain--society{border-color:rgba(125,232,247,.2)}.mobile-map__domain--connection{border-color:rgba(222,217,168,.2)}.mobile-map__domain--free{border-color:rgba(203,164,255,.22)}.mobile-map__stage-block{display:grid;gap:6px}.mobile-map__stage-label{font-size:11px;font-weight:800;color:rgba(255,246,238,.74)}.mobile-map__course-list{display:grid;gap:6px}.mobile-map__course-list--intro{gap:8px}.mobile-map__course-list .map-course-entry{min-width:0}.map-course-card--mobile{min-height:46px;padding:10px 12px;border-radius:12px}.map-course-card--mobile strong{font-size:12px}.mobile-map__empty{margin:0;padding:20px 12px;border:1px dashed rgba(255,255,255,.12);border-radius:14px;color:rgba(255,246,238,.56);text-align:center}.board-panel,.drawer-panel{min-width:0}.map-panel__header,.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.map-panel__header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start}.map-panel__heading{min-width:0;justify-self:start}.map-panel__header-center{width:max-content;max-width:100%;justify-self:center;align-self:start}.panel-heading__main,.panel-heading__main--board{min-width:0}.panel-heading--board{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;position:relative}.panel-heading--board .panel-heading__main--board{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;min-width:0;justify-self:start}.panel-heading--board .board-legend{position:absolute;top:50%;left:50%;justify-self:auto;align-self:auto;transform:translate(-50%,-50%)}.panel-heading--board .board-actions{justify-self:end;align-self:start}.panel-heading__title{flex:0 0 auto}.panel-heading__title-row--board{display:inline-flex;align-items:center;justify-content:flex-start;gap:12px;min-width:0;flex-wrap:wrap}.panel-heading__title-row--board .panel-heading__title{min-width:0}.drawer-panel .panel-heading>:first-child{flex:1 1 auto;min-width:0}.drawer-panel .panel-heading{display:block}.drawer-heading-body{min-width:0}.drawer-heading-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;width:100%;margin:-2px 0 8px}.drawer-heading-actions>*{align-self:flex-start}.interest-card h2,.map-panel__header h2,.panel-heading h2,.recommend-card h2{margin:0;font-size:18px;line-height:1.15}.map-panel__title{margin-top:4px;margin-left:6px;font-size:13px;letter-spacing:.01em}.map-panel__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;justify-self:end}.map-panel__download,.map-panel__pdf{min-width:132px;padding-inline:14px}.detail-block p,.drawer-empty,.drawer-summary,.panel-copy,.recommend-card__item p{margin:0;color:var(--muted);line-height:1.6}.drawer-summary--compact{margin-top:4px;font-size:12px;line-height:1.45}.course-detail-art{width:100%;min-height:clamp(160px,24vw,224px);margin-top:8px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background-repeat:no-repeat;background-size:cover;box-shadow:0 18px 36px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.16)}.curriculum-map{--map-grid-gap:4px;--map-header-row-height:72px;position:relative;display:grid;grid-template-columns:52px repeat(9,minmax(120px,1fr));grid-template-rows:72px 38px max-content max-content max-content minmax(72px,auto);gap:4px;height:calc(100vh - 182px);min-height:calc(100vh - 182px);max-height:calc(100vh - 182px);overflow:auto;overscroll-behavior-x:contain;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding:4px 4px 112px;scroll-padding-bottom:112px;border-radius:18px;background:#0c0a10}.curriculum-map__sticky-backdrop{pointer-events:none;position:sticky;z-index:18;background:transparent;align-self:stretch;isolation:isolate}.curriculum-map__sticky-backdrop:before{content:"";position:absolute;inset:-6px -10px;z-index:-1;border-radius:18px;background:#0c0a10}.curriculum-map__sticky-backdrop--top{grid-column:1/-1;grid-row:1;top:0;border-radius:14px}.curriculum-map__sticky-backdrop--groups{grid-column:1/-1;grid-row:2;top:calc(var(--map-header-row-height) + var(--map-grid-gap))}@media (min-width:1440px) and (max-width:2200px){.summary-bar{padding:9px 12px}.summary-bar__top{gap:10px}.summary-bar__brand{gap:4px}.summary-bar__brand-title{gap:8px}.summary-bar__brand-actions{gap:4px}.summary-bar__brand strong,.summary-bar__brand-button{font-size:14px}.summary-bar__shared-banner{padding:12px 14px}.summary-bar__shared-banner strong{font-size:24px}.summary-bar__shared-banner span:last-child{font-size:13px}.accent-button.summary-bar__guide-button,.accent-button.summary-bar__terms-button{min-height:25px;padding:4px 10px;font-size:12px}.summary-bar__requirements{gap:6px}.summary-bar__requirements-main{gap:8px}.summary-bar__requirements-side{gap:5px}.summary-bar__requirements-note{font-size:10.5px}.requirement-tree{width:100%;grid-template-columns:minmax(120px,.44fr) minmax(0,1.46fr) minmax(0,1.46fr) minmax(128px,.48fr);gap:5px}.requirement-group-card{gap:4px;padding:6px 7px;border-radius:15px}.requirement-group-card__children{gap:2px}.requirement-detail-card{padding:3px 5px}.control-card--compact{grid-template-columns:minmax(180px,1.02fr) minmax(110px,.6fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(180px,.98fr) minmax(112px,.6fr) minmax(144px,.74fr) auto;gap:9px;padding:9px 14px}.control-card--compact label{gap:8px}.control-inline-label{font-size:11px}.detail-display-toggle{--detail-toggle-padding:3px;border-radius:14px}.detail-display-toggle__thumb{border-radius:10px}.detail-display-toggle__button{min-width:104px;min-height:36px;padding:6px 12px;border-radius:10px;font-size:12px}.control-checkbox{min-height:40px;padding:7px 10px;gap:8px;font-size:12px}.control-checkbox__box{width:16px;height:16px;flex-basis:16px;font-size:11px}.planner-layout{--planner-layout-columns:minmax(0,3.2fr) minmax(280px,0.46fr);gap:8px}.planner-layout,.planner-layout--plan-full{grid-template-columns:var(--planner-layout-columns)}.planner-layout--plan-full{grid-template-rows:auto auto}.side-stack{gap:8px}.board-panel,.drawer-panel,.map-panel{padding:11px}.map-panel__header,.panel-heading{gap:8px;margin-bottom:8px}.curriculum-map{--map-grid-gap:2px;--map-header-row-height:60px;grid-template-columns:44px repeat(9,minmax(124px,1fr));gap:2px;height:calc(100vh - 194px);min-height:calc(100vh - 194px);max-height:calc(100vh - 194px);padding:2px 2px 88px;scroll-padding-bottom:88px}.curriculum-map__sticky-backdrop--top{border-radius:12px}.curriculum-map__intro{gap:4px;padding:2px 6px 2px 10px}.curriculum-map__intro-courses{grid-template-columns:repeat(7,minmax(108px,1fr));gap:5px}.curriculum-map__legend,.curriculum-map__legend-items{gap:6px}.curriculum-map__legend-item{min-height:36px;padding:7px 10px;font-size:12px}.curriculum-map__legend-title{font-size:10px}.curriculum-map__group{border-radius:8px;font-size:12px}.curriculum-map__stage{border-radius:10px;font-size:12px}.curriculum-map__intro-meta{min-width:58px;margin-left:0}.curriculum-map__intro-meta-label{font-size:10px}.curriculum-map__intro-meta-value{font-size:16px}.map-cell{gap:6px;padding:8px;border-radius:12px}.map-cell__domain{padding:3px 7px;font-size:9px}.map-cell__credits{font-size:10px}.map-course-list{gap:6px}.map-course-card{min-height:34px;padding:5px 8px;border-radius:10px}.map-course-card strong{gap:3px;font-size:11px}.map-course-card.is-tight strong{font-size:10px}.map-course-card__icon{flex-basis:12px;width:12px;font-size:11px}.map-course-card.is-completed{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 8px 18px rgba(146,62,214,.18),0 0 16px rgba(78,190,222,.12)}.map-course-card.is-considering{box-shadow:inset 0 0 0 1px rgba(255,251,240,.42),0 10px 20px rgba(114,57,34,.14),0 0 18px rgba(255,170,108,.16)}.map-course-card.is-planned{box-shadow:inset 0 0 0 1px rgba(255,255,255,.44),0 8px 18px rgba(101,218,204,.14)}}.curriculum-map__stage{display:flex;align-items:center;justify-content:center;border-radius:12px;background:#2a2830;color:#ffffff;font-weight:700;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.14em}.curriculum-map__stage--intro{grid-column:1;grid-row:1;position:sticky;top:0;z-index:20;background:#130f18}.curriculum-map__intro{grid-column:2/span 7;grid-row:1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-content:center;padding:2px 8px 2px 14px;border-radius:16px;border:2px solid rgba(255,162,48,.28);color:#4f4055;position:sticky;top:0;z-index:20;isolation:isolate}.curriculum-map__intro,.curriculum-map__intro:before{background:linear-gradient(180deg,var(--pastel-orange),#ffb95e)}.curriculum-map__intro:before{content:"";position:absolute;inset:-3px;z-index:-1;border-radius:inherit}.curriculum-map__intro-meta{display:grid;align-content:center;gap:1px;min-width:64px;margin-left:2px}.curriculum-map__intro-meta-label{font-size:11px;letter-spacing:.08em;color:rgba(79,64,85,.8)}.curriculum-map__intro-meta-value{font-size:18px;font-weight:700;line-height:1}.curriculum-map__intro-courses{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px}.curriculum-map__legend{--legend-item-gap:6px;grid-column:9/span 2;grid-row:1;align-self:center;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;width:auto;max-width:max-content;justify-self:center;position:sticky;top:0;right:auto;z-index:20;isolation:isolate;background:#130f18}.curriculum-map__legend:before{content:"";position:absolute;inset:-4px;z-index:-1;border-radius:12px;background:#130f18}.curriculum-map__legend-title{font-size:13px;font-weight:700;letter-spacing:.08em;color:rgba(236,222,242,.72);flex:0 0 auto;white-space:nowrap}.curriculum-map__legend-items{flex:0 0 auto;min-width:max-content;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:var(--legend-item-gap)}.curriculum-map__legend-item{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;width:auto;min-width:0;min-height:32px;padding:5px 10px;border:1px solid rgba(255,255,255,.14);border-radius:11px;font-size:13px;font-weight:700;line-height:1.1;white-space:nowrap;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.curriculum-map__legend-item>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.curriculum-map__legend-icon{font-size:14px;line-height:1}.curriculum-map__legend-item--in_progress{color:#5a260f;background-image:linear-gradient(135deg,rgba(255,246,214,.98),rgba(255,222,162,.98) 38%,rgba(255,194,145,.98));border-color:rgba(255,156,104,.72)}.curriculum-map__legend-item--planned{color:#46384d;background-image:linear-gradient(135deg,#ffd989,#ffeeb0 28%,#d7f2ac 58%,#9fe8d3 82%,#83dff3);border-color:rgba(112,229,236,.68)}.curriculum-map__legend-item--completed{color:#fff8ff;background-image:linear-gradient(135deg,rgba(56,18,84,.98),rgba(32,19,70,.98) 26%,rgba(104,27,112,.98) 58%,rgba(24,115,136,.96));border-color:rgba(255,216,137,.38)}.curriculum-map__legend-item--registerable{color:#123863;background:linear-gradient(135deg,rgba(228,242,255,.98),rgba(183,218,255,.97) 56%,rgba(138,189,247,.96));border:2px solid rgba(64,153,245,.96);box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),0 0 0 1px rgba(85,171,255,.22),0 0 20px rgba(80,162,255,.16)}.curriculum-map__legend-item--registerable .curriculum-map__legend-icon{color:#246dcb}.curriculum-map__group{display:flex;align-items:center;justify-content:center;border-radius:10px;color:#ffffff;font-weight:700;font-size:13px;position:sticky;top:calc(var(--map-header-row-height) + var(--map-grid-gap));z-index:19;isolation:isolate}.curriculum-map__group:before{content:"";position:absolute;inset:-3px;z-index:-1;border-radius:inherit;background:inherit}.curriculum-map__group--foundation{grid-row:2;background:#3e64c8}.curriculum-map__group--language{grid-row:2;background:#ff5688}.curriculum-map__group--world{grid-row:2;background:#4fc8d8}.curriculum-map__group--connection{grid-row:2;background:#b5b7a2}.curriculum-map__group--free{grid-row:2;background:#a674d4}.curriculum-map__zone{position:relative;z-index:0;border-radius:18px;border:2px solid rgba(255,255,255,.32)}.curriculum-map__zone--foundation{background:linear-gradient(180deg,rgba(207,220,255,.86),rgba(199,212,250,.84));border-color:rgba(63,100,200,.7)}.curriculum-map__zone--language{background:linear-gradient(180deg,rgba(255,221,231,.88),rgba(251,207,224,.86));border-color:rgba(255,86,136,.66)}.curriculum-map__zone--world{background:linear-gradient(180deg,rgba(207,243,236,.9),rgba(196,239,232,.88));border-color:rgba(79,200,216,.66)}.curriculum-map__zone--connection{background:linear-gradient(180deg,rgba(234,233,205,.9),rgba(229,227,197,.88));border-color:rgba(181,183,162,.72)}.curriculum-map__zone--free{background:linear-gradient(180deg,rgba(234,220,247,.92),rgba(228,214,243,.9));border-color:rgba(166,116,212,.68)}.map-cell{position:relative;z-index:2;display:grid;align-content:start;min-width:0;overflow:visible;gap:10px;padding:10px;border-radius:14px;border:2px solid rgba(255,255,255,.34);min-height:250px;color:#554964}.map-cell--connection,.map-cell--free{border-top-color:transparent;border-bottom-color:transparent;border-radius:0}.map-cell--connection.map-cell--基礎,.map-cell--free.map-cell--基礎{border-top-color:rgba(255,255,255,.34);border-top-left-radius:14px;border-top-right-radius:14px}.map-cell--connection.map-cell--merged,.map-cell--free.map-cell--merged{border-bottom-color:rgba(255,255,255,.34);border-bottom-left-radius:0;border-bottom-right-radius:0}.map-cell--connection.map-cell--考究,.map-cell--free.map-cell--考究{border-bottom-color:rgba(255,255,255,.34);border-bottom-left-radius:14px;border-bottom-right-radius:14px}.map-cell--info,.map-cell--math{background:rgba(255,255,255,.06)}.map-cell--language{background:rgba(255,255,255,.07)}.map-cell--culture,.map-cell--digital,.map-cell--economy,.map-cell--society{background:rgba(255,255,255,.06)}.map-cell--connection,.map-cell--free{background:rgba(255,255,255,.08)}.map-cell--基礎{min-height:140px}.map-cell--展開{min-height:180px}.map-cell--考究{min-height:220px;border-style:dashed}.map-cell__header{display:flex;align-items:flex-start;justify-content:flex-start;gap:6px 8px;flex-wrap:wrap;min-width:0}.map-cell__domain{display:inline-flex;align-items:center;max-width:100%;min-width:0;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,rgba(47,39,63,.92),rgba(68,57,92,.86));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px rgba(28,18,44,.16);color:#fff7ff;font-size:10px;font-weight:700;letter-spacing:.02em;line-height:1;white-space:nowrap}.map-cell__domain-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.map-cell__domain-text--compact{display:none}.map-cell__credits{margin-left:auto;flex:0 0 auto;font-size:11px;color:#51445f;white-space:nowrap}@container planner-map (max-width: 1600px){.map-cell__header{gap:4px 6px}.map-cell__credits{flex-basis:100%;margin-left:0;text-align:right}.map-cell__domain--compactable .map-cell__domain-text--full{display:none}.map-cell__domain--compactable .map-cell__domain-text--compact{display:inline}}@container planner-map (max-width: 1440px){.curriculum-map__group{font-size:12px}.map-cell__domain{padding:3px 7px;font-size:9px}.map-cell__credits{font-size:10px}}.map-course-list{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:8px}.map-course-entry,.map-course-list,.map-course-list>*{min-width:0;max-width:100%}.map-course-entry{position:relative;z-index:3}.map-course-entry.is-popover-open{z-index:40}.map-cell:has(.map-course-entry.is-popover-open){z-index:30;overflow:visible}.map-empty-note{padding:12px 10px;border-radius:12px;color:rgba(79,68,93,.72);background:rgba(255,255,255,.36);border:1px dashed rgba(115,116,154,.18);font-size:12px;line-height:1.5}.map-course-card{width:100%;inline-size:100%;display:flex;align-items:center;min-width:0;max-width:100%;min-height:38px;padding:7px 10px;text-align:left;background:rgba(255,255,255,.92);border:1px solid rgba(115,116,154,.18);color:#4f445d;transform-origin:center}.map-course-card__art{position:absolute;inset:0;border-radius:inherit;background-repeat:no-repeat;background-size:cover;opacity:.96;pointer-events:none}.map-course-card--intro{min-height:38px;background:rgba(255,255,255,.92)}.map-cell--考究 .map-course-card{background:rgba(255,255,255,.96)}.map-course-card strong{display:flex;align-items:center;flex:1 1 auto;width:100%;gap:4px;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2;position:relative;z-index:1;transition:transform .24s ease,letter-spacing .24s ease,color .24s ease}.map-course-card.is-completed .map-course-card__art,.map-course-card.is-considering .map-course-card__art,.map-course-card.is-planned .map-course-card__art{opacity:.38}.map-course-card.is-registerable .map-course-card__art{opacity:.5}.map-course-card.is-tight strong{font-size:11px;letter-spacing:-.02em}.map-course-card__label{display:block;flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-course-card__icon{flex:0 0 14px;width:14px;font-size:13px;line-height:1;text-align:center;transition:transform .24s ease,filter .24s ease}.map-course-card__icon.is-empty{opacity:0}.map-state-popover{position:absolute;top:calc(100% + 8px);left:50%;z-index:60;display:grid;gap:6px;min-width:168px;padding:8px;border-radius:16px;border:1px solid rgba(255,236,220,.18);background:linear-gradient(180deg,rgba(84,60,70,.76),rgba(46,35,55,.72)),rgba(27,22,33,.72);box-shadow:0 18px 32px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.04);transform:translateX(-50%);transform-origin:center top;animation:map-popover-rise .22s cubic-bezier(.2,.7,.2,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-state-popover--top{top:auto;bottom:calc(100% + 8px);transform-origin:center bottom}.map-state-popover__button{justify-content:flex-start}.map-state-popover__button,.map-state-popover__clear{min-height:38px;padding:8px 10px;font-size:12px;line-height:1.15;white-space:nowrap}.map-state-popover__clear{justify-content:center}.map-state-popover__button:before{content:none}.map-state-popover__icon{flex:0 0 auto;font-size:12px;line-height:1}.map-detail-popup-overlay{position:fixed;inset:0;z-index:35;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));background:rgba(8,6,12,.34);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto}.course-popup-card{width:min(720px,100%);height:auto;min-height:0;max-height:calc(100dvh - 48px);overflow:auto;padding:20px 22px;border-radius:24px;box-shadow:0 24px 48px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.06);pointer-events:auto}.map-detail-popup-overlay--sheet{position:fixed;inset:0;z-index:90;place-items:end stretch;padding:max(16px,env(safe-area-inset-top)) 0 0;background:linear-gradient(180deg,rgba(8,6,12,.12),rgba(8,6,12,.58))}.course-popup-card--sheet{width:100%;max-width:none;padding:16px 16px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;box-shadow:0 -18px 40px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.06);animation:mobile-sheet-up .22s cubic-bezier(.22,.8,.22,1) both}.course-popup-card--sheet,.map-detail-popup-overlay--sheet .course-popup-card--sheet{max-height:min(82dvh,760px)}.course-popup-card .panel-heading{margin-bottom:14px}.course-popup-card .drawer-heading-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;row-gap:10px}.course-popup-card .drawer-heading-actions{grid-column:2;grid-row:1;align-self:start;width:auto;margin:0}.course-popup-card .drawer-heading-body>.course-detail-art,.course-popup-card .drawer-heading-body>.detail-link--wide,.course-popup-card .drawer-heading-body>.detail-primary-actions,.course-popup-card .drawer-heading-body>.drawer-summary,.course-popup-card .drawer-heading-body>.panel-kicker,.course-popup-card .drawer-heading-body>h2{grid-column:1/-1}.course-popup-card .drawer-heading-body>.panel-kicker{grid-column:1;grid-row:1;align-self:center}.course-popup-card .course-state-block{margin-top:18px;padding:8px;border-radius:18px}.course-popup-card .course-state-actions{gap:8px}.course-popup-card .course-state-actions .state-button{gap:5px;min-height:40px;padding:8px 10px;border-radius:12px;font-size:13px}.course-popup-card .course-state-actions .state-button__icon{font-size:15px}.detail-close-button{min-height:32px;padding:0 13px;border-radius:11px;font-size:12px;line-height:1}.map-course-card.is-completed{border-color:transparent;background-image:linear-gradient(135deg,rgba(56,18,84,.98),rgba(32,19,70,.98) 26%,rgba(104,27,112,.98) 58%,rgba(24,115,136,.96));color:#fff8ff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 0 0 1px rgba(255,216,137,.24),0 12px 28px rgba(146,62,214,.24),0 0 24px rgba(78,190,222,.18);animation:completed-celebrate 5.8s ease-in-out infinite}.map-course-card.is-completed strong{color:#fff8ff;text-shadow:0 1px 0 rgba(0,0,0,.16),0 0 16px rgba(255,216,137,.16)}.map-course-card.is-considering{border-color:rgba(255,156,104,.72);background-image:linear-gradient(135deg,rgba(255,246,214,.98),rgba(255,222,162,.98) 38%,rgba(255,189,146,.96) 72%,rgba(255,164,171,.94));box-shadow:inset 0 0 0 1px rgba(255,251,240,.42),0 14px 28px rgba(114,57,34,.2),0 0 0 1px rgba(255,208,155,.4),0 0 28px rgba(255,170,108,.24)}.map-course-card.is-considering strong{color:#5a260f;text-shadow:0 1px 0 rgba(255,255,255,.24)}.map-course-card.is-considering .map-course-card__icon{filter:saturate(1.12) drop-shadow(0 0 8px rgba(255,176,79,.28))}.map-course-card.is-planned{border-color:transparent;background-image:linear-gradient(135deg,#ffd989,#ffeeb0 28%,#d7f2ac 58%,#9fe8d3 82%,#83dff3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.44),0 0 0 1px rgba(255,219,153,.26),0 12px 26px rgba(101,218,204,.18)}.map-course-card.is-planned strong{color:#46384d}.map-course-card.is-recommended{background:rgba(255,255,255,.94)}.map-course-card.is-registerable{border:3px solid transparent;outline:3px solid rgba(93,185,255,.48);outline-offset:-2px;box-shadow:0 0 0 2px rgba(92,176,255,.18),0 10px 20px rgba(33,72,136,.12)}.map-course-card.is-registerable strong{color:#153d69;letter-spacing:.005em}.map-course-card.is-registerable .map-course-card__icon{filter:saturate(1.08) drop-shadow(0 2px 10px rgba(70,154,255,.24))}.map-course-card.is-registerable.is-registerable-ready{background:linear-gradient(135deg,rgba(231,244,255,.98),rgba(189,220,255,.97) 58%,rgba(144,193,246,.96)) padding-box,linear-gradient(135deg,rgba(79,167,255,.95),rgba(118,219,255,.9) 55%,rgba(84,125,255,.92)) border-box;color:#123863;box-shadow:inset 0 0 0 1px rgba(255,255,255,.42),0 0 0 2px rgba(92,176,255,.2),0 12px 22px rgba(28,62,122,.12)}.map-course-card.is-registerable.is-registerable-strong{background:linear-gradient(135deg,rgba(228,242,255,.99),rgba(181,217,255,.98) 54%,rgba(133,187,246,.97)) padding-box,linear-gradient(135deg,rgba(67,150,247,.97),rgba(108,221,255,.95) 54%,rgba(79,113,252,.95)) border-box;color:#123863;box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),0 0 0 2px rgba(92,176,255,.22),0 12px 22px rgba(28,62,122,.14),0 0 24px rgba(83,158,255,.2)}.map-course-card.is-registerable.is-registerable-strong strong{color:#18365f}.map-course-card.is-registerable.is-registerable-strong .map-course-card__icon{filter:saturate(1.06) drop-shadow(0 2px 10px rgba(79,168,255,.2))}.map-course-card.is-registerable.is-registerable-recommended{background:linear-gradient(135deg,rgba(228,242,255,.99),rgba(181,217,255,.98) 54%,rgba(133,187,246,.97)) padding-box,linear-gradient(135deg,rgba(67,150,247,.97),rgba(108,221,255,.95) 54%,rgba(79,113,252,.95)) border-box;color:#123863;box-shadow:inset 0 0 0 1px rgba(255,255,255,.38),0 0 0 2px rgba(92,176,255,.22),0 12px 22px rgba(28,62,122,.14),0 0 24px rgba(83,158,255,.2)}.map-course-card.is-registerable.is-registerable-recommended,.map-course-card.is-registerable.is-registerable-recommended .map-course-card__label,.map-course-card.is-registerable.is-registerable-recommended strong{color:#18365f}.map-course-card.is-unlockable{border-color:rgba(129,119,152,.2);background:rgba(255,255,255,.96);box-shadow:inset 0 0 0 1px rgba(255,255,255,.52),0 4px 10px rgba(64,54,80,.06)}.curriculum-map.is-exporting .curriculum-map__legend-item--registerable{display:none}.curriculum-map.is-exporting{padding-bottom:112px;scroll-padding-bottom:112px}.mobile-map.is-exporting{padding-bottom:46px}.map-export__meta{display:inline-flex;flex-direction:column;align-items:flex-end;gap:3px;max-width:min(52%,320px);pointer-events:none;text-align:right}.map-export__meta--mobile{position:absolute;right:8px;bottom:0}.curriculum-map>.map-export__meta--desktop{grid-column:9/11;grid-row:6;justify-self:end;align-self:end;margin:0 8px 8px 0}.map-export__meta-name{color:rgba(255,245,236,.96);font-size:13px;font-weight:700;line-height:1.2;letter-spacing:.02em;text-shadow:0 1px 0 rgba(0,0,0,.28)}.map-export__meta-date{color:rgba(255,225,190,.82);font-size:11px;font-weight:600;line-height:1.15;letter-spacing:.04em;text-shadow:0 1px 0 rgba(0,0,0,.24)}.curriculum-map.is-exporting .map-course-card.is-registerable,.curriculum-map.is-exporting .map-course-card.is-registerable.is-recommended,.curriculum-map.is-exporting .map-course-card.is-registerable.is-unlockable,.mobile-map.is-exporting .map-course-card.is-registerable,.mobile-map.is-exporting .map-course-card.is-registerable.is-recommended,.mobile-map.is-exporting .map-course-card.is-registerable.is-unlockable{border:1px solid rgba(129,119,152,.2);background:rgba(255,255,255,.96);color:#5b4e64;outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.52),0 4px 10px rgba(64,54,80,.06)}.curriculum-map.is-exporting .map-course-card.is-registerable strong,.curriculum-map.is-exporting .map-course-card.is-registerable.is-recommended strong,.curriculum-map.is-exporting .map-course-card.is-registerable.is-unlockable strong,.mobile-map.is-exporting .map-course-card.is-registerable strong,.mobile-map.is-exporting .map-course-card.is-registerable.is-recommended strong,.mobile-map.is-exporting .map-course-card.is-registerable.is-unlockable strong{color:inherit;letter-spacing:normal;text-shadow:none}.curriculum-map.is-exporting .map-course-card.is-registerable .map-course-card__icon,.curriculum-map.is-exporting .map-course-card.is-registerable.is-recommended .map-course-card__icon,.curriculum-map.is-exporting .map-course-card.is-registerable.is-unlockable .map-course-card__icon,.mobile-map.is-exporting .map-course-card.is-registerable .map-course-card__icon,.mobile-map.is-exporting .map-course-card.is-registerable.is-recommended .map-course-card__icon,.mobile-map.is-exporting .map-course-card.is-registerable.is-unlockable .map-course-card__icon{filter:none}.map-course-card.is-locked{border-color:rgba(118,113,144,.18);background:linear-gradient(135deg,rgba(238,241,250,.52),rgba(224,228,240,.42)),rgba(255,255,255,.34);color:rgba(86,78,101,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 2px 8px rgba(35,28,44,.04)}.map-course-card.is-locked strong{color:rgba(86,78,101,.74)}.map-course-card.is-locked .map-course-card__icon{opacity:.78}.map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable),.map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable){border-color:rgba(176,218,223,.66);background:linear-gradient(135deg,rgba(244,252,252,.96),rgba(231,246,247,.94));color:rgba(101,119,146,.86);box-shadow:inset 0 0 0 1px rgba(255,255,255,.46),0 6px 14px rgba(58,97,116,.06)}.map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable),.map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__label,.map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) strong,.map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable),.map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__label,.map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) strong{color:rgba(109,122,148,.86);text-shadow:none}.map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__icon,.map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__icon{opacity:.78;filter:saturate(.7)}.map-course-card.is-selected{outline:2px solid rgba(80,74,93,.34);outline-offset:-1px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.68),0 8px 18px rgba(16,10,22,.16)}.map-course-card:hover:not(.is-locked):not(.is-future-offering){border-color:rgba(255,221,166,.62);transform:translateY(-3px) scale(1.018);box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 14px 26px rgba(17,11,24,.14),0 0 0 1px rgba(255,220,152,.18),0 0 22px rgba(255,182,104,.18);animation:map-card-breathe 2.6s ease-in-out infinite}.map-course-card:focus-visible:not(.is-locked):not(.is-future-offering){border-color:transparent;transform:translateY(-4px) scale(1.022);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 18px 30px rgba(17,11,24,.16),0 0 0 2px rgba(19,15,24,.96),0 0 0 6px rgba(255,142,180,.96),0 0 0 10px rgba(255,207,122,.92),0 0 0 14px rgba(255,242,156,.88),0 0 0 18px rgba(157,241,193,.82),0 0 0 22px rgba(144,222,253,.78),0 0 0 26px rgba(187,163,255,.72),0 0 34px rgba(255,167,219,.3);animation:map-card-focus-ring 2.2s ease-in-out infinite}.map-course-card:focus-visible:not(.is-locked):not(.is-future-offering) strong,.map-course-card:hover:not(.is-locked):not(.is-future-offering) strong{transform:translateX(1px);letter-spacing:.01em;color:inherit}.map-course-card:focus-visible:not(.is-locked):not(.is-future-offering) .map-course-card__icon,.map-course-card:hover:not(.is-locked):not(.is-future-offering) .map-course-card__icon{transform:scale(1.12) rotate(-4deg);filter:drop-shadow(0 2px 8px rgba(255,187,111,.34))}.map-course-card.is-planned:focus-visible,.map-course-card.is-planned:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.52),0 0 0 1px rgba(255,224,166,.28),0 16px 30px rgba(98,212,220,.22),0 0 30px rgba(162,236,207,.2)}.map-course-card.is-completed:focus-visible,.map-course-card.is-completed:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 14px 30px rgba(146,62,214,.28),0 0 0 1px rgba(255,215,160,.28),0 0 26px rgba(110,223,255,.22)}.map-course-card.is-registerable:focus-visible,.map-course-card.is-registerable:hover{outline-color:rgba(123,212,255,.82);box-shadow:inset 0 0 0 1px rgba(255,255,255,.96),0 0 0 3px rgba(109,198,255,.28),0 16px 30px rgba(17,45,93,.16),0 0 30px rgba(96,178,255,.24)}.map-course-card.is-linked-highlight{z-index:2;border-color:transparent;outline:2px solid rgba(255,246,178,.98);outline-offset:-2px;background-image:linear-gradient(135deg,rgba(255,144,187,.98),rgba(255,206,120,.98) 18%,rgba(255,245,158,.98) 34%,rgba(154,244,188,.98) 54%,rgba(135,224,255,.98) 72%,rgba(176,156,255,.98) 88%,rgba(255,145,214,.98));color:#3d2646;box-shadow:inset 0 0 0 1px rgba(255,255,255,.74),0 0 0 2px rgba(255,219,98,.46),0 0 0 6px rgba(255,160,232,.22),0 14px 28px rgba(87,40,104,.22),0 0 34px rgba(255,208,74,.56),0 0 58px rgba(124,228,255,.36);animation:linked-glisten .92s cubic-bezier(.22,.78,.2,1) infinite}.map-course-card.is-linked-highlight strong{color:#3d2646;text-shadow:0 1px 0 rgba(255,255,255,.22)}.map-course-card.is-linked-highlight .map-course-card__icon{transform:scale(1.16) rotate(-6deg);filter:drop-shadow(0 0 10px rgba(255,255,255,.46))}.map-course-card.is-linked-highlight:after{opacity:1;transform:translateX(120%) skewX(-18deg);transition:none;animation:linked-shimmer .78s linear infinite}.curriculum-map__stage--project{font-size:11px;line-height:1.15}.curriculum-map__project{grid-column:2/span 7;grid-row:6;display:flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:14px;background:linear-gradient(180deg,#ffb640,#ffa12a);overflow:hidden}.curriculum-map__project-band{display:flex;align-items:center;width:100%;border-radius:8px;font-weight:700;border:2px solid rgba(255,255,255,.3)}.curriculum-map__project-band,.map-course-card--project{justify-content:center;min-height:42px;color:#100307;background:#f00190}.map-course-card--project{padding:8px 14px;border-width:2px;border-color:rgba(255,255,255,.3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 12px 24px rgba(255,0,144,.16)}.map-course-card--project strong{justify-content:center;width:100%;font-size:16px}.map-course-card--project .map-course-card__icon.is-empty{display:none}.map-course-card--project.is-planned{background-image:linear-gradient(135deg,#ffd989,#ffeeb0 28%,#d7f2ac 58%,#9fe8d3 82%,#83dff3);color:#2b1f38;box-shadow:inset 0 0 0 1px rgba(255,255,255,.44),0 12px 26px rgba(101,218,204,.18)}.map-course-card--project.is-completed{color:#fff8ff}.map-panel--dark .map-panel__heading .panel-kicker{color:rgba(111,223,255,.84)}.map-panel--dark .map-panel__heading h2{color:#edf7ff;text-shadow:0 0 20px rgba(82,188,255,.16),0 0 34px rgba(139,112,255,.08)}.curriculum-map--dark .curriculum-map__legend-title,.map-panel--dark .map-panel__legend-title{color:rgba(205,228,255,.72)}.curriculum-map--dark{background:radial-gradient(circle at 14% 6%,rgba(77,221,255,.16),transparent 18%),radial-gradient(circle at 84% 8%,rgba(172,97,255,.14),transparent 20%),radial-gradient(circle at 52% 100%,rgba(46,108,255,.16),transparent 28%),linear-gradient(180deg,#030712,#08111f 44%,#050915);box-shadow:inset 0 0 0 1px rgba(129,184,255,.14),0 30px 48px rgba(0,0,0,.24)}.curriculum-map--dark .curriculum-map__sticky-backdrop:before{background:linear-gradient(180deg,rgba(3,8,20,.98),rgba(4,11,24,.94));box-shadow:inset 0 0 0 1px rgba(128,184,255,.08),0 24px 40px rgba(0,0,0,.32)}.curriculum-map--dark .curriculum-map__stage{border:1px solid rgba(124,193,255,.2);background:linear-gradient(180deg,rgba(15,25,43,.98),rgba(9,16,29,.98));box-shadow:inset 0 1px 0 rgba(197,226,255,.08),0 12px 22px rgba(0,0,0,.24);color:#ecf6ff}.curriculum-map--dark .curriculum-map__stage--intro{background:linear-gradient(180deg,rgba(8,18,36,.98),rgba(6,12,24,.98))}.curriculum-map--dark .curriculum-map__intro{border:1px solid rgba(76,132,188,.16);background:linear-gradient(180deg,rgba(12,18,33,.98),rgba(7,11,22,.98)),rgba(5,8,17,.98);box-shadow:inset 0 1px 0 rgba(188,216,248,.05),0 16px 28px rgba(0,0,0,.3)}.curriculum-map--dark .curriculum-map__intro:before{background:linear-gradient(90deg,rgba(24,121,168,.78),rgba(45,73,173,.8) 48%,rgba(121,63,171,.76));opacity:.72}.curriculum-map--dark .curriculum-map__intro-meta-label{color:rgba(154,181,211,.62)}.curriculum-map--dark .curriculum-map__intro-meta-value{color:#e7f0fb;text-shadow:0 0 10px rgba(70,138,212,.12)}.curriculum-map--dark .curriculum-map__legend:before{background:linear-gradient(180deg,rgba(7,12,25,.98),rgba(5,10,20,.96));box-shadow:inset 0 0 0 1px rgba(128,184,255,.08),0 14px 28px rgba(0,0,0,.24)}.curriculum-map--dark .curriculum-map__legend-item--registerable,.map-panel--dark .curriculum-map__legend-item--registerable{justify-content:center;padding-inline:14px;border:2px solid transparent;border-radius:13px;color:#e7f3ff;text-shadow:0 0 14px rgba(88,181,255,.18);background:linear-gradient(180deg,rgba(8,23,58,.98),rgba(14,39,92,.96)) padding-box,linear-gradient(135deg,rgba(88,177,255,.96),rgba(112,225,255,.92) 48%,rgba(78,122,255,.94)) border-box;box-shadow:inset 0 0 0 1px rgba(222,244,255,.16),0 0 0 1px rgba(83,173,255,.3),0 0 20px rgba(74,159,255,.22),0 12px 24px rgba(5,12,34,.28)}.curriculum-map--dark .curriculum-map__group{border:1px solid rgba(214,236,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 24px rgba(0,0,0,.2);text-shadow:0 0 14px rgba(0,0,0,.24),0 1px 0 rgba(0,0,0,.18)}.curriculum-map--dark .curriculum-map__group--foundation{background:linear-gradient(90deg,#0a2d67,#1363d1 52%,#3de9ff)}.curriculum-map--dark .curriculum-map__group--language{background:linear-gradient(90deg,#4d124c,#c02790 56%,#ff6ca8)}.curriculum-map--dark .curriculum-map__group--world{background:linear-gradient(90deg,#0b3943,#147b8d 42%,#77f2ff)}.curriculum-map--dark .curriculum-map__group--connection{background:linear-gradient(90deg,#313b2e,#6f8657 48%,#b8d078)}.curriculum-map--dark .curriculum-map__group--free{background:linear-gradient(90deg,#311352,#7e39cb 52%,#c68bff)}.curriculum-map--dark .curriculum-map__zone{border-color:rgba(138,178,230,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),inset 0 -18px 34px rgba(1,6,16,.18)}.curriculum-map--dark .curriculum-map__zone--foundation{background:linear-gradient(180deg,rgba(9,30,66,.72),rgba(11,25,53,.82));border-color:rgba(81,146,255,.42)}.curriculum-map--dark .curriculum-map__zone--language{background:linear-gradient(180deg,rgba(63,18,67,.74),rgba(45,13,49,.84));border-color:rgba(255,108,168,.34)}.curriculum-map--dark .curriculum-map__zone--world{background:linear-gradient(180deg,rgba(8,56,66,.72),rgba(9,39,46,.84));border-color:rgba(87,228,255,.34)}.curriculum-map--dark .curriculum-map__zone--connection{background:linear-gradient(180deg,rgba(50,59,34,.72),rgba(36,44,24,.84));border-color:rgba(188,211,115,.28)}.curriculum-map--dark .curriculum-map__zone--free{background:linear-gradient(180deg,rgba(44,17,72,.74),rgba(28,10,47,.84));border-color:rgba(184,129,255,.32)}.curriculum-map--dark .map-cell{background:linear-gradient(180deg,rgba(13,20,37,.42),rgba(9,14,27,.58));border-color:rgba(151,191,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),inset 0 0 40px rgba(9,15,28,.18);color:rgba(205,220,240,.86)}.curriculum-map--dark .map-cell--connection,.curriculum-map--dark .map-cell--free{background:linear-gradient(180deg,rgba(12,18,32,.34),rgba(8,13,24,.52))}.curriculum-map--dark .map-cell__domain{border-color:rgba(109,180,255,.34);background:linear-gradient(135deg,rgba(18,32,58,.98),rgba(33,58,102,.96));box-shadow:inset 0 1px 0 rgba(224,240,255,.12),0 10px 18px rgba(0,0,0,.2);color:#f0f9ff}.curriculum-map--dark .map-cell__credits{color:rgba(173,191,218,.74)}.curriculum-map--dark .map-empty-note{color:rgba(196,214,236,.62);background:rgba(13,21,38,.62);border-color:rgba(114,159,212,.18)}.curriculum-map--dark .curriculum-map__project{border:1px solid rgba(111,224,255,.22);background:linear-gradient(180deg,rgba(11,21,40,.96),rgba(7,13,24,.98)),rgba(6,10,18,.98);box-shadow:inset 0 1px 0 rgba(218,239,255,.08),0 18px 34px rgba(0,0,0,.28)}.curriculum-map--dark .curriculum-map__project-band{border-color:rgba(229,246,255,.28);background:linear-gradient(135deg,#30d5ff,#6a7cff 48%,#b06dff);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 14px 28px rgba(29,74,180,.26),0 0 36px rgba(48,213,255,.18);color:#04111d}.curriculum-map--dark .map-course-card,.mobile-map--dark .map-course-card{background:linear-gradient(135deg,rgba(16,24,44,.96),rgba(19,31,54,.92));border-color:rgba(104,144,202,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 18px rgba(0,0,0,.18);color:#dfeafb}.curriculum-map--dark .map-course-card strong,.mobile-map--dark .map-course-card strong{color:#e9f5ff}.curriculum-map--dark .map-course-card.is-considering,.mobile-map--dark .map-course-card.is-considering{border-color:rgba(255,156,104,.72);background-image:linear-gradient(135deg,rgba(255,246,214,.98),rgba(255,222,162,.98) 38%,rgba(255,194,145,.98));box-shadow:inset 0 0 0 1px rgba(255,251,240,.42),0 0 0 1px rgba(255,208,155,.4),0 14px 28px rgba(114,57,34,.24),0 0 28px rgba(255,170,108,.24);color:#5a260f}.curriculum-map--dark .map-course-card.is-considering strong,.mobile-map--dark .map-course-card.is-considering strong{color:#5a260f;text-shadow:0 1px 0 rgba(255,255,255,.24)}.curriculum-map--dark .map-course-card.is-considering .map-course-card__icon,.mobile-map--dark .map-course-card.is-considering .map-course-card__icon{filter:saturate(1.12) drop-shadow(0 0 8px rgba(255,176,79,.28))}.curriculum-map--dark .map-course-card.is-planned,.mobile-map--dark .map-course-card.is-planned{border-color:rgba(112,229,236,.68);background-image:linear-gradient(135deg,#ffd989,#ffeeb0 28%,#d7f2ac 58%,#9fe8d3 82%,#83dff3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.44),0 0 0 1px rgba(255,219,153,.26),0 12px 26px rgba(101,218,204,.18);color:#46384d}.curriculum-map--dark .map-course-card.is-planned strong,.mobile-map--dark .map-course-card.is-planned strong{color:#46384d}.curriculum-map--dark .map-course-card.is-completed,.mobile-map--dark .map-course-card.is-completed{border-color:rgba(255,216,137,.38);background-image:linear-gradient(135deg,rgba(56,18,84,.98),rgba(32,19,70,.98) 26%,rgba(104,27,112,.98) 58%,rgba(24,115,136,.96));box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 0 0 1px rgba(255,216,137,.24),0 12px 28px rgba(146,62,214,.24),0 0 24px rgba(78,190,222,.18);color:#fff8ff}.curriculum-map--dark .map-course-card.is-completed strong,.mobile-map--dark .map-course-card.is-completed strong{color:#fff8ff;text-shadow:0 1px 0 rgba(0,0,0,.16),0 0 16px rgba(255,216,137,.16)}.curriculum-map--dark .map-course-card.is-recommended,.mobile-map--dark .map-course-card.is-recommended{border-color:rgba(106,127,165,.22);background:linear-gradient(135deg,rgba(15,26,47,.96),rgba(20,33,58,.92))}.curriculum-map--dark .map-course-card.is-unlockable,.mobile-map--dark .map-course-card.is-unlockable{border-color:rgba(96,119,154,.2);background:linear-gradient(135deg,rgba(17,28,51,.96),rgba(20,32,57,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 20px rgba(0,0,0,.2)}.curriculum-map--dark .map-course-card.is-registerable,.mobile-map--dark .map-course-card.is-registerable{border:3px solid transparent;outline:3px solid rgba(96,191,255,.42);outline-offset:-2px;box-shadow:0 0 0 1px rgba(81,171,255,.24),0 14px 28px rgba(8,18,46,.28)}.curriculum-map--dark .map-course-card.is-registerable strong,.mobile-map--dark .map-course-card.is-registerable strong{color:inherit}.curriculum-map--dark .map-course-card.is-registerable .map-course-card__icon,.mobile-map--dark .map-course-card.is-registerable .map-course-card__icon{filter:saturate(1.08) drop-shadow(0 0 8px rgba(79,168,255,.24))}.curriculum-map--dark .map-course-card.is-registerable.is-registerable-ready,.mobile-map--dark .map-course-card.is-registerable.is-registerable-ready{background:linear-gradient(135deg,rgba(7,22,56,.98),rgba(13,40,94,.97) 58%,rgba(18,53,113,.95)) padding-box,linear-gradient(135deg,rgba(88,176,255,.94),rgba(103,218,255,.9) 46%,rgba(76,119,255,.92)) border-box;color:#e2f0ff;box-shadow:inset 0 0 0 1px rgba(228,246,255,.14),0 0 0 1px rgba(84,173,255,.26),0 16px 30px rgba(7,18,46,.3),0 0 24px rgba(69,145,255,.14)}.curriculum-map--dark .map-course-card.is-registerable.is-registerable-recommended,.curriculum-map--dark .map-course-card.is-registerable.is-registerable-strong,.mobile-map--dark .map-course-card.is-registerable.is-registerable-recommended,.mobile-map--dark .map-course-card.is-registerable.is-registerable-strong{background:linear-gradient(135deg,rgba(245,251,255,.96),rgba(203,236,255,.94) 54%,rgba(143,202,255,.9)) padding-box,linear-gradient(135deg,rgba(74,156,255,.92),rgba(110,229,255,.9) 54%,rgba(87,119,255,.9)) border-box;color:#17345a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.34),0 0 0 1px rgba(103,190,255,.24),0 16px 30px rgba(10,20,45,.32),0 0 22px rgba(96,178,255,.2),0 0 36px rgba(87,119,255,.12)}.curriculum-map--dark .map-course-card.is-registerable.is-registerable-recommended,.curriculum-map--dark .map-course-card.is-registerable.is-registerable-recommended .map-course-card__label,.curriculum-map--dark .map-course-card.is-registerable.is-registerable-recommended strong,.curriculum-map--dark .map-course-card.is-registerable.is-registerable-strong strong,.mobile-map--dark .map-course-card.is-registerable.is-registerable-recommended,.mobile-map--dark .map-course-card.is-registerable.is-registerable-recommended .map-course-card__label,.mobile-map--dark .map-course-card.is-registerable.is-registerable-recommended strong,.mobile-map--dark .map-course-card.is-registerable.is-registerable-strong strong{color:#18365f}.curriculum-map--dark .map-course-card.is-locked,.mobile-map--dark .map-course-card.is-locked{border-color:rgba(90,110,148,.18);background:linear-gradient(135deg,rgba(18,24,39,.74),rgba(13,18,30,.84)),rgba(8,11,20,.64);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 2px 10px rgba(0,0,0,.1);color:rgba(147,165,191,.68)}.curriculum-map--dark .map-course-card.is-locked strong,.mobile-map--dark .map-course-card.is-locked strong{color:rgba(147,165,191,.72)}.curriculum-map--dark .map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable),.curriculum-map--dark .map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable),.mobile-map--dark .map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable),.mobile-map--dark .map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable){border-color:rgba(145,201,211,.28);background:linear-gradient(135deg,rgba(206,232,235,.12),rgba(194,221,227,.08));box-shadow:inset 0 0 0 1px rgba(222,248,255,.08),0 8px 16px rgba(0,0,0,.14)}.curriculum-map--dark .map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable),.curriculum-map--dark .map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__label,.curriculum-map--dark .map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) strong,.curriculum-map--dark .map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable),.curriculum-map--dark .map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__label,.curriculum-map--dark .map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) strong,.mobile-map--dark .map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable),.mobile-map--dark .map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__label,.mobile-map--dark .map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) strong,.mobile-map--dark .map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable),.mobile-map--dark .map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__label,.mobile-map--dark .map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) strong{color:rgba(180,194,218,.86)}.curriculum-map--dark .map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__icon,.curriculum-map--dark .map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__icon,.mobile-map--dark .map-course-card.is-future-offering:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__icon,.mobile-map--dark .map-course-card.is-off-quarter:not(.is-completed):not(.is-considering):not(.is-planned):not(.is-registerable) .map-course-card__icon{opacity:.74;filter:saturate(.74)}.curriculum-map--dark .map-course-card.is-selected,.mobile-map--dark .map-course-card.is-selected{outline-color:rgba(109,226,255,.52);box-shadow:inset 0 0 0 1px rgba(228,246,255,.16),0 0 0 1px rgba(72,211,255,.24),0 10px 24px rgba(0,0,0,.24)}.curriculum-map--dark .map-course-card:focus-visible:not(.is-locked):not(.is-future-offering),.curriculum-map--dark .map-course-card:hover:not(.is-locked):not(.is-future-offering),.mobile-map--dark .map-course-card:focus-visible:not(.is-locked):not(.is-future-offering),.mobile-map--dark .map-course-card:hover:not(.is-locked):not(.is-future-offering){border-color:rgba(106,233,255,.58);box-shadow:inset 0 0 0 1px rgba(229,247,255,.14),0 16px 30px rgba(0,0,0,.34),0 0 0 1px rgba(89,214,255,.18),0 0 26px rgba(102,136,255,.16)}.curriculum-map--dark .map-course-card:focus-visible:not(.is-locked):not(.is-future-offering),.mobile-map--dark .map-course-card:focus-visible:not(.is-locked):not(.is-future-offering){box-shadow:inset 0 0 0 1px rgba(229,247,255,.18),0 18px 30px rgba(0,0,0,.34),0 0 0 2px rgba(4,11,24,.96),0 0 0 6px rgba(76,229,255,.56),0 0 0 10px rgba(96,138,255,.42),0 0 0 14px rgba(185,114,255,.28),0 0 34px rgba(92,228,255,.24)}.curriculum-map--dark .map-course-card:focus-visible:not(.is-locked):not(.is-future-offering) .map-course-card__icon,.curriculum-map--dark .map-course-card:hover:not(.is-locked):not(.is-future-offering) .map-course-card__icon,.mobile-map--dark .map-course-card:focus-visible:not(.is-locked):not(.is-future-offering) .map-course-card__icon,.mobile-map--dark .map-course-card:hover:not(.is-locked):not(.is-future-offering) .map-course-card__icon{filter:drop-shadow(0 0 10px rgba(103,230,255,.36))}.curriculum-map--dark .map-course-card--project,.mobile-map--dark .map-course-card--project{border-color:rgba(226,243,255,.26);background:linear-gradient(135deg,#24dfff,#6a7cff 48%,#c573ff);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 12px 24px rgba(38,106,255,.24),0 0 32px rgba(63,213,255,.18);color:#05131f}.curriculum-map--dark .map-course-card--project strong,.mobile-map--dark .map-course-card--project strong{color:#05131f}.mobile-map--dark{gap:14px}.mobile-map--dark .mobile-map__group{background:linear-gradient(180deg,rgba(13,20,36,.88),rgba(7,11,22,.84)),rgba(4,7,15,.88);border-color:rgba(112,157,219,.18);box-shadow:inset 0 1px 0 rgba(198,226,255,.06),0 18px 30px rgba(0,0,0,.22)}.mobile-map--dark .mobile-map__group--intro{background:linear-gradient(180deg,rgba(48,213,255,.12),rgba(13,20,36,.88)),rgba(4,7,15,.88);border-color:rgba(83,228,255,.24)}.mobile-map--dark .mobile-map__group--foundation{background:linear-gradient(180deg,rgba(49,103,255,.12),rgba(13,20,36,.88)),rgba(4,7,15,.88);border-color:rgba(96,144,255,.24)}.mobile-map--dark .mobile-map__group--language{background:linear-gradient(180deg,rgba(255,96,182,.12),rgba(13,20,36,.88)),rgba(4,7,15,.88);border-color:rgba(255,115,191,.22)}.mobile-map--dark .mobile-map__group--world{background:linear-gradient(180deg,rgba(87,228,255,.12),rgba(13,20,36,.88)),rgba(4,7,15,.88);border-color:rgba(87,228,255,.22)}.mobile-map--dark .mobile-map__group--connection{background:linear-gradient(180deg,rgba(188,211,115,.1),rgba(13,20,36,.88)),rgba(4,7,15,.88);border-color:rgba(188,211,115,.18)}.mobile-map--dark .mobile-map__group--free{background:linear-gradient(180deg,rgba(190,117,255,.12),rgba(13,20,36,.88)),rgba(4,7,15,.88);border-color:rgba(188,129,255,.22)}.mobile-map--dark .mobile-map__group--project{background:linear-gradient(180deg,rgba(48,213,255,.12),rgba(13,20,36,.88)),rgba(4,7,15,.88);border-color:rgba(83,228,255,.24)}.mobile-map--dark .mobile-map__domain-label,.mobile-map--dark .mobile-map__group-header h3{color:#edf7ff}.mobile-map--dark .mobile-map__domain-credits,.mobile-map--dark .mobile-map__group-meta,.mobile-map--dark .mobile-map__stage-label{color:rgba(191,213,238,.72)}.mobile-map--dark .mobile-map__domain{background:rgba(13,21,38,.5);border-color:rgba(118,162,223,.16)}.mobile-map--dark .mobile-map__empty{background:rgba(8,13,25,.54);color:rgba(197,215,238,.6);border-color:rgba(116,160,217,.18)}.board-panel,.drawer-panel{background:rgba(30,23,36,.94)}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 6px;align-items:stretch}.course-popup-card .info-grid{gap:10px;margin:12px 0 8px}.info-pill{display:grid;align-content:start;gap:4px;min-height:48px;padding:8px 10px;border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.info-pill span{color:var(--muted);font-size:10px;line-height:1.2;letter-spacing:.04em}.info-pill strong{font-size:16px;line-height:1.3;text-align:left;white-space:normal;word-break:break-word;overflow:hidden;color:rgba(255,247,242,.96)}.info-link-button,.info-link-placeholder{font-size:16px;line-height:1.3;font-weight:700}.info-pill strong.info-pill__value--section{font-size:16px}.info-pill strong.info-pill__value--section,.info-pill strong.info-pill__value--tight{line-height:1.15;white-space:nowrap;word-break:normal;overflow:hidden;text-overflow:ellipsis}.info-pill strong.info-pill__value--tight{font-size:14px}.info-pill strong.info-pill__value--wrapped{font-size:12px;line-height:1.12;white-space:nowrap;word-break:normal;overflow:hidden;text-overflow:ellipsis}.info-pill--method strong{font-size:16px}.info-pill__value-with-icon{display:inline-flex;align-items:baseline;gap:.4em}.info-pill strong .info-pill__value-icon{flex:0 0 auto;font-size:.95em;line-height:1}.info-pill strong .info-pill__value-text{font-size:1em;font-weight:inherit;line-height:inherit;letter-spacing:0;color:inherit}.info-pill--interactive{min-width:0}.info-pill--method,.info-pill--teacher{grid-column:span 2;min-width:0}.info-pill--numbering{grid-column:span 2}.info-link-button{display:inline-flex;align-items:center;justify-content:flex-start;min-width:0;max-width:100%;padding:0;border:0;color:#ffca7a;background:transparent;text-align:left;white-space:normal;word-break:break-word;text-decoration:underline;text-decoration-color:rgba(255,202,122,.35);text-underline-offset:.14em}.info-link-list{display:grid;gap:4px;min-width:0}.info-link-placeholder{color:var(--muted)}.course-state-block{display:block;margin-top:14px}.course-popup-card .info-pill{min-height:56px;padding:10px 12px}.drawer-panel .course-state-block{padding:6px;border-radius:16px;border:1px solid rgba(255,223,186,.1);background:linear-gradient(180deg,rgba(74,54,65,.68),rgba(49,37,55,.82)),rgba(255,255,255,.03);box-shadow:inset 0 1px 0 rgba(255,244,232,.04),0 10px 24px rgba(0,0,0,.14)}.course-state-block__label{color:var(--muted);font-size:12px;display:none}.course-state-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.drawer-panel .course-state-actions{gap:3px}.drawer-panel .course-state-actions .state-button{gap:2px;min-height:34px;padding:6px 4px;border-radius:10px;font-size:10px;line-height:1.15;min-width:0}.drawer-panel .course-state-actions .state-button__icon{font-size:11px}.drawer-panel .course-state-actions .state-button span:last-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.state-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:10px 12px;background:rgba(255,255,255,.06)}.state-button,.state-button--clear{color:var(--ink);border-color:var(--line)}.state-button--clear{background:rgba(255,255,255,.05)}.state-button:disabled{cursor:not-allowed;transform:none;box-shadow:none}.state-button:disabled:after{opacity:0}.state-button--clear:disabled{color:rgba(255,246,238,.34);background:linear-gradient(180deg,rgba(58,46,60,.52),rgba(38,30,44,.68)),rgba(255,255,255,.02);border-color:rgba(255,244,232,.08);filter:grayscale(.18)}.state-button__icon{flex:0 0 auto;font-size:14px;line-height:1}.state-button--completed:before,.state-button--in_progress:before,.state-button--planned:before{content:none}.state-button.is-active{border-color:transparent;color:#43364d;font-weight:700}.state-button--in_progress.is-active{background:#fff1c8}.state-button--planned.is-active{color:#362d41;border-color:transparent;background-image:linear-gradient(135deg,#ffd989,#ffeeb0 28%,#d7f2ac 58%,#9fe8d3 82%,#83dff3);box-shadow:0 0 0 1px rgba(255,255,255,.24),0 12px 28px rgba(101,218,204,.18)}.state-button--completed.is-active{background:linear-gradient(135deg,#5b2b77,#243764 40%,#114b55 70%,#6f2254);color:#fff8ff;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 10px 24px rgba(124,79,208,.2)}.interest-grid,.share-box,.tag-row{display:flex;flex-wrap:wrap;gap:8px}.interest-chip,.tag-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--line)}.interest-chip.is-active{background:#fff0c7;color:#473c53}.detail-block{margin-top:12px}.detail-block--dream{margin-top:14px}@media (max-width:899px){.detail-primary-actions{flex-direction:column;gap:10px}}.board-year h3,.detail-block h3{margin:0 0 8px;font-size:14px;letter-spacing:.05em}.detail-list{margin:0;padding-left:18px;display:grid;gap:8px}.detail-list li span{display:block;color:var(--muted)}.detail-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;min-height:42px;padding:10px 16px;border-radius:12px;border:1px solid rgba(255,203,120,.28);color:#6d3b06;background:linear-gradient(135deg,rgba(255,215,129,.98),rgba(255,179,93,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 10px 24px rgba(255,177,96,.14);text-decoration:none;font-weight:700;cursor:pointer;transition:transform .22s ease,box-shadow .28s ease,filter .22s ease}.detail-primary-actions{display:flex;gap:12px;width:100%;margin:2px 0 18px}.detail-primary-actions>*{flex:1 1;min-width:0}.detail-link:focus-visible,.detail-link:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 14px 30px rgba(255,177,96,.2);filter:saturate(1.06)}.detail-link:focus-visible{outline:none}.detail-link--header{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border-radius:10px;font-size:9px;line-height:1}.detail-link--header,.detail-link--wide{white-space:nowrap!important;word-break:keep-all}.detail-link--wide{display:flex;width:100%;clear:both;margin:2px 0 18px;writing-mode:horizontal-tb;text-orientation:mixed;flex-wrap:nowrap}.detail-link--cta{width:auto;margin:0;white-space:nowrap!important;word-break:keep-all}.detail-link--course-site{border:1px solid rgba(146,232,221,.34);color:#e5fffb;background:radial-gradient(circle at top left,rgba(232,255,250,.18),transparent 34%),linear-gradient(135deg,rgba(40,120,126,.98),rgba(20,56,62,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 24px rgba(15,48,55,.2)}.detail-link--course-site:focus-visible,.detail-link--course-site:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 14px 28px rgba(15,48,55,.28);filter:saturate(1.05)}.detail-link--dream{border:1px solid rgba(210,185,255,.24);color:#f5efff;background:radial-gradient(circle at top left,rgba(249,235,255,.18),transparent 36%),linear-gradient(135deg,rgba(102,72,170,.98),rgba(41,25,81,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 24px rgba(31,18,56,.18)}.detail-link--dream:focus-visible,.detail-link--dream:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 14px 28px rgba(31,18,56,.28);filter:saturate(1.05)}.detail-link:disabled,.detail-link:disabled:focus-visible,.detail-link:disabled:hover{border-color:rgba(150,165,184,.16);color:rgba(225,230,240,.5);background:linear-gradient(135deg,rgba(47,45,58,.94),rgba(28,27,36,.94)),rgba(28,27,36,.94);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 18px rgba(17,15,26,.1);cursor:not-allowed;transform:none;filter:none}.detail-badge-numbering{display:inline-flex;align-items:center;max-width:100%;min-height:26px;padding:0 10px;border-radius:999px;border:1px solid rgba(153,237,224,.34);background:linear-gradient(135deg,rgba(95,215,255,.14),rgba(202,128,255,.1)),rgba(18,15,28,.94);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 20px rgba(30,20,44,.18);color:#dcf8ff;font-size:10px;font-weight:700;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.relation-list{display:flex;flex-wrap:wrap;gap:6px}.relation-empty{margin:0;font-size:.5em;line-height:1.2;color:rgba(255,246,238,.58)}.relation-link{padding:7px 10px;color:var(--ink);background:rgba(255,255,255,.08);border-color:var(--line);font-size:13px;line-height:1.1}.board-year{margin-top:12px}.board-export-shell{min-width:0;position:relative}@media (min-width:921px){.planner-layout__board-full .board-export-shell,.side-stack__board .board-export-shell{max-height:calc(100vh - 182px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}}.board-export-shell--full{width:100%;overflow-x:auto;overflow-y:auto;padding-bottom:6px}.board-export-shell--empty{overflow:hidden}.board-export--empty{filter:blur(10px) saturate(.78);opacity:.28;pointer-events:none;-webkit-user-select:none;user-select:none}.board-empty-state{position:absolute;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;gap:14px;padding:28px 18px;text-align:center;pointer-events:none}.board-empty-state__message{margin:0;max-width:28ch;color:rgba(244,238,247,.94);font-size:15px;line-height:1.6}.board-empty-state__action{pointer-events:auto;width:min(320px,100%);min-height:46px;padding:12px 22px;border-radius:16px;box-shadow:0 20px 44px rgba(255,176,88,.18),inset 0 0 0 1px rgba(255,210,144,.12)}.board-export{min-width:0;position:relative}.board-export--full{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;align-content:start;gap:14px;min-width:1040px;width:100%}.board-export.is-exporting{padding-top:44px;padding-bottom:50px}.board-export__legend{position:absolute;top:0;left:50%;z-index:3;width:max-content;max-width:calc(100% - 16px);justify-self:center;padding-inline:0;margin:0;transform:translateX(-50%)}.board-export__meta{position:absolute;right:8px;bottom:0;display:inline-flex;flex-direction:column;align-items:flex-end;gap:3px;max-width:min(52%,320px);pointer-events:none;text-align:right}.board-export__meta-name{color:rgba(255,245,236,.96);font-size:13px;font-weight:700;line-height:1.2;letter-spacing:.02em;text-shadow:0 1px 0 rgba(0,0,0,.28)}.board-export__meta-date{color:rgba(255,225,190,.82);font-size:11px;font-weight:600;line-height:1.15;letter-spacing:.04em;text-shadow:0 1px 0 rgba(0,0,0,.24)}.board-year--full{display:grid;gap:12px;margin-top:0;min-width:0;padding:12px;border-radius:20px;border:1px solid var(--board-year-border,rgba(255,255,255,.08));background:radial-gradient(circle at top right,var(--board-year-glow,rgba(255,255,255,.06)),transparent 40%),linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015)),var(--board-year-surface,rgba(255,255,255,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 0 1px rgba(255,255,255,.02)}.board-year--full .board-year__content-inner{overflow:visible}.board-export--full.board-export--compact{grid-auto-flow:column;grid-auto-columns:minmax(360px,1fr);align-items:start;width:max-content;min-width:100%}.board-quarter-list--full{grid-template-columns:repeat(4,minmax(240px,1fr));align-items:start;gap:12px}.board-year__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.board-year__header-main{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.board-year__header h3{margin-bottom:0;color:var(--board-year-title,var(--ink))}.board-year__total{color:rgba(255,246,238,.7);font-size:13px;font-weight:700;line-height:1;white-space:nowrap}.board-quarter__content,.board-year__content{display:grid;grid-template-rows:1fr;min-width:0;transition:grid-template-rows .26s cubic-bezier(.2,.8,.2,1),opacity .18s ease}.board-quarter__content.is-collapsed,.board-year__content.is-collapsed{grid-template-rows:0fr;opacity:.72;overflow:hidden}.board-quarter__content-inner,.board-year__content-inner{min-height:0;overflow:hidden;transform-origin:top center;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .22s ease,filter .22s ease}.board-quarter__content-inner{display:grid;gap:10px}.board-quarter__content.is-collapsed>.board-quarter__content-inner,.board-year__content.is-collapsed>.board-year__content-inner{opacity:0;transform:translateY(-10px) scaleY(.96);filter:blur(2px)}.board-panel--compact .board-quarter__content,.board-panel--compact .board-quarter__content-inner,.board-panel--compact .board-year__content-inner{min-height:0}.board-panel--compact .board-quarter__content-inner--compact{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:4px;overflow:visible;max-height:none;height:auto;padding-right:0}.board-quarter__content.is-collapsed .board-quarter__content-inner--compact{overflow:hidden;max-height:0;height:0}.board-panel--compact.board-panel--exporting .board-quarter__content,.board-panel--compact.board-panel--exporting .board-year__content{overflow:visible}.board-panel--compact.board-panel--exporting .board-quarter-list{height:auto}.board-panel--compact.board-panel--exporting .board-quarter--compact{min-height:0}.board-panel--compact.board-panel--exporting .board-quarter__content-inner,.board-panel--compact.board-panel--exporting .board-quarter__content-inner--compact,.board-panel--compact.board-panel--exporting .board-year__content-inner{overflow:visible!important;max-height:none!important;height:auto!important;padding-right:0}.board-actions{gap:10px}.board-actions,.board-panel:not(.board-panel--full) .panel-heading--board .board-actions{display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-end;width:max-content;max-width:100%}.board-panel:not(.board-panel--full) .panel-heading--board .board-actions{justify-self:end;align-self:start;margin-left:auto}.board-actions__buttons,.board-actions__controls{display:inline-flex;flex-wrap:nowrap;min-width:0}.board-actions__controls{align-items:flex-start;gap:10px}.board-actions__controls--header{flex:0 0 auto;align-items:center}.board-actions__buttons{align-items:center;gap:10px}.board-actions__separator{display:inline-flex;align-items:center;justify-content:center;align-self:center;color:rgba(236,222,242,.56);font-size:15px;font-weight:600;line-height:1;padding:0 2px;-webkit-user-select:none;user-select:none}.board-actions__separator--title{align-self:flex-end;padding:0 0 2px}.board-legend{--legend-item-gap:6px;flex:0 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:0;padding:0 10px;position:relative;z-index:1}.board-legend__title{flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.08em;color:rgba(236,222,242,.72);white-space:nowrap}.board-legend__items{flex:0 1 auto;display:flex;flex-wrap:nowrap;gap:var(--legend-item-gap)}.board-legend__item,.board-legend__items{min-width:0;justify-content:center;overflow:hidden}.board-legend__item{display:inline-flex;align-items:center;gap:6px;flex:0 1 auto;min-height:34px;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:10px;font-size:12px;font-weight:700;line-height:1.25;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.board-legend__item>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.board-legend__icon{font-size:12px;line-height:1}.board-density-control{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;margin-right:2px}.board-density-control__label{color:rgba(255,246,238,.76)}.board-density-control__row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.board-order-control{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.board-order-control__row{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.board-order-control__field{display:inline-flex;align-items:center;gap:6px;min-width:0}.board-order-control__field-label{flex:0 0 auto;color:rgba(255,246,238,.64);font-size:11px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.board-order-toggle{--board-order-padding:4px;position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;width:fit-content;min-width:0;padding:var(--board-order-padding);border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.04)),rgba(24,18,31,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.14);isolation:isolate}.board-order-toggle__thumb{position:absolute;top:var(--board-order-padding);bottom:var(--board-order-padding);left:var(--board-order-padding);width:calc((100% - (var(--board-order-padding) * 2)) / 2);border:1px solid rgba(104,195,255,.3);border-radius:10px;background:linear-gradient(180deg,#8ad8ff,#56b7ff);box-shadow:inset 0 1px 0 rgba(242,251,255,.42),0 6px 16px rgba(63,153,255,.16);transition:transform .22s cubic-bezier(.2,.7,.2,1);pointer-events:none;z-index:0}.board-order-toggle[data-order=desc] .board-order-toggle__thumb{transform:translateX(100%)}.board-order-toggle__button{position:relative;z-index:1;min-width:58px;min-height:34px;padding:6px 11px;border:1px solid transparent;border-radius:10px;background:transparent;color:rgba(255,246,238,.8);font-size:12px;font-weight:800;line-height:1;letter-spacing:.03em;white-space:nowrap;cursor:pointer;transition:color .18s ease,transform .18s ease}.board-order-toggle[data-order=asc] .board-order-toggle__button:first-of-type,.board-order-toggle[data-order=desc] .board-order-toggle__button:last-of-type{color:#0f3f63;text-shadow:0 1px 0 rgba(244,252,255,.34)}.board-order-toggle__button:hover{color:rgba(255,246,238,.96)}.board-order-toggle__button:focus-visible{outline:none}.board-density-toggle{--board-density-padding:4px;position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;width:fit-content;min-width:0;padding:var(--board-density-padding);border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.04)),rgba(24,18,31,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.14);isolation:isolate}.board-density-toggle__thumb{position:absolute;top:var(--board-density-padding);bottom:var(--board-density-padding);left:var(--board-density-padding);width:calc((100% - (var(--board-density-padding) * 2)) / 2);border:1px solid rgba(255,190,101,.3);border-radius:10px;background:linear-gradient(180deg,#ffd174,#ffb25c);box-shadow:inset 0 1px 0 rgba(255,251,241,.38),0 6px 16px rgba(255,177,96,.14);transition:transform .22s cubic-bezier(.2,.7,.2,1);pointer-events:none;z-index:0}.board-density-toggle[data-mode=compact] .board-density-toggle__thumb{transform:translateX(100%)}.board-density-toggle__button{position:relative;z-index:1;min-width:64px;min-height:34px;padding:6px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:rgba(255,246,238,.8);font-size:12px;font-weight:800;line-height:1;letter-spacing:.03em;white-space:nowrap;cursor:pointer;transition:color .18s ease,transform .18s ease}.board-density-toggle[data-mode=compact] .board-density-toggle__button:last-of-type,.board-density-toggle[data-mode=default] .board-density-toggle__button:first-of-type{color:#6d3b06;text-shadow:0 1px 0 rgba(255,247,234,.34)}.board-density-toggle__button:hover{color:rgba(255,246,238,.96)}.board-density-toggle__button:focus-visible{outline:none}.board-actions .accent-button,.board-actions .ghost-button,.board-panel__download{min-height:38px;padding:8px 12px;border-radius:11px;font-size:12px}.board-panel__download,.board-panel__pdf{min-width:116px;padding-inline:12px}.board-panel__guide{min-width:96px}.board-panel__fullscreen{min-width:118px}.board-panel__fullscreen--inline{flex:0 0 auto;align-self:center}.board-panel__fullscreen-icon{width:1em;height:1em}.accent-button.board-panel__fullscreen,.ghost-button.board-panel__fullscreen{color:#fff6f6;background:linear-gradient(135deg,rgba(255,128,116,.98),rgba(235,70,104,.98) 52%,rgba(136,20,58,.98));border-color:rgba(255,151,151,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 20px rgba(120,18,48,.2),0 0 0 1px rgba(255,136,136,.08)}.accent-button.board-panel__fullscreen:hover,.ghost-button.board-panel__fullscreen:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 24px rgba(120,18,48,.24),0 0 0 1px rgba(255,156,156,.14)}.accent-button.board-panel__fullscreen.board-panel__fullscreen--active,.ghost-button.board-panel__fullscreen.board-panel__fullscreen--active{color:#eef6ff;background:linear-gradient(135deg,rgba(108,176,255,.98),rgba(68,132,255,.98) 54%,rgba(22,63,158,.98));border-color:rgba(148,192,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 22px rgba(28,74,168,.24),0 0 0 1px rgba(128,176,255,.1)}.accent-button.board-panel__fullscreen.board-panel__fullscreen--active:hover,.ghost-button.board-panel__fullscreen.board-panel__fullscreen--active:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 14px 28px rgba(28,74,168,.28),0 0 0 1px rgba(152,198,255,.16)}.board-copy-status{margin:0;color:#ffca7a;font-size:12px;text-align:right}.board-quarter-list{display:grid;gap:8px}.board-panel--compact .board-quarter-list{gap:6px}.board-panel--compact .board-quarter-list:not(.board-quarter-list--full){grid-template-rows:repeat(4,max-content);height:auto}.board-panel--compact .board-quarter-list--full{align-items:stretch}.board-panel--compact .board-export--full.board-export--compact .board-year--full{min-width:360px}.board-panel--compact .board-export.is-exporting{padding-bottom:44px}.board-panel--compact .board-export__meta{right:6px;gap:2px}.board-panel--compact .board-export.is-exporting{padding-top:40px}.board-panel--compact .board-export__legend{max-width:calc(100% - 12px)}.board-panel--compact .board-export__meta-name{font-size:11px}.board-panel--compact .board-export__meta-date{font-size:10px}.board-panel--compact .board-export--full.board-export--compact .board-quarter-list--full{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,max-content);gap:8px;height:auto}.board-panel--compact .board-export--full.board-export--compact .board-quarter-list--full .board-quarter--compact{min-height:0}.board-panel--compact .board-export--full.board-export--compact .board-quarter-list--full .board-quarter__content-inner--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.board-panel--compact .board-export--full.board-export--compact .board-quarter-list--full .board-quarter--compact.is-collapsed{align-content:start;min-height:fit-content}.board-quarter{display:grid;gap:8px;padding:10px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.board-quarter--compact{gap:6px;min-height:0;padding:7px}.board-quarter-list--full .board-quarter--compact{min-height:clamp(210px,34vh,340px)}.board-quarter.is-drop-target{border-color:rgba(255,198,120,.62);background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,220,152,.14),0 0 0 1px rgba(255,200,124,.14),0 0 22px rgba(255,177,87,.12)}.board-quarter__header{justify-content:space-between}.board-quarter__header,.board-quarter__header-main{display:flex;align-items:center;gap:10px}.board-panel--compact .board-quarter__header,.board-panel--compact .board-quarter__header-main{gap:8px}.board-toggle{gap:6px;min-height:34px;padding:6px 10px;font-size:12px;white-space:nowrap}.board-toggle,.board-toggle__icon{display:inline-flex;align-items:center;justify-content:center}.board-toggle__icon{width:.95em;height:.95em;line-height:1;flex:0 0 auto}.board-quarter__empty{margin:0;color:rgba(255,246,238,.5);font-size:12px}.board-panel--compact .board-quarter__header-main strong{font-size:13px}.board-panel--compact .board-quarter__empty,.board-panel--compact .board-quarter__header-main span{font-size:11px}.plan-row{display:grid;grid-template-columns:minmax(0,1.5fr) auto auto;align-items:center;gap:10px;padding:11px 10px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);cursor:grab;position:relative;overflow:hidden;isolation:isolate;transform-origin:center;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.plan-row:after,.plan-row:before{content:"";position:absolute;inset:-16%;border-radius:inherit;pointer-events:none;opacity:0;z-index:1}.plan-row:before{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.98) 0 6%,rgba(255,228,147,.94) 10%,rgba(255,168,227,.62) 22%,rgba(128,236,255,.44) 34%,transparent 62%);transform:scale(.26);filter:blur(.2px);mix-blend-mode:screen}.plan-row:after{background:conic-gradient(from 0deg,rgba(255,223,132,.86) 0deg,transparent 28deg,rgba(133,238,252,.82) 86deg,transparent 134deg,rgba(255,160,230,.8) 204deg,transparent 256deg,rgba(255,247,228,.88) 320deg,transparent 1turn);transform:scale(.54);filter:blur(1.6px);mix-blend-mode:screen}.plan-row__burst{inset:-26%;z-index:3;transform:scale(.24) rotate(-10deg);filter:blur(.25px) saturate(1.12);mix-blend-mode:screen;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.92) 0 3.8%,transparent 11%),radial-gradient(circle at 14% 24%,rgba(255,245,228,.96) 0 1.8%,transparent 7%),radial-gradient(circle at 28% 72%,rgba(255,214,117,.92) 0 1.8%,transparent 7%),radial-gradient(circle at 42% 14%,rgba(255,165,225,.88) 0 1.7%,transparent 7%),radial-gradient(circle at 63% 76%,rgba(128,236,255,.94) 0 1.8%,transparent 7%),radial-gradient(circle at 84% 28%,rgba(255,247,228,.94) 0 1.7%,transparent 7%),radial-gradient(circle at 72% 18%,rgba(255,184,114,.9) 0 1.5%,transparent 6%),radial-gradient(circle at 22% 46%,rgba(176,244,255,.88) 0 1.5%,transparent 6%),radial-gradient(circle at 88% 64%,rgba(255,168,229,.86) 0 1.5%,transparent 6%),radial-gradient(circle at 10% 82%,rgba(255,255,255,.9) 0 1.4%,transparent 6%)}.plan-row__burst,.plan-row__burst:after,.plan-row__burst:before{position:absolute;border-radius:inherit;pointer-events:none;opacity:0}.plan-row__burst:after,.plan-row__burst:before{content:"";inset:0}.plan-row__burst:before{inset:-16%;background:radial-gradient(circle at 4% 48%,rgba(255,246,232,.94) 0 1.8%,transparent 8%),radial-gradient(circle at 18% 8%,rgba(255,210,110,.92) 0 1.8%,transparent 8%),radial-gradient(circle at 34% 88%,rgba(255,171,228,.9) 0 1.8%,transparent 8%),radial-gradient(circle at 56% 14%,rgba(133,238,252,.92) 0 1.8%,transparent 8%),radial-gradient(circle at 72% 92%,rgba(255,248,230,.94) 0 1.6%,transparent 8%),radial-gradient(circle at 88% 42%,rgba(255,165,225,.88) 0 1.6%,transparent 8%),radial-gradient(circle at 62% 58%,rgba(255,211,118,.86) 0 1.5%,transparent 7%),radial-gradient(circle at 26% 38%,rgba(153,239,255,.88) 0 1.5%,transparent 7%);transform:scale(.28) rotate(0deg)}.plan-row__burst:after{inset:6%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,232,165,.86) 18deg,transparent 32deg,transparent 70deg,rgba(133,238,252,.82) 88deg,transparent 104deg,transparent 154deg,rgba(255,160,230,.82) 174deg,transparent 192deg,transparent 246deg,rgba(255,247,228,.86) 264deg,transparent 282deg,transparent 332deg,rgba(255,193,126,.84) 346deg,transparent 1turn);transform:scale(.42) rotate(-8deg);filter:blur(1.4px)}.plan-row.is-removing{pointer-events:none;animation:plan-row-burst-pop .46s cubic-bezier(.2,.86,.16,1) forwards}.plan-row.is-removing:before{animation:plan-row-burst-flash .46s cubic-bezier(.2,.86,.16,1) forwards}.plan-row.is-removing:after{animation:plan-row-burst-ring .46s cubic-bezier(.2,.86,.16,1) forwards}.plan-row.is-removing>.plan-row__controls,.plan-row.is-removing>.plan-row__main,.plan-row.is-removing>.plan-row__meta{animation:plan-row-burst-content .46s cubic-bezier(.2,.86,.16,1) forwards}.plan-row.is-removing>.plan-row__burst{animation:plan-row-burst-particles .46s cubic-bezier(.2,.86,.16,1) forwards}.plan-row.is-removing>.plan-row__burst:before{animation:plan-row-burst-shards .46s cubic-bezier(.2,.86,.16,1) forwards}.plan-row.is-removing>.plan-row__burst:after{animation:plan-row-burst-ring .46s cubic-bezier(.2,.86,.16,1) forwards}.plan-row--readonly{cursor:default;grid-template-columns:minmax(0,1fr)}.plan-row--compact{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:4px 8px;border-radius:10px}.plan-row:active{cursor:grabbing}.plan-row.is-dragging{opacity:.56;transform:scale(.99);box-shadow:0 10px 24px rgba(0,0,0,.16)}@keyframes plan-row-burst-pop{0%{transform:scale(1);opacity:1}16%{transform:scale(1.05);opacity:1}40%{transform:scale(.985) rotate(-.25deg);opacity:.96}to{transform:scale(.72) rotate(.35deg);opacity:0;filter:saturate(1.42) blur(6px)}}@keyframes plan-row-burst-content{0%{opacity:1;transform:translateY(0) scale(1)}24%{opacity:1;transform:translateY(-1px) scale(1.03)}to{opacity:0;transform:translateY(-14px) scale(.84)}}@keyframes plan-row-burst-particles{0%{opacity:0;transform:scale(.24) rotate(-10deg);filter:blur(.25px) saturate(1.12)}14%{opacity:1}to{opacity:0;transform:scale(2.45) rotate(18deg);filter:blur(6px) saturate(1.44)}}@keyframes plan-row-burst-ring{0%{opacity:0;transform:scale(.42) rotate(-10deg)}16%{opacity:.82}to{opacity:0;transform:scale(2.08) rotate(26deg);filter:blur(3px)}}@keyframes plan-row-burst-shards{0%{opacity:0;transform:scale(.28) rotate(0deg);filter:blur(.2px)}18%{opacity:.98}to{opacity:0;transform:scale(2.28) rotate(24deg);filter:blur(3.5px) saturate(1.36)}}@keyframes plan-row-burst-flash{0%{opacity:0;transform:scale(.26);filter:blur(.2px)}12%{opacity:.95}to{opacity:0;transform:scale(1.96);filter:blur(8px)}}.plan-row--in_progress{color:#43364d;background:#fff1c8;border-color:rgba(255,218,119,.42);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 10px 22px rgba(255,218,119,.12)}.plan-row--planned{color:#362d41;border-color:rgba(255,225,164,.34);background-image:linear-gradient(135deg,#ffd989,#ffeeb0 28%,#d7f2ac 58%,#9fe8d3 82%,#83dff3);box-shadow:0 0 0 1px rgba(255,255,255,.24),0 12px 28px rgba(101,218,204,.18)}.plan-row--completed{color:#fff8ff;background:linear-gradient(135deg,#5b2b77,#243764 40%,#114b55 70%,#6f2254);border-color:rgba(255,210,149,.28);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 10px 24px rgba(124,79,208,.2)}.plan-row--in_progress .plan-row__title,.plan-row--planned .plan-row__title{color:inherit}.plan-row--completed .plan-row__title{color:#fff8ff}.plan-row--in_progress .plan-row__domain,.plan-row--planned .plan-row__domain{background:rgba(54,45,65,.12);color:inherit}.plan-row--completed .plan-row__domain{background:rgba(255,255,255,.1);color:#fff8ff}.plan-row--in_progress .plan-row__drag-icon,.plan-row--planned .plan-row__drag-icon{color:rgba(54,45,65,.62)}.plan-row--completed .plan-row__drag-icon{color:rgba(255,248,255,.72)}.plan-row__main{position:relative;z-index:2;min-width:0;display:flex;align-items:center;gap:10px}.plan-row__detail-trigger{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;max-width:100%;width:fit-content;padding:0;border:0;background:transparent;background-image:none;color:inherit;font:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none;border-radius:0;box-shadow:none;-webkit-tap-highlight-color:transparent}.plan-row__detail-trigger:focus-visible .plan-row__title,.plan-row__detail-trigger:hover .plan-row__title{text-decoration:underline;text-underline-offset:.12em}.plan-row__detail-trigger:focus-visible{outline:none;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.86),0 0 0 2px rgba(19,15,24,.88),0 0 0 4px rgba(121,213,255,.32)}.plan-row__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.plan-row__domain{flex:0 0 auto;display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--muted);font-size:11px;line-height:1}.plan-row__meta{position:relative;z-index:2;display:flex;align-items:center;justify-content:flex-end}.plan-row--compact .plan-row__meta{display:none}.plan-row__controls{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.plan-row--compact .plan-row__main{display:flex;align-items:center;min-width:0;gap:0}.plan-row--compact .plan-row__detail-trigger{gap:0}.plan-row--compact .plan-row__title{font-size:12px;line-height:1}.plan-row--compact .plan-row__controls{flex-direction:row;gap:4px;align-items:center;justify-content:center}.plan-row--compact .plan-row__remove{min-width:24px;min-height:24px;padding:0}.plan-row__drag-icon{display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:36px;color:rgba(255,246,238,.58);font-size:16px;font-weight:700;letter-spacing:-2px;line-height:1;-webkit-user-select:none;user-select:none;cursor:grab}.plan-row--compact .plan-row__drag-icon{min-width:18px;min-height:18px;font-size:11px;letter-spacing:-1px}.plan-row[draggable=true]:active .plan-row__drag-icon{cursor:grabbing}.plan-row__drag-icon:focus-visible,.plan-row__drag-icon:hover{color:rgba(255,246,238,.9)}.plan-row__drag-icon::selection{background:transparent}.plan-row__controls>.plan-row__remove{order:1}.plan-row__controls>.plan-row__drag-icon{order:2}.plan-row__drag-icon,.plan-row__remove{flex-shrink:0}.plan-row__remove{display:inline-flex;align-items:center;justify-content:center;min-height:36px;min-width:36px;padding:0;color:rgba(29,24,35,.92);font-size:18px;line-height:1;white-space:nowrap}.plan-row--compact .plan-row__remove{min-height:20px;min-width:20px;font-size:11px}.plan-row__remove:focus-visible,.plan-row__remove:hover{color:rgba(16,12,22,.96)}.plan-card p{margin:0;color:var(--muted)}.plan-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-card__status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:11px;line-height:1;white-space:nowrap;border:1px solid rgba(255,255,255,.12)}.plan-card__status--in_progress{color:#43364d;background:rgba(255,218,119,.14);border-color:rgba(255,218,119,.24)}.plan-card__status--planned{color:inherit;background-image:linear-gradient(135deg,rgba(255,156,188,.44),rgba(255,213,138,.44) 18%,rgba(255,243,161,.44) 34%,rgba(159,240,196,.44) 50%,rgba(148,221,255,.44) 68%,rgba(197,172,255,.44) 84%,rgba(255,157,226,.44));border-color:rgba(255,225,164,.34)}.plan-card__status--completed{color:#fff8ff;background-image:linear-gradient(135deg,rgba(255,157,226,.38),rgba(255,213,138,.34) 25%,rgba(148,221,255,.3) 58%,rgba(159,240,196,.28));border-color:rgba(255,225,164,.34)}.plan-card__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.year-input{width:100%}.interest-card,.recommend-card{margin-top:0}.status-text{margin:0;color:#ffca7a;font-size:13px}.share-box a{padding:8px 12px;border-radius:999px;text-decoration:none;background:rgba(255,255,255,.08);border:1px solid var(--line)}.share-box--compact a{font-size:13px}.recommend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.recommend-card__item{display:grid;gap:10px;padding:12px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid var(--line)}.recommend-card__item header{display:flex;justify-content:space-between;gap:8px}.teacher-panel-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:rgba(8,6,12,.58);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.teacher-panel{width:min(920px,100%);max-height:min(78vh,920px);overflow:auto;padding:18px;border-radius:22px;border:1px solid var(--line);background:rgba(30,23,36,.97);box-shadow:var(--shadow)}.teacher-panel__header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.teacher-panel__summary{margin:8px 0 0;color:var(--muted)}.teacher-course-list{display:grid;gap:10px}.teacher-course-item{display:grid;gap:8px;padding:14px;text-align:left;color:var(--ink);background:rgba(255,255,255,.06);border-color:var(--line)}.teacher-course-item.is-selected{border-color:rgba(255,202,122,.54);box-shadow:0 0 0 1px rgba(255,202,122,.22)}.teacher-course-item__header{display:flex;justify-content:space-between;gap:10px}.teacher-course-item p,.teacher-course-item small{margin:0;color:var(--muted)}.warning-overlay{position:fixed;inset:0;z-index:48;display:grid;place-items:center;padding:20px;background:rgba(8,6,12,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.warning-modal{width:min(440px,100%);display:grid;gap:12px;padding:18px;border-radius:22px;border:1px solid rgba(255,221,164,.18);background:radial-gradient(circle at top right,rgba(255,196,102,.14),transparent 34%),rgba(31,23,37,.98);box-shadow:0 24px 48px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.04)}.warning-modal h2,.warning-modal p{margin:0}.warning-modal p{color:var(--muted);line-height:1.7}.warning-modal strong{color:var(--ink)}.warning-modal__list{margin:0;padding-left:20px;color:var(--ink);display:grid;gap:6px}.warning-modal__subheading{margin:8px 0 4px;color:var(--ink-strong);font-size:13px;font-weight:700}.warning-modal__note{color:#ffca7a;font-size:13px}.warning-modal__actions{display:flex;justify-content:flex-end;gap:10px}.planner-layout__board-full,.planner-layout__map,.side-stack__board,.side-stack__drawer{min-width:0}.planner-layout__board-full,.side-stack__board{view-transition-name:planner-layout-board}.onboarding-overlay{position:fixed;inset:0;z-index:51;pointer-events:none}.onboarding-overlay__scrim{position:fixed;z-index:51;background:rgba(8,6,12,.58);-webkit-backdrop-filter:blur(4px) saturate(.92);backdrop-filter:blur(4px) saturate(.92);pointer-events:none}.onboarding-spotlight{position:fixed;z-index:52;border-radius:28px;background:transparent;box-shadow:0 0 0 2px rgba(17,12,24,.92),0 18px 42px rgba(0,0,0,.28),0 0 20px rgba(255,164,120,.2),0 0 26px rgba(110,212,255,.16);transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease;pointer-events:none}.onboarding-spotlight:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:5px;background:linear-gradient(135deg,rgba(255,207,113,.98),rgba(255,121,181,.98) 32%,rgba(124,214,255,.98) 66%,rgba(162,255,195,.98));pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.onboarding-spotlight:after{content:"";position:absolute;inset:10px;border-radius:18px;border:1px dashed rgba(255,248,235,.54);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 0 18px rgba(255,122,188,.08);opacity:.92;pointer-events:none}.onboarding-card{position:fixed;left:50%;top:50%;z-index:53;width:min(460px,calc(100vw - 32px));display:grid;gap:14px;padding:18px;border-radius:22px;border:1px solid rgba(255,221,164,.18);background:radial-gradient(circle at top right,rgba(255,196,102,.1),transparent 34%),rgba(31,23,37,.98);box-shadow:0 24px 48px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.04);transform:translate(-50%,-50%);pointer-events:auto}.onboarding-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.onboarding-card__body,.onboarding-card__header h2{margin:0}.onboarding-card__step{color:var(--muted);font-size:12px}.onboarding-card__body{display:grid;gap:8px;color:var(--muted);line-height:1.7}.onboarding-card__body p{margin:0}.onboarding-card__lead{color:rgba(255,243,232,.88);font-size:13px}.onboarding-card__list{margin:0;padding-left:20px;display:grid;gap:8px}.onboarding-card__list li{color:var(--muted);line-height:1.7}.onboarding-card__focus{margin:0;display:grid;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,214,168,.16);background:linear-gradient(135deg,rgba(255,188,110,.12),rgba(255,119,119,.06)),rgba(255,255,255,.03)}.onboarding-card__focus-label{color:rgba(255,210,159,.72);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.onboarding-card__focus strong{color:rgba(255,244,232,.96);font-size:13px;font-weight:700}.onboarding-card__actions{justify-content:space-between}.onboarding-card__actions,.onboarding-card__actions-main{display:flex;align-items:center;gap:10px}.terms-overlay{position:fixed;inset:0;z-index:52;display:grid;place-items:center;padding:20px;background:rgba(8,6,12,.56);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.terms-modal{width:min(680px,100%);display:grid;gap:14px;padding:20px;border-radius:22px;border:1px solid rgba(255,221,164,.16);background:radial-gradient(circle at top right,rgba(255,196,102,.1),transparent 32%),rgba(31,23,37,.98);box-shadow:0 24px 48px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.04)}.terms-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.terms-modal__body p,.terms-modal__header h2{margin:0}.terms-modal__body{display:grid;gap:10px}.terms-modal__body p{color:var(--muted);line-height:1.8}.terms-modal__lead{color:var(--ink);font-weight:700}.terms-modal__list{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--muted)}.terms-modal__list li{line-height:1.8}.terms-modal__body strong{color:var(--ink)}.terms-modal__note{color:var(--muted)}.terms-modal__actions{display:flex;justify-content:flex-end;gap:10px}.terms-modal__actions--acknowledge{justify-content:center;padding-top:8px}.terms-modal__actions--acknowledge .accent-button{min-width:220px;padding-inline:34px}@keyframes panel-rise{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rainbow-flow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes requirement-complete-rainbow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes requirement-complete-glow{0%,to{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 0 18px rgba(96,150,255,.22),0 0 28px rgba(101,234,219,.2)}50%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 0 22px rgba(108,162,255,.3),0 0 36px rgba(112,242,227,.24)}}@keyframes linked-glisten{0%{transform:translateY(-1px) scale(1.01);box-shadow:inset 0 0 0 1px rgba(255,255,255,.74),0 0 0 2px rgba(255,219,98,.4),0 0 0 6px rgba(255,160,232,.18),0 14px 28px rgba(87,40,104,.18),0 0 26px rgba(255,208,74,.44),0 0 44px rgba(124,228,255,.26)}50%{transform:translateY(-4px) scale(1.048);box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 0 0 2px rgba(255,219,98,.58),0 0 0 8px rgba(255,160,232,.3),0 18px 34px rgba(87,40,104,.26),0 0 40px rgba(255,208,74,.72),0 0 76px rgba(124,228,255,.54)}to{transform:translateY(-1px) scale(1.01);box-shadow:inset 0 0 0 1px rgba(255,255,255,.74),0 0 0 2px rgba(255,219,98,.4),0 0 0 6px rgba(255,160,232,.18),0 14px 28px rgba(87,40,104,.18),0 0 26px rgba(255,208,74,.44),0 0 44px rgba(124,228,255,.26)}}@keyframes linked-shimmer{0%{transform:translateX(-130%) skewX(-18deg)}to{transform:translateX(140%) skewX(-18deg)}}@keyframes map-popover-rise{0%{opacity:0;transform:translateX(-50%) translateY(-6px) scale(.96)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}@keyframes mobile-sheet-up{0%{transform:translateY(22px)}to{transform:translateY(0)}}@keyframes completed-celebrate{0%{transform:translateY(0) scale(1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 10px 20px rgba(146,62,214,.16),0 0 0 1px rgba(255,214,168,.18)}50%{transform:translateY(-1px) scale(1.01);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 14px 30px rgba(146,62,214,.26),0 0 0 1px rgba(255,225,164,.24),0 0 22px rgba(110,223,255,.18)}to{transform:translateY(0) scale(1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 10px 20px rgba(146,62,214,.16),0 0 0 1px rgba(255,214,168,.18)}}@keyframes planned-pulse{0%{transform:translateY(0) scale(1);box-shadow:0 0 0 1px rgba(255,255,255,.28),0 10px 24px rgba(197,172,255,.2),0 0 18px rgba(255,167,219,.14)}50%{transform:translateY(-1px) scale(1.01);box-shadow:0 0 0 1px rgba(255,255,255,.34),0 14px 28px rgba(197,172,255,.24),0 0 28px rgba(255,167,219,.24),0 0 42px rgba(144,222,253,.16)}to{transform:translateY(0) scale(1);box-shadow:0 0 0 1px rgba(255,255,255,.28),0 10px 24px rgba(197,172,255,.2),0 0 18px rgba(255,167,219,.14)}}@keyframes map-card-focus-ring{0%{transform:translateY(-4px) scale(1.022);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 18px 30px rgba(17,11,24,.16),0 0 0 2px rgba(19,15,24,.96),0 0 0 6px rgba(255,142,180,.9),0 0 0 10px rgba(255,207,122,.86),0 0 0 14px rgba(255,242,156,.82),0 0 0 18px rgba(157,241,193,.78),0 0 0 22px rgba(144,222,253,.74),0 0 0 26px rgba(187,163,255,.68),0 0 28px rgba(255,167,219,.22)}50%{transform:translateY(-5px) scale(1.026);box-shadow:inset 0 0 0 1px rgba(255,255,255,.86),0 22px 34px rgba(17,11,24,.18),0 0 0 2px rgba(19,15,24,.98),0 0 0 7px rgba(255,142,180,.98),0 0 0 12px rgba(255,207,122,.94),0 0 0 17px rgba(255,242,156,.9),0 0 0 22px rgba(157,241,193,.86),0 0 0 27px rgba(144,222,253,.82),0 0 0 32px rgba(187,163,255,.76),0 0 40px rgba(255,167,219,.34)}to{transform:translateY(-4px) scale(1.022);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 18px 30px rgba(17,11,24,.16),0 0 0 2px rgba(19,15,24,.96),0 0 0 6px rgba(255,142,180,.9),0 0 0 10px rgba(255,207,122,.86),0 0 0 14px rgba(255,242,156,.82),0 0 0 18px rgba(157,241,193,.78),0 0 0 22px rgba(144,222,253,.74),0 0 0 26px rgba(187,163,255,.68),0 0 28px rgba(255,167,219,.22)}}@keyframes control-focus-ring{0%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 0 0 2px rgba(19,15,24,.98),0 0 0 4px rgba(255,196,104,.58),0 0 18px rgba(255,177,96,.24),0 8px 20px rgba(255,167,96,.12)}50%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.96),0 0 0 2px rgba(19,15,24,1),0 0 0 5px rgba(255,196,104,.68),0 0 22px rgba(255,177,96,.32),0 10px 24px rgba(255,167,96,.18)}to{box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 0 0 2px rgba(19,15,24,.98),0 0 0 4px rgba(255,196,104,.58),0 0 18px rgba(255,177,96,.24),0 8px 20px rgba(255,167,96,.12)}}@keyframes control-focus-shine{0%{transform:translateX(-170%) skewX(-18deg) scale(.94);opacity:0}18%{opacity:1}52%{opacity:.96}to{transform:translateX(170%) skewX(-18deg) scale(1.04);opacity:0}}@keyframes map-card-breathe{0%{transform:translateY(-3px) scale(1.018);box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 14px 26px rgba(17,11,24,.14),0 0 0 1px rgba(255,220,152,.18),0 0 20px rgba(255,182,104,.14)}50%{transform:translateY(-4px) scale(1.022);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 18px 30px rgba(17,11,24,.16),0 0 0 1px rgba(255,226,166,.22),0 0 28px rgba(255,182,104,.22)}to{transform:translateY(-3px) scale(1.018);box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 14px 26px rgba(17,11,24,.14),0 0 0 1px rgba(255,220,152,.18),0 0 20px rgba(255,182,104,.14)}}@keyframes planner-board-fullscreen-sweep{0%{clip-path:inset(0 100% 0 0 round 24px);transform:translateX(-26px) scaleX(.95);filter:blur(10px) saturate(1.08) brightness(1.08)}48%{clip-path:inset(0 24% 0 0 round 24px);transform:translateX(-8px) scaleX(.985);filter:blur(3px) saturate(1.04) brightness(1.03)}to{clip-path:inset(0 0 0 0 round 24px);transform:translateX(0) scaleX(1);filter:none}}@keyframes planner-board-fullscreen-source-fade{0%{opacity:1;transform:translateX(0) scale(1);filter:none}to{opacity:0;transform:translateX(-18px) scale(.985);filter:blur(10px) saturate(1.08)}}@keyframes planner-pane-soft-exit{0%{opacity:1;transform:translateX(0) scale(1);filter:none}to{opacity:0;transform:translateX(-34px) scale(.972);filter:blur(14px) saturate(1.04)}}@keyframes planner-board-control-switch-in{0%{opacity:.28;transform:translateY(18px) scale(.988);filter:blur(14px) saturate(1.04)}58%{opacity:.82;transform:translateY(6px) scale(.995);filter:blur(4px) saturate(1.02)}to{opacity:1;transform:translateY(0) scale(1);filter:none}}@keyframes planner-board-control-switch-out{0%{opacity:1;transform:translateY(0) scale(1);filter:none}to{opacity:.24;transform:translateY(-10px) scale(.992);filter:blur(10px) saturate(1.03)}}@keyframes summary-detail-panel-enter{0%{clip-path:inset(0 100% 0 0 round 24px);transform:translateX(-30px) scaleX(.94);filter:blur(14px) saturate(1.06)}58%{clip-path:inset(0 12% 0 0 round 24px);transform:translateX(-8px) scaleX(.988);filter:blur(4px) saturate(1.03)}to{clip-path:inset(0 0 0 0 round 24px);transform:translateX(0) scaleX(1);filter:none}}@keyframes summary-detail-panel-aura{0%{opacity:0;transform:translateX(-42px) scaleX(.78)}38%{opacity:.88}to{opacity:0;transform:translateX(18px) scaleX(1.08)}}@keyframes summary-detail-action-enter{0%{opacity:0;transform:translateX(-26px) scale(.96);filter:blur(8px)}to{opacity:1;transform:translateX(0) scale(1);filter:none}}@keyframes summary-detail-card-enter{0%{opacity:0;transform:translateX(-30px) scale(.982);filter:blur(10px) saturate(1.04)}to{opacity:1;transform:translateX(0) scale(1);filter:none}}@keyframes summary-detail-chip-enter{0%{opacity:0;transform:translateX(-14px) scale(.985);filter:blur(6px)}to{opacity:1;transform:translateX(0) scale(1);filter:none}}@keyframes summary-detail-toggle-scan{0%{transform:translateX(-140%);opacity:0}30%{opacity:.76}to{transform:translateX(145%);opacity:0}}::view-transition-group(planner-layout-board),::view-transition-group(planner-layout-detail),::view-transition-group(planner-layout-map),::view-transition-group(summary-requirements-detail-panel),::view-transition-group(summary-requirements-detail-toggle){animation-duration:.56s;animation-timing-function:cubic-bezier(.2,.82,.18,1)}html.plan-fullscreen-view-transition::view-transition-group(planner-layout-board){z-index:32}html.plan-fullscreen-view-transition::view-transition-group(planner-layout-detail),html.plan-fullscreen-view-transition::view-transition-group(planner-layout-map){z-index:18;animation-duration:.36s}html.plan-fullscreen-view-transition::view-transition-new(planner-layout-board){transform-origin:left center;animation:planner-board-fullscreen-sweep .62s cubic-bezier(.18,.88,.14,1) both}html.plan-fullscreen-view-transition::view-transition-old(planner-layout-board){transform-origin:left center;animation:planner-board-fullscreen-source-fade .26s cubic-bezier(.22,.84,.28,1) both}html.plan-fullscreen-view-transition::view-transition-old(planner-layout-detail),html.plan-fullscreen-view-transition::view-transition-old(planner-layout-map){transform-origin:left center;animation:planner-pane-soft-exit .32s cubic-bezier(.22,.84,.28,1) both}html.board-control-view-transition::view-transition-group(planner-layout-board){z-index:32;animation-duration:.48s}html.board-control-view-transition::view-transition-new(planner-layout-board){transform-origin:center top;animation:planner-board-control-switch-in .48s cubic-bezier(.18,.86,.2,1) both}html.board-control-view-transition::view-transition-old(planner-layout-board){transform-origin:center top;animation:planner-board-control-switch-out .22s cubic-bezier(.24,.82,.32,1) both}html.summary-detail-view-transition::view-transition-group(summary-requirements-detail-toggle){z-index:37}html.summary-detail-view-transition::view-transition-group(summary-requirements-detail-panel){z-index:29;animation-duration:.62s}html.summary-detail-view-transition::view-transition-new(summary-requirements-detail-panel){transform-origin:left center;animation:summary-detail-panel-enter .62s cubic-bezier(.14,.9,.16,1) both}html.summary-detail-view-transition::view-transition-old(summary-requirements-detail-panel){transform-origin:left center;animation:planner-pane-soft-exit .3s cubic-bezier(.22,.84,.28,1) both}html.summary-detail-view-transition::view-transition-new(summary-requirements-detail-toggle),html.summary-detail-view-transition::view-transition-old(summary-requirements-detail-toggle){animation-duration:.52s;animation-timing-function:cubic-bezier(.18,.84,.2,1)}@media (prefers-reduced-motion:reduce){.planner-layout__board-full,.planner-layout__map,.side-stack__board,.side-stack__drawer,.summary-bar__detail-toggle--desktop,.summary-bar__requirements-details--desktop{view-transition-name:none}.summary-bar__detail-toggle--dock:before,.summary-bar__detail-toggle--launch:before,.summary-bar__requirements-details--desktop,.summary-bar__requirements-details--desktop .requirement-detail-card,.summary-bar__requirements-details--desktop .requirement-group-card,.summary-bar__requirements-details--desktop .summary-bar__requirements-detail-actions{animation:none;opacity:1;transform:none;filter:none;clip-path:none}.summary-bar__requirements-details--desktop:before{animation:none;opacity:0;transform:none;filter:none}}@media (min-width:2201px){.summary-bar{padding:14px 18px}.summary-bar__top{gap:14px}.summary-bar__brand{gap:6px}.summary-bar__brand-title{gap:10px}.summary-bar__brand-actions{gap:6px}.summary-bar__brand strong,.summary-bar__brand-button{font-size:20px}.accent-button.summary-bar__guide-button,.accent-button.summary-bar__terms-button{min-height:31px;padding:6px 12px;font-size:13px}.summary-bar__requirements{gap:10px}.summary-bar__requirements-main{gap:12px}.summary-bar__requirements-note{font-size:13px}.requirement-tree{gap:8px}.requirement-group-card{gap:5px;padding:10px 12px;border-radius:18px;min-height:68px}.requirement-group-card__children{gap:5px}.requirement-group-card__text h3,.requirement-group-card__value{font-size:15px}.requirement-group-card--leaf .requirement-group-card__text h3,.requirement-group-card--leaf .requirement-group-card__value{font-size:17px}.requirement-group-card__hint{font-size:11px}.requirement-detail-card{padding:5px 8px;gap:6px}.requirement-detail-card__label,.requirement-detail-card__value{font-size:12px}.requirement-total-card{min-width:max-content;min-height:68px;padding:10px 14px;border-radius:18px}.requirement-total-card__label{font-size:15px}.requirement-total-card strong{font-size:17px}.control-card--compact{gap:14px;padding:14px 18px}.control-inline-label{font-size:13px}.control-inline-field--current-quarter>.control-inline-label,.control-inline-field--year>.control-inline-label{font-size:14px}.control-checkbox{min-height:46px;padding:9px 12px;gap:8px;font-size:13px}.control-checkbox__box{width:16px;height:16px;flex-basis:16px;font-size:13px}.control-card--compact .accent-button,.control-card--compact .control-inline-action--match-primary{min-height:46px;padding:9px 16px;font-size:14px}.control-readout,input,select{min-height:48px;border-radius:14px;padding:10px 14px;font-size:16px}.academic-year-filter,.quarter-filter,.stage-filter{min-height:48px;border-radius:14px;padding:4px}.academic-year-filter__buttons,.quarter-filter__buttons,.stage-filter__buttons{gap:4px}.academic-year-filter__button,.quarter-filter__button,.stage-filter__button{min-height:38px;border-radius:11px;padding:5px 0;font-size:14px}.academic-year-filter__button,.quarter-filter__button{min-height:40px;padding:6px 0;font-size:15px}.academic-year-filter__note{font-size:10px}.planner-layout{--planner-layout-columns:minmax(0,1fr) 500px;gap:14px}.planner-layout,.planner-layout--plan-full{grid-template-columns:var(--planner-layout-columns)}.planner-layout--plan-full{grid-template-rows:auto auto}.side-stack{gap:12px}.board-panel,.drawer-panel,.map-panel{padding:16px;border-radius:20px}.panel-heading{gap:12px;margin-bottom:12px}.panel-heading h2{font-size:28px}.panel-kicker{font-size:14px;letter-spacing:.11em}.map-panel__title{margin-top:6px;margin-left:8px;font-size:18px}.drawer-empty,.drawer-summary--compact{font-size:16px;line-height:1.6}.drawer-heading-actions{gap:12px;margin:-2px 0 10px 16px}.detail-link--header{border-radius:11px}.detail-badge-numbering,.detail-link--header{min-height:32px;padding:0 13px;font-size:12px}.course-state-block{margin-top:10px}.drawer-panel .course-state-block{padding:8px;border-radius:18px}.drawer-panel .course-state-actions{gap:8px}.drawer-panel .course-state-actions .state-button{gap:5px;min-height:42px;padding:9px 10px;border-radius:13px;font-size:13px;line-height:1.15;min-width:0}.drawer-panel .course-state-actions .state-button__icon{font-size:15px}.info-grid{gap:8px;margin:10px 0 8px}.info-pill{gap:3px;min-height:50px;padding:9px 12px;border-radius:11px}.info-pill span{font-size:11px}.info-link-button,.info-link-placeholder,.info-pill strong,.info-pill strong.info-pill__value--section{font-size:17px}.info-pill strong.info-pill__value--tight{font-size:15px}.info-pill strong.info-pill__value--wrapped{font-size:13px}.info-pill--method .info-link-button,.info-pill--method .info-link-placeholder,.info-pill--method strong{font-size:17px}.info-pill--teacher span{font-size:11px}.detail-block{margin-top:14px}.board-year h3,.detail-block h3{margin-bottom:8px;font-size:15px}.relation-list{gap:6px}.relation-link{padding:8px 11px;font-size:14px}.board-actions .accent-button,.board-actions .ghost-button,.board-panel__download,.map-panel__actions .accent-button,.map-panel__actions .ghost-button{min-width:104px;min-height:38px;padding:8px 13px;font-size:13px;border-radius:12px}.board-actions{gap:7px}.board-quarter{padding:10px;border-radius:14px}.board-quarter__header-main strong{font-size:15px}.board-quarter__empty,.board-quarter__header-main span{font-size:14px}.board-toggle{min-height:34px;padding:6px 11px;font-size:13px}.plan-row{gap:9px;padding:9px 11px;border-radius:12px}.plan-row__title{font-size:14px}.plan-row__domain{padding:2px 6px;font-size:11px}.plan-card__status{padding:6px 9px;font-size:12px}.plan-row__drag-icon{min-width:24px;min-height:32px;font-size:14px}.plan-row__remove{min-width:32px;min-height:32px;font-size:15px}.curriculum-map{grid-template-columns:54px repeat(9,minmax(152px,1fr));grid-template-rows:72px 38px max-content max-content max-content minmax(72px,auto)}.curriculum-map__intro-courses{grid-template-columns:repeat(7,minmax(132px,1fr));gap:9px}.curriculum-map__group{font-size:16px}.map-cell__domain{padding:5px 11px;font-size:13px}.map-cell__credits{font-size:14px}.map-course-card,.map-course-card--intro{min-height:42px;padding:8px 11px;border-radius:12px}.map-course-card strong{gap:5px;font-size:14px}.map-course-card.is-tight strong{font-size:13px}.map-course-card__icon{flex:0 0 16px;width:16px;font-size:14px}.map-course-card--project{min-height:48px;padding:10px 18px}.map-course-card--project strong{font-size:20px}}@media (max-width:1920px) and (min-width:1281px){.summary-bar__top{grid-template-columns:minmax(220px,248px) max-content minmax(0,1fr);gap:8px}.summary-bar__brand{gap:3px}.summary-bar__brand-title{gap:6px}.summary-bar__brand-actions{gap:4px}.summary-bar__brand strong,.summary-bar__brand-button{font-size:13px}.summary-bar__shared-banner{padding:10px 12px;border-radius:16px}.summary-bar__shared-kicker{font-size:10px}.summary-bar__shared-banner strong{font-size:22px}.summary-bar__shared-banner span:last-child{font-size:12px}.accent-button.summary-bar__guide-button,.accent-button.summary-bar__terms-button{min-height:25px;padding:4px 10px;font-size:12px}.summary-bar__requirements{justify-items:stretch;gap:4px}.summary-bar__requirements-main{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:flex-start;gap:5px;min-width:0}.summary-bar__requirements-side{gap:5px;margin-left:0}.summary-bar__requirements-header,.summary-bar__requirements-meta{justify-content:flex-start}.requirement-tree{width:100%;grid-template-columns:minmax(116px,.42fr) minmax(0,1.48fr) minmax(0,1.48fr) minmax(124px,.46fr);justify-content:stretch;gap:4px;min-width:0}.requirement-group-card__children{flex-wrap:nowrap;gap:2px}.requirement-group-card{gap:2px;padding:5px;border-radius:13px;min-height:52px;min-width:0}.requirement-group-card__header{gap:4px}.requirement-group-card__text h3,.requirement-group-card__value{font-size:11px}.requirement-group-card--leaf .requirement-group-card__text h3,.requirement-group-card--leaf .requirement-group-card__value{font-size:12px}.requirement-detail-card,.requirement-detail-card__label,.requirement-group-card__children,.requirement-group-card__header,.requirement-group-card__text{min-width:0}.requirement-group-card__hint{font-size:8px}.requirement-group-card--leaf{padding:4px}.requirement-group-card--leaf .requirement-group-card__header,.requirement-group-card--leaf .requirement-group-card__text{gap:4px}.requirement-group-card--leaf .requirement-group-card__value{margin-left:0}.requirement-detail-card{padding:2px 4px;gap:4px}.requirement-detail-card__label,.requirement-detail-card__value{font-size:9px}.requirement-total-card{gap:4px;padding:5px 8px;border-radius:13px;min-width:max-content;min-height:52px;justify-self:start}.requirement-total-card strong,.requirement-total-card__label{font-size:11px}.summary-bar__count-toggle{padding-inline:9px}.summary-bar__detail-toggle{padding-inline:10px;font-size:11px}.control-card--compact{grid-template-columns:minmax(118px,.84fr) minmax(76px,.4fr) minmax(108px,.56fr) minmax(108px,.56fr) minmax(132px,.68fr) minmax(84px,.44fr) minmax(98px,.5fr) auto;gap:5px;padding:8px}.control-card--compact label{gap:5px}.control-inline-label{font-size:9px}.control-inline-field--current-quarter>.control-inline-label,.control-inline-field--year>.control-inline-label{font-size:10px}.detail-display-toggle{--detail-toggle-padding:3px;border-radius:14px}.detail-display-toggle__thumb{border-radius:10px}.detail-display-toggle__button{min-width:88px;min-height:38px;padding:6px 10px;border-radius:10px;font-size:10px}.control-checkbox{min-height:36px;padding:6px 7px;gap:5px;font-size:10px}.control-checkbox__box{width:13px;height:13px;flex-basis:13px;font-size:10px}.control-card--compact .accent-button,.control-card--compact .control-inline-action--match-primary{min-width:118px;min-height:36px;padding:6px 8px;font-size:11px}.control-card--compact .control-inline-actions{gap:6px}.control-readout,input,select{min-height:38px;border-radius:12px;padding:7px 10px;font-size:13px}.academic-year-filter,.quarter-filter,.stage-filter{min-height:38px;border-radius:12px;padding:3px}.academic-year-filter__buttons,.quarter-filter__buttons,.stage-filter__buttons{gap:3px}.academic-year-filter__button,.quarter-filter__button,.stage-filter__button{min-height:30px;border-radius:9px;padding:4px 0;font-size:11px}.academic-year-filter__button,.quarter-filter__button{min-height:32px;padding:4px 0;font-size:12px}.academic-year-filter__note{padding-inline:6px;font-size:9px}.planner-layout{--planner-layout-columns:minmax(0,1fr) 376px;gap:8px}.planner-layout,.planner-layout--plan-full{grid-template-columns:var(--planner-layout-columns)}.planner-layout--plan-full{grid-template-rows:auto auto}.side-stack{grid-template-columns:1fr;gap:8px;align-items:start}.board-panel,.drawer-panel{padding:9px;border-radius:16px;min-width:0}.panel-heading{gap:8px;margin-bottom:8px}.panel-heading h2{font-size:14px}.panel-kicker{font-size:10px;letter-spacing:.1em}.drawer-empty,.drawer-summary--compact{font-size:11px;line-height:1.45}.course-state-block{margin-top:8px}.drawer-panel .course-state-block{padding:4px;border-radius:13px}.course-state-actions{gap:6px}.state-button{gap:4px;min-height:31px;padding:5px 7px;border-radius:10px;line-height:1.15}.state-button,.state-button__icon{font-size:10px}.drawer-panel .course-state-actions{gap:2px}.drawer-panel .course-state-actions .state-button{gap:2px;min-height:29px;padding:4px;border-radius:9px;font-size:9px;line-height:1.1;min-width:0}.drawer-panel .course-state-actions .state-button__icon{font-size:10px}.detail-close-button,.detail-link{min-height:31px;padding:6px 10px;border-radius:10px;font-size:11px}.detail-link--header{min-height:22px;padding:0 8px;border-radius:9px;font-size:8px}.drawer-heading-actions{gap:6px;margin:-2px 0 6px 10px}.detail-badge-numbering{min-height:22px;padding:0 8px;font-size:8px}.map-detail-popup-overlay{padding:16px}.course-popup-card{width:min(640px,100%);padding:12px;border-radius:18px}.course-popup-card .course-state-block{padding:6px;border-radius:15px}.course-popup-card .course-state-actions{gap:4px}.course-popup-card .course-state-actions .state-button{min-height:34px;padding:6px;border-radius:10px;font-size:11px}.course-popup-card .course-state-actions .state-button__icon{font-size:12px}.info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:6px 0 4px}.info-pill{gap:2px;min-height:34px;padding:5px 6px;border-radius:7px}.info-pill span{font-size:7px}.info-link-button,.info-link-placeholder,.info-pill strong,.info-pill strong.info-pill__value--section{font-size:11px}.info-pill strong.info-pill__value--tight{font-size:10px}.info-pill strong.info-pill__value--wrapped{font-size:9px}.info-pill--method .info-link-button,.info-pill--method .info-link-placeholder,.info-pill--method strong{font-size:11px}.info-pill--teacher{gap:2px;padding-inline:6px}.info-pill--numbering{grid-column:span 2}.info-pill--teacher span{font-size:7px}.info-pill--teacher .info-link-list{gap:3px}.info-pill--teacher .info-link-button,.info-pill--teacher .info-link-placeholder{font-size:10px}.detail-block{margin-top:8px}.board-year h3,.detail-block h3{margin-bottom:6px;font-size:11px}.relation-list{gap:4px}.relation-link{padding:4px 7px;border-radius:10px;font-size:10px}.board-actions{width:100%;flex-wrap:wrap;justify-content:flex-end;gap:5px 6px;margin-left:auto}.panel-heading--board{grid-template-columns:minmax(0,1fr);gap:8px}.panel-heading--board .board-actions,.panel-heading--board .board-legend,.panel-heading--board .panel-heading__main--board{justify-self:stretch}.panel-heading--board .board-legend{position:static;top:auto;left:auto;transform:none;justify-content:center}.board-actions .accent-button,.board-actions .ghost-button,.board-panel__download,.map-panel__actions .accent-button,.map-panel__actions .ghost-button{min-width:78px;min-height:30px;padding:5px 9px;font-size:10px;border-radius:10px}.board-export{gap:8px}.board-panel--compact .board-export--full.board-export--compact{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-columns:minmax(0,1fr);gap:8px;width:100%;min-width:0}.board-panel--compact .board-export--full.board-export--compact .board-year--full{min-width:0;padding:10px;border-radius:18px}.board-panel--compact .board-export--full.board-export--compact .board-quarter-list--full{gap:6px}.board-year{margin-top:8px}.board-quarter__header,.board-year__header{gap:8px}.board-quarter-list{gap:6px}.board-quarter{gap:6px;padding:7px;border-radius:12px}.board-quarter__header-main{gap:8px}.board-quarter__header-main strong{font-size:12px}.board-quarter__empty,.board-quarter__header-main span{font-size:11px}.board-toggle{gap:5px;min-height:28px;padding:4px 8px;font-size:10px}.plan-row{grid-template-columns:minmax(0,1fr) auto auto;gap:5px;padding:5px 6px;border-radius:10px}.plan-row__main{gap:6px}.plan-row__title{font-size:11px}.plan-row__domain{padding:2px 5px;font-size:8px}.plan-row__controls{gap:6px}.plan-row__drag-icon{min-width:20px;min-height:28px;font-size:12px}.plan-row__remove{min-height:28px;min-width:28px;padding:0;font-size:13px}.plan-card__status{gap:4px;padding:4px 7px;font-size:10px}.curriculum-map{grid-template-columns:38px repeat(9,minmax(126px,1fr));grid-template-rows:60px 30px max-content max-content max-content minmax(60px,auto);min-height:580px}.curriculum-map__intro-courses{grid-template-columns:repeat(7,minmax(96px,1fr))}.map-course-card:focus-visible:not(.is-locked):not(.is-future-offering),.map-course-card:hover:not(.is-locked):not(.is-future-offering){transform:translateY(-1px);animation:none}.map-course-card.is-linked-highlight{animation:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.64),0 0 0 2px rgba(255,219,98,.32),0 10px 18px rgba(87,40,104,.14),0 0 22px rgba(255,208,74,.28)}.map-course-card.is-linked-highlight:after{animation:none;opacity:.65}.curriculum-map__stage{border-radius:9px;font-size:11px;letter-spacing:.08em}.curriculum-map__group{min-height:30px;border-radius:8px;font-size:11px}.curriculum-map__intro{border-radius:12px;padding:2px 6px 2px 8px}.curriculum-map__intro-meta{min-width:50px}.curriculum-map__intro-meta-label{font-size:9px}.curriculum-map__intro-meta-value{font-size:15px}.curriculum-map__legend-item{min-height:30px;padding:5px 9px;border-radius:10px;font-size:12px;white-space:nowrap}.curriculum-map__legend-icon{font-size:12px}.map-cell{gap:5px;padding:6px;border-radius:10px;min-height:0}.map-cell--基礎{min-height:120px}.map-cell--展開{min-height:150px}.map-cell--考究{min-height:180px}.map-cell__header{gap:5px}.map-cell__domain{padding:3px 6px;font-size:8px}.map-cell__credits{font-size:9px}.map-course-list{gap:5px}.map-course-card,.map-course-card--intro{min-height:30px;padding:4px 7px;border-radius:9px}.map-course-card strong{gap:3px;font-size:10px}.map-course-card.is-tight strong{font-size:9px}.map-course-card__icon{flex:0 0 10px;width:10px;font-size:10px}.map-course-card--project{min-height:34px;padding:6px 12px}.map-course-card--project strong{font-size:13px}}@media (max-width:1440px){.control-card--primary{grid-template-columns:repeat(3,minmax(0,1fr))}.control-card--primary .accent-button{grid-column:1/-1}.summary-bar__requirements-main{align-items:stretch}.summary-bar__requirements-side{width:auto;flex:0 0 auto;flex-direction:row;align-items:stretch;flex-wrap:nowrap}.requirement-total-card,.summary-bar__count-toggle,.summary-bar__detail-toggle{width:auto;justify-self:auto;justify-content:center}.requirement-total-card{min-width:max-content;min-height:0;padding:7px 10px;flex-direction:row;gap:6px;text-align:left}.requirement-total-card strong,.requirement-total-card__label{text-align:left}.requirement-total-card__label{font-size:11px}.requirement-total-card strong{font-size:14px}.summary-bar__detail-toggle{padding-inline:8px;font-size:12px}.summary-bar__count-toggle{padding-inline:8px}}@media (max-width:1280px){.planner-layout{--planner-layout-columns:1fr;grid-template-columns:var(--planner-layout-columns)}.planner-layout--plan-full{grid-template-columns:1fr}.side-stack--popup{grid-template-rows:auto}.map-panel__header{grid-template-columns:minmax(0,1fr)}.map-panel__actions,.map-panel__header-center{justify-self:start}.map-panel__display-controls{width:100%;justify-content:flex-start}.map-panel__detail-display{flex-direction:column;align-items:flex-start;gap:6px}.planner-layout__board-full,.planner-layout__mode-anchor{grid-column:1;grid-row:auto}.side-stack__drawer-spacer{display:none}.control-card--secondary{grid-template-columns:repeat(3,minmax(0,1fr))}.curriculum-map{height:auto;max-height:none}}@media (max-width:920px){.quest-page{width:calc(100vw - 10px);padding:5px;gap:8px}.board-panel,.control-card,.drawer-panel,.interest-card,.map-panel,.recommend-card,.summary-bar{padding:12px;border-radius:18px}.summary-bar__top{grid-template-columns:1fr;align-items:flex-start}.summary-bar__brand-title{flex-wrap:nowrap;align-items:center;justify-content:space-between}.summary-bar__requirements{width:100%;justify-items:start}.summary-bar__requirements-header,.summary-bar__requirements-main,.summary-bar__requirements-meta{justify-content:flex-start}.summary-bar__requirements-main{flex-wrap:wrap}.summary-bar__requirements-main--desktop{grid-template-columns:1fr}.summary-bar__requirements-main--desktop .summary-bar__requirements-details,.summary-bar__requirements-main--desktop .summary-bar__requirements-side{grid-column:1}.summary-bar__requirements-details{width:100%}.academic-year-filter__buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-bar__requirements-side{width:auto;flex-wrap:nowrap;justify-content:flex-start;margin-left:0}.requirement-tree,.summary-bar__requirement-row{justify-content:flex-start}.requirement-tree{grid-template-columns:1fr}.requirement-group-card__children{flex-wrap:wrap}.summary-bar__detail-toggle{width:auto}.summary-bar__metrics{width:100%;justify-content:flex-start}.summary-pill{justify-content:center}.requirement-chip,.requirement-pill{white-space:normal}.map-panel__header,.panel-heading,.teacher-panel__header{flex-direction:column;align-items:stretch}.map-panel__header{grid-template-columns:minmax(0,1fr)}.map-panel__actions,.map-panel__header-center{justify-self:start}.drawer-panel .panel-heading{display:block}.map-panel__actions{justify-content:flex-start}.board-actions{width:100%;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.board-copy-status{text-align:left}.panel-copy{font-size:13px}.curriculum-map{grid-template-columns:40px repeat(9,minmax(140px,1fr));grid-template-rows:auto 38px max-content max-content max-content minmax(58px,auto);min-height:680px}.curriculum-map__intro{grid-template-columns:1fr}.curriculum-map__intro-meta{min-width:0;align-content:start;justify-items:start}.curriculum-map__intro-courses{grid-template-columns:repeat(4,minmax(140px,1fr))}.curriculum-map__legend{grid-column:2/span 9;padding-top:0;justify-self:stretch}.curriculum-map__legend,.curriculum-map__legend-items{justify-content:flex-start}.teacher-panel-overlay{padding:12px}.teacher-panel{max-height:calc(100vh - 24px);padding:14px}.map-detail-popup-overlay{padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))}.course-popup-card{width:min(680px,100%);max-height:calc(100dvh - 36px)}.recommend-grid{grid-template-columns:1fr}.warning-modal__actions{flex-direction:column-reverse}.onboarding-card__actions,.onboarding-card__header{flex-direction:column;align-items:stretch}.onboarding-card__actions-main{justify-content:space-between}.terms-modal__header{flex-direction:column}.quest-page{width:100%;padding:max(4px,env(safe-area-inset-top)) 4px max(8px,env(safe-area-inset-bottom))}.summary-bar__top{grid-template-columns:minmax(0,1fr);gap:8px}.summary-bar__brand{gap:4px}.summary-bar__brand-title{width:100%;align-items:flex-start;justify-content:space-between;gap:6px}.summary-bar__brand strong,.summary-bar__brand-button{flex:1 1 auto;min-width:0;line-height:1.2;word-break:keep-all;overflow-wrap:normal}.summary-bar__terms-button--inline{width:auto!important;inline-size:fit-content!important;max-width:none!important;min-height:30px;padding:4px 7px;border-radius:9px;font-size:10px;line-height:1;flex:0 0 auto;justify-content:center;align-self:flex-start}.summary-bar__requirements{width:100%;justify-items:stretch}.summary-bar__requirements-main{flex-direction:column;align-items:stretch;gap:8px}.summary-bar__requirements-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px}.requirement-total-card,.summary-bar__count-toggle,.summary-bar__detail-toggle{width:100%;justify-self:stretch;justify-content:center}.requirement-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.control-card--compact,.control-card--primary,.control-card--secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.control-card--compact{overflow:visible}.control-card--compact label{display:grid;align-items:stretch;gap:6px}.advanced-search-panel,.control-card--planner-desktop .planner-control-group--schedule,.control-inline-actions,.control-inline-field--current-quarter,.control-inline-field--name,.control-inline-field--search,.planner-control-group--schedule{grid-column:1/-1}.planner-control-group--schedule{grid-template-columns:1fr;gap:10px}.control-inline-separator--planner{display:none}.control-inline-label{font-size:11px}.control-inline-field--detail-display{justify-items:stretch}.detail-display-toggle{width:100%;max-width:100%}.detail-display-toggle__button{min-width:0}.control-inline-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.control-card--compact .accent-button,.control-card--compact .control-inline-actions .control-inline-action{width:100%;min-width:0}.control-card--compact .control-inline-actions .control-inline-action--primary{grid-column:1/-1}.accent-button,.control-readout,.ghost-button,.state-button,input,select{font-size:16px}.summary-bar__brand strong,.summary-bar__brand-button{font-size:14px}.summary-bar__shared-banner{padding:10px 12px}.summary-bar__shared-kicker{font-size:10px}.summary-bar__shared-banner strong{font-size:20px}.summary-bar__shared-banner span:last-child{font-size:12px}.summary-bar__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.summary-pill{min-width:0;padding:8px 6px;font-size:12px;text-align:center}.control-card__feedback{gap:6px}.accent-button{width:100%;min-height:48px;padding:12px 16px}.share-box{display:grid;grid-template-columns:1fr}.map-panel__header{grid-template-columns:minmax(0,1fr);gap:10px}.map-panel__header-center{display:flex;justify-self:stretch}.map-panel__display-controls,.map-panel__header-center{justify-content:center;width:100%}.map-panel__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;justify-self:stretch;justify-content:stretch}.map-panel__actions .accent-button,.map-panel__actions .ghost-button{width:100%;min-width:0}.course-state-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.state-button{min-height:48px;padding:8px 6px;font-size:12px;line-height:1.3}.planner-layout,.side-stack{gap:8px}.board-panel,.drawer-panel,.map-panel{padding:10px}.curriculum-map{min-height:560px;padding-bottom:88px;scroll-padding-bottom:88px}.curriculum-map__intro-courses{grid-template-columns:repeat(2,minmax(132px,1fr))}.curriculum-map__legend-item{min-height:40px;padding:9px 11px;font-size:12px}.map-course-card{padding:8px}.map-state-popover{min-width:156px;padding:7px}.map-detail-popup-overlay{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}.course-popup-card{width:min(100%,640px);max-height:calc(100dvh - 20px);padding:11px;border-radius:16px}.terms-modal{max-height:calc(100dvh - 16px);overflow:auto;padding:16px}.terms-modal__actions--acknowledge .accent-button{width:100%;min-width:0;padding-inline:16px}.course-popup-card .course-state-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-heading-actions{margin:0 0 8px}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.info-pill--method,.info-pill--numbering,.info-pill--teacher{grid-column:span 2}.map-course-card strong{font-size:11px}.map-cell__credits,.map-cell__domain,.map-course-card span{font-size:10px}.plan-row{grid-template-columns:1fr;align-items:stretch}.plan-row__main,.plan-row__meta{justify-content:flex-start}.plan-row__controls{width:100%;justify-content:flex-end}.mobile-primary-panel--plan .plan-row--compact{grid-template-columns:minmax(0,1fr) auto;align-items:center}.mobile-primary-panel--plan .plan-row--compact .plan-row__controls{width:auto}.board-quarter,.plan-row,.recommend-card__item,.teacher-course-item{border-radius:14px}.teacher-panel{border-radius:18px}.panel-heading--board{grid-template-columns:minmax(0,1fr);gap:10px}.panel-heading--board .board-actions,.panel-heading--board .board-legend,.panel-heading--board .panel-heading__main--board{justify-self:stretch}.panel-heading--board .board-legend{position:static;top:auto;left:auto;transform:none;justify-content:center;flex-wrap:wrap}.board-legend__items{justify-content:center;flex-wrap:wrap;overflow:visible}.board-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;justify-content:stretch}.board-density-control,.board-order-control,.board-panel__copy{grid-column:1/-1}.board-density-control,.board-order-control{align-items:stretch}.board-density-control__row,.board-density-toggle,.board-order-control__row{width:100%}.board-order-control__row{flex-direction:column;align-items:stretch}.board-order-control__field{justify-content:space-between}.board-density-toggle__button,.board-order-toggle__button{min-width:0}.board-order-toggle{width:100%}.board-actions .accent-button,.board-actions .ghost-button{width:100%;min-width:0}.board-export-shell--full{overflow-x:visible;padding-bottom:0}.board-export--full{min-width:0;width:100%}.board-quarter-list--full{grid-template-columns:minmax(0,1fr)}.board-panel--compact .board-export--full.board-export--compact{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;grid-auto-columns:auto;width:100%;min-width:0}.board-panel--compact .board-export--full.board-export--compact .board-quarter-list--full{grid-template-columns:minmax(0,1fr);gap:8px}.board-panel--compact .board-export--full.board-export--compact .board-quarter-list--full .board-quarter__content-inner--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-map{scrollbar-width:thin}.summary-bar{gap:10px}.summary-bar__brand-actions{order:2}.summary-bar__mobile-overview{order:3}.mobile-primary-tabs{order:4}.summary-bar__mobile-requirement{min-height:72px}.summary-bar__mobile-summary-actions{grid-template-columns:minmax(0,1fr)}.summary-bar__mobile-summary-expanded{padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(23,18,31,.72)}.summary-bar__mobile-summary-expanded .summary-bar__requirements-main{display:grid;gap:10px}.summary-bar__mobile-summary-expanded .requirement-tree,.summary-bar__mobile-summary-expanded .summary-bar__requirements-side{grid-template-columns:1fr}.mobile-primary-layout{gap:10px}.mobile-primary-panel--map .control-strip{position:sticky;top:0;z-index:24}.mobile-primary-panel--map .control-card--compact{box-shadow:0 12px 28px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.04)}.mobile-primary-panel--map .control-card--mobile-map{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;padding:10px 12px}.mobile-primary-panel--map .control-card--mobile-map .advanced-search-panel{grid-column:1/-1}.mobile-primary-panel--map .control-card--mobile-map .advanced-search-toggle{min-height:38px;padding:8px 10px;font-size:12px;border-radius:12px}.mobile-primary-panel--map .advanced-search-panel__body{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border-radius:14px}.mobile-primary-panel--map .control-card--mobile-map .control-inline-field--quarter,.mobile-primary-panel--map .control-card--mobile-map .control-inline-field--search{grid-column:1/-1}.mobile-primary-panel--map .control-card--mobile-map .control-inline-field--domain,.mobile-primary-panel--map .control-card--mobile-map .control-inline-field--stage{grid-column:auto}.mobile-primary-panel--map .control-card--mobile-map label{display:grid;align-items:stretch;gap:6px}.mobile-primary-panel--map .control-inline-actions--mobile-map{grid-column:1/-1;display:flex;flex-wrap:nowrap;gap:6px;width:100%}.mobile-primary-panel--map .control-inline-actions--mobile-map .control-inline-action{flex:1 1;min-width:0;min-height:34px;padding:6px 8px;font-size:11px;border-radius:10px}.mobile-primary-panel--map .map-panel,.mobile-primary-panel--plan .board-panel{min-height:calc(100dvh - 220px)}.mobile-primary-panel--plan .panel-heading--board{position:sticky;top:0;z-index:16;gap:8px;padding-bottom:8px;background:linear-gradient(180deg,rgba(26,20,33,.98),rgba(26,20,33,.92) 80%,rgba(26,20,33,0));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-primary-panel--plan .panel-heading--board .panel-heading__main--board{gap:2px}.mobile-primary-panel--plan .panel-heading--board .board-actions,.mobile-primary-panel--plan .panel-heading--board .board-legend,.mobile-primary-panel--plan .panel-heading--board .panel-heading__main--board{justify-self:stretch;align-self:start}.mobile-primary-panel--plan .panel-heading--board{grid-template-columns:minmax(0,1fr);column-gap:0;row-gap:14px;align-items:start}.mobile-primary-panel--plan .panel-heading--board .panel-heading__main--board{order:1;grid-column:1/-1}.mobile-primary-panel--plan .panel-heading--board .board-actions{order:2;grid-column:1/-1}.mobile-primary-panel--plan .panel-heading--board .board-legend{order:3;grid-column:1/-1;margin-top:2px}.mobile-primary-panel--plan .board-legend{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-content:start;gap:6px;padding-inline:0}.mobile-primary-panel--plan .board-legend__title{font-size:10px;width:100%;text-align:center}.mobile-primary-panel--plan .board-legend__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;flex-wrap:unset;gap:4px;overflow:visible;width:100%}.mobile-primary-panel--plan .board-legend__item{width:100%;min-height:28px;padding:4px 8px;font-size:10px;gap:4px}.mobile-primary-panel--plan .board-actions{display:block;align-items:stretch;justify-content:stretch;gap:6px;width:100%}.mobile-primary-panel--plan .board-actions__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}.mobile-primary-panel--plan .board-actions__separator{display:none}.mobile-primary-panel--plan .board-panel__copy,.mobile-primary-panel--plan .board-panel__download,.mobile-primary-panel--plan .board-panel__fullscreen,.mobile-primary-panel--plan .board-panel__pdf{min-width:0;min-height:34px;padding:6px 8px;font-size:11px;border-radius:10px}.mobile-primary-panel--plan .board-panel__copy,.mobile-primary-panel--plan .board-panel__fullscreen{grid-column:1/-1}.mobile-primary-panel--plan .board-empty-state{gap:12px;padding:24px 14px}.mobile-primary-panel--plan .board-empty-state__message{font-size:13px;line-height:1.55}.mobile-primary-panel--plan .board-empty-state__action{min-height:40px;padding:10px 16px;font-size:12px;border-radius:13px}.mobile-primary-panel--map .button-with-icon,.mobile-primary-panel--plan .button-with-icon{gap:6px}.mobile-primary-panel--map .board-toggle,.mobile-primary-panel--plan .board-toggle{min-height:24px;padding:4px 7px;gap:4px;font-size:10px;border-radius:9px}.mobile-primary-panel--map .board-toggle__icon,.mobile-primary-panel--plan .board-toggle__icon{width:.8em;height:.8em}.mobile-primary-panel--plan .board-panel--compact .board-quarter__content-inner--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-primary-panel--map .map-panel__header{grid-template-columns:minmax(0,1fr);gap:8px}.mobile-primary-panel--map .map-panel__actions{width:100%;display:flex;flex-wrap:nowrap;gap:6px}.mobile-primary-panel--map .map-panel__actions .accent-button{flex:1 1;min-width:0;min-height:34px;padding:6px 8px;font-size:11px;border-radius:10px}.mobile-primary-panel--map .map-panel__legend{display:grid;justify-items:center;gap:6px;width:100%}.mobile-primary-panel--map .map-panel__legend-title{font-size:10px;font-weight:700;letter-spacing:.08em;color:rgba(236,222,242,.72);text-align:center}.mobile-primary-panel--map .map-panel__legend-items{width:100%;display:flex;justify-content:center;gap:4px;flex-wrap:nowrap}.mobile-primary-panel--map .map-panel__legend .curriculum-map__legend-item{flex:1 1;width:auto;min-width:0;min-height:28px;padding:4px 8px;font-size:10px;gap:4px}.mobile-primary-panel--map .map-panel__legend .curriculum-map__legend-icon{font-size:11px}.course-popup-card--sheet{padding-inline:14px}.mobile-map .map-course-card--mobile strong{font-size:12px}.course-popup-card--sheet .drawer-heading-body{grid-template-columns:minmax(0,1fr) auto}}@media (max-width:480px){.summary-bar__metrics{grid-template-columns:1fr}.board-panel,.control-card,.drawer-panel,.interest-card,.map-panel,.recommend-card,.summary-bar{border-radius:16px}.curriculum-map{grid-template-columns:34px repeat(9,minmax(126px,1fr));min-height:520px}.curriculum-map__intro-courses{grid-template-columns:repeat(2,minmax(120px,1fr))}.curriculum-map__legend{--legend-item-gap:6px;grid-column:2/span 9}.curriculum-map__legend-items{gap:6px}.curriculum-map__group{font-size:12px}.interest-card h2,.map-panel__header h2,.panel-heading h2,.recommend-card h2{font-size:16px}.map-panel__title{margin-top:3px;margin-left:5px;font-size:12px}.detail-display-toggle__button{min-height:38px;padding:8px 10px;font-size:11px}.control-inline-actions,.map-panel__actions,.summary-bar__brand-actions,.summary-bar__requirements-side{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-primary-panel--plan .board-actions{display:block}.mobile-primary-panel--map .map-panel__actions,.mobile-primary-panel--plan .board-actions__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex-wrap:unset}.terms-modal{padding:14px}.academic-year-filter__buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid{grid-template-columns:1fr}.info-pill--method,.info-pill--numbering,.info-pill--teacher{grid-column:span 1}.recommend-card__item header,.teacher-course-item__header{flex-direction:column;align-items:flex-start}}@media (min-width:721px){.board-panel--full .panel-heading--board{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.board-panel--full .panel-heading--board .panel-heading__main--board{flex:1 1 auto;min-width:0;justify-self:auto;align-self:flex-end}.board-panel--full .panel-heading--board .board-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:flex-end;justify-content:flex-end;justify-self:auto;align-self:flex-end;gap:12px;width:auto;max-width:none;min-width:0;margin-left:auto}.board-panel--full .panel-heading__title-row--board{align-items:flex-end;flex-wrap:nowrap;gap:14px}.board-panel--full .panel-heading--board .board-legend{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);flex:0 0 auto;align-self:auto;min-width:max-content;padding-inline:0;justify-content:center;z-index:1}.board-panel--full .board-actions__buttons,.board-panel--full .board-actions__controls,.board-panel--full .board-density-control__row,.board-panel--full .board-order-control__row{flex-wrap:nowrap}.board-panel--full .board-actions__controls{align-items:flex-end;gap:12px}.board-panel--full .board-actions__controls--header{justify-content:flex-start}.board-panel--full .board-actions__buttons{align-items:flex-end;gap:8px}.board-panel--full .board-order-control__row{gap:8px}.board-panel--full .board-order-control__field{gap:5px}.board-panel:not(.board-panel--full) .panel-heading--board{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.board-panel:not(.board-panel--full) .panel-heading--board .panel-heading__main--board{flex:1 1 auto;min-width:0;justify-self:auto}.board-panel:not(.board-panel--full) .panel-heading--board .board-actions{display:flex;flex:0 0 auto;width:auto;max-width:none;justify-content:flex-end;justify-self:auto;align-self:start;margin-left:auto}.board-panel:not(.board-panel--full) .panel-heading--board .board-actions__buttons{justify-content:flex-end;margin-left:auto}}@media (min-width:1281px){.control-card--compact.control-card--planner-desktop{grid-template-columns:minmax(192px,.82fr) minmax(248px,1.08fr) 14px minmax(190px,.68fr) 14px minmax(236px,.94fr) auto}}