.door-window{--door-night:#0e1013;--door-on-night:oklch(100% 0 0/.92);--door-on-night-soft:oklch(100% 0 0/.62);--door-on-night-label:oklch(100% 0 0/.55);--door-on-night-index:oklch(100% 0 0/.4);--door-tile-face:linear-gradient(180deg, #262a33 0%, #1e2129 100%);--door-tile-face-hi:linear-gradient(180deg, #333842 0%, #272b34 100%);--door-tile-lift:inset 0 1px 0 oklch(100% 0 0/.07), inset 0 -1px 0 oklch(0% 0 0/.55), 0 14px 26px -18px oklch(0% 0 0/.95);--door-tile-lift-hi:inset 0 1px 0 oklch(100% 0 0/.11), inset 0 -1px 0 oklch(0% 0 0/.55), 0 20px 34px -18px oklch(0% 0 0);--door-tile-more:oklch(100% 0 0/.045);--door-glow:var(--accent-gold);--door-glow-halo:0 0 14px oklch(80% .16 86/.55);--door-well:color-mix(in oklch, var(--ink) 4%, var(--surface));--door-well-deep:color-mix(in oklch, var(--ink) 7%, var(--surface));--door-window-shadow:var(--window-shadow);--door-sheet-shadow:var(--window-sheet-shadow);--door-status-h:3.25rem;--door-floor:radial-gradient(ellipse at 50% 50%, oklch(0% 0 0/.15) 0%, oklch(0% 0 0/0) 70%);--door-rail-w:14rem;--door-loop-w:19rem;--door-sheet-w:calc(100cqw - var(--door-rail-w) - var(--door-loop-w));--door-slide:.52s;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0, 1fr) var(--door-status-h);background:var(--door-night);box-shadow:var(--door-window-shadow);color:var(--ink);border-radius:12px;display:grid;position:relative;overflow:hidden;container-type:inline-size}.door-main{grid-template-columns:var(--door-rail-w) var(--door-sheet-w) var(--door-loop-w);display:grid}.door-rail{background:var(--door-night);color:var(--door-on-night);flex-direction:column;padding:1.125rem .875rem 1.25rem;display:flex}.door-lights{gap:8px;display:flex}.door-lights span{border-radius:999px;width:12px;height:12px;display:block;box-shadow:inset 0 0 0 .5px oklch(0% 0 0/.25)}.door-lights span:first-child{background:#ff5f57}.door-lights span:nth-child(2){background:#febc2e}.door-lights span:nth-child(3){background:#28c840}.door-k{color:var(--door-on-night-label)}.door-tiles{flex-direction:column;gap:7px;display:flex}.door-tile{background:var(--door-tile-face);height:2.875rem;box-shadow:var(--door-tile-lift);color:var(--door-on-night);text-align:left;transition:opacity var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border-radius:10px;align-items:center;gap:10px;padding:0 .75rem;display:flex}.door-tile:hover{background:var(--door-tile-face-hi)}.door-tile:focus-visible{outline:2px solid var(--door-glow);outline-offset:2px}.door-tile .door-index{width:1rem;color:var(--door-on-night-index)}.door-tile[aria-current=true]{background:var(--door-tile-face-hi);box-shadow:var(--door-tile-lift-hi), inset 0 0 0 1.5px var(--door-glow)}.door-tile[aria-current=true] .door-index{color:var(--door-glow)}.door-tile[data-dim=true]{opacity:.4}.door-tile[data-dim=true]:hover{opacity:.8}.door-rungs{gap:3px;margin-left:auto;display:flex}.door-rungs i{width:5px;height:5px;transition:background-color var(--duration-slow) var(--ease-out);background:oklch(100% 0 0/.16);border-radius:999px;display:block}.door-rungs i[data-done=true]{background:var(--door-glow)}.door-tile:disabled{cursor:default}.door-tile:disabled:hover{background:var(--door-tile-face)}.door-tile[data-done=true]:hover{opacity:.4}.door-tile-more{background:var(--door-tile-more);box-shadow:none;color:oklch(100% 0 0/.8)}.door-rooms{flex-direction:column;gap:2px;display:flex}.door-room{height:2.125rem;color:var(--door-on-night-soft);transition:color var(--duration-fast) var(--ease-out);border-radius:8px;align-items:center;padding:0 .75rem;display:flex}.door-room:hover{color:var(--door-on-night)}.door-room:focus-visible{outline:2px solid var(--door-glow);outline-offset:-2px}.door-sheet{z-index:2;background:var(--surface);min-width:0;box-shadow:var(--door-sheet-shadow);position:relative;overflow:clip}.door-sheet-in{width:var(--door-sheet-w);padding:0 2rem 2.25rem}.door-bar{justify-content:space-between;align-items:center;gap:.75rem;height:3.5rem;display:flex}.door-cards{flex-direction:column;gap:8px;margin-top:1.25rem;display:flex}.door-card{background:var(--surface);width:100%;box-shadow:var(--shadow-soft-sm);text-align:left;color:var(--ink);transition:background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), opacity var(--duration-normal) var(--ease-out);border-radius:10px;align-items:center;gap:14px;padding:.875rem 1rem;display:flex}.door-card:enabled:hover{background:var(--door-well)}.door-card .door-box{background:var(--door-well-deep);width:28px;height:28px;color:var(--ink);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);border-radius:7px;flex:none;place-items:center;display:grid}.door-card[data-state=selected]{background:var(--door-well-deep)}.door-card[data-state=selected] .door-box{background:var(--ink);color:var(--surface)}.door-card[data-state=correct]{background:var(--ink);color:var(--surface);box-shadow:var(--shadow-soft-md)}.door-card[data-state=correct] .door-box{color:var(--accent-gold-on-ink);background:oklch(100% 0 0/.12)}.door-card[data-state=wrong]{box-shadow:inset 0 0 0 2px var(--accent), var(--shadow-soft-sm)}.door-card[data-state=wrong] .door-box{background:color-mix(in oklch, var(--accent) 12%, var(--surface));color:var(--accent-text)}.door-card[data-state=dim]{opacity:.55;box-shadow:none;background:0 0}.door-chip{white-space:nowrap;border-radius:6px;flex:none;align-items:center;gap:5px;margin-left:auto;padding:5px 9px;display:inline-flex}.door-chip[data-tone=ok]{background:var(--accent-gold);color:var(--ink)}.door-chip[data-tone=miss]{background:color-mix(in oklch, var(--accent) 10%, var(--surface));color:var(--accent-text)}.door-why{background:var(--accent-gold-wash);border-radius:12px;margin-top:1.125rem;padding:1.125rem 1.375rem 1.25rem}.door-loop{--door-rig-w:9.375rem;background:radial-gradient(90% 40% at 50% 0%, var(--surface) 0%, oklch(100% 0 0/0) 100%), var(--door-well);flex-direction:column;min-width:0;padding:0 1.5rem 1.5rem;scroll-margin-top:5.5rem;display:flex;overflow:clip}.door-rig{width:var(--door-rig-w);margin:.125rem 0 0}.door-floor{width:calc(var(--door-rig-w) * .5);height:calc(var(--door-rig-w) * .087);margin:calc(var(--door-rig-w) * -.157) 0 calc(var(--door-rig-w) * .06) calc(var(--door-rig-w) * .25);background:var(--door-floor);border-radius:999px}.door-rig svg{width:100%;height:auto}.door-talk{width:calc(var(--door-loop-w) - 3rem);flex-direction:column;margin-top:.75rem;display:flex}.door-say-links a{transition:opacity var(--duration-fast) var(--ease-out)}.door-say-links:hover a{opacity:1}.door-say-links a:hover{opacity:.8}.door-choices{flex-direction:column;gap:.375rem;display:flex}.door-reply{background:var(--surface);width:100%;box-shadow:var(--shadow-soft-sm);text-align:left;color:var(--ink);transition:background-color var(--duration-fast) var(--ease-out);border-radius:9px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6875rem .875rem;display:flex}.door-reply:hover{background:var(--door-well-deep)}.door-after{visibility:hidden;flex-direction:column;display:flex}.door-after[data-ready=true]{visibility:visible}.door-continue{flex-direction:column;align-items:flex-start;gap:.875rem;margin-top:1.25rem;display:flex}.door-ledger{flex-direction:column;gap:.5rem;margin-top:auto;padding-top:1.75rem;display:flex}.door-ledger-row{white-space:nowrap;background:var(--surface);box-shadow:var(--shadow-soft-sm);border-radius:9px;flex-wrap:wrap;align-items:center;gap:.25rem .625rem;padding:.625rem .75rem;display:flex}.door-mark{white-space:nowrap;flex:none;align-items:center;gap:.375rem;margin-left:auto;display:inline-flex}.door-mark[data-tone=ok]{color:var(--accent-gold-deep)}.door-mark[data-tone=miss]{color:var(--accent-text)}.door-main[data-expanded=true]{grid-template-columns:var(--door-rail-w) 0 calc(100cqw - var(--door-rail-w))}.door-main[data-expanded=true] .door-sheet{visibility:hidden}.door-main[data-expanded=true] .door-loop{--door-talk-w:min(36rem, calc(100cqw - var(--door-rail-w) - 5rem - var(--door-rig-w) - 2.5rem));grid-template-columns:var(--door-rig-w) minmax(0, 1fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:2.5rem;padding:0 2.5rem 1.75rem;display:grid;box-shadow:inset 14px 0 30px -14px oklch(0% 0 0/.3)}.door-main[data-expanded=true] .door-bar{grid-column:1/-1}.door-main[data-expanded=true] .door-figure{grid-area:2/1}.door-main[data-expanded=true] .door-talk{width:var(--door-talk-w);grid-area:2/2;margin-top:0}.door-main[data-expanded=true] .door-ledger{max-width:calc(var(--door-rig-w) + 2.5rem + var(--door-talk-w));grid-area:3/1/auto/-1;margin-top:0}@media (prefers-reduced-motion:no-preference){.door-main{transition:grid-template-columns var(--door-slide) var(--ease-in-out)}.door-sheet{transition:visibility var(--door-slide) var(--ease-in-out)}.door-loop{transition:padding var(--door-slide) var(--ease-in-out), box-shadow var(--door-slide) var(--ease-in-out)}}.door-stage{--door-stage-core:oklch(29.5% .038 252);--door-stage-edge:oklch(20.5% .024 258);--door-stage-mid:oklch(19% .021 258);--door-stage-foot:var(--ink);background:radial-gradient(118% 68% at 50% 42%, var(--door-stage-core) 0%, oklch(26% .034 253/.6) 48%, oklch(26% .034 253/0) 86%), linear-gradient(180deg, var(--door-stage-edge) 0%, var(--door-stage-mid) 55%, var(--door-stage-foot) 100%);margin-top:4.75rem;display:grid}.door-stage .door-window{margin-top:-2.5rem}.door-stage .door-caption{--door-caption-ink:oklch(100% 0 0/.55)}.door-status{background:var(--door-night);color:var(--door-on-night);justify-content:space-between;align-items:center;gap:1rem;padding:0 1.5rem 0 1.125rem;display:flex;box-shadow:inset 0 1px oklch(100% 0 0/.06)}.door-status-side{align-items:center;gap:1.375rem;min-width:0;display:flex}.door-week{align-items:center;gap:5px;display:flex}.door-week i{width:18px;height:18px;transition:background-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);background:oklch(100% 0 0/.1);border-radius:5px;display:block}.door-week i[data-today=true]{background:0 0;box-shadow:inset 0 0 0 2px oklch(100% 0 0/.6)}.door-week i[data-done=true]{background:var(--accent-gold);box-shadow:var(--door-glow-halo)}.door-stat{white-space:nowrap;align-items:baseline;gap:.5rem;display:flex}.door-stat-value{color:var(--accent-gold-on-ink);font-variant-numeric:tabular-nums;transition:color var(--duration-slow) var(--ease-out)}.door-stat-value[data-quiet=true]{color:oklch(100% 0 0/.35)}.door-ask{white-space:nowrap;color:var(--door-on-night);text-decoration:underline;-webkit-text-decoration-color:var(--accent-gold-on-ink);text-decoration-color:var(--accent-gold-on-ink);text-underline-offset:4px;transition:color var(--duration-slow) var(--ease-out)}.door-ask:hover{color:#fff}.door-plus{white-space:nowrap;background:var(--accent-gold);color:var(--ink);border-radius:6px;padding:3px 7px;box-shadow:0 0 16px oklch(80% .16 86/.5)}.door-caption{--door-caption-ink:var(--window-caption-ink);text-align:center;color:var(--door-caption-ink);margin-top:2rem}@media (width<=899px){.door-main{grid-template-columns:minmax(0,1fr)}.door-rail{padding-bottom:.875rem}.door-tiles{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-direction:row;padding:4px 0 10px;overflow-x:auto}.door-tiles::-webkit-scrollbar{display:none}.door-tile{flex:none;height:2.75rem}.door-rooms{flex-flow:wrap;gap:.25rem .5rem}.door-room{height:2rem;padding:0 .5rem}.door-sheet{box-shadow:0 -10px 30px -12px oklch(0% 0 0/.55),0 10px 30px -14px oklch(0% 0 0/.18)}.door-sheet-in{width:auto;padding:0 1.25rem 1.5rem}.door-loop{--door-rig-w:6rem;padding:0 1.25rem 1.25rem}.door-talk{width:auto}.door-status{flex-wrap:wrap;row-gap:.625rem;height:auto;padding:.75rem 1.25rem}.door-status-side{flex-wrap:wrap;row-gap:.5rem}.door-window{grid-template-rows:minmax(0,1fr) auto}.door-main[data-expanded=true]{grid-template-columns:minmax(0,1fr)}.door-main[data-expanded=true] .door-sheet{display:none}.door-main[data-expanded=true] .door-loop{--door-rig-w:6rem;min-height:24rem;box-shadow:none;padding:0 1.25rem 1.25rem;display:flex}.door-main[data-expanded=true] .door-talk{width:auto;margin-top:.75rem}.door-main[data-expanded=true] .door-ledger{max-width:none;margin-top:auto}}@media (width<=639px){.door-card{grid-template-columns:28px minmax(0,1fr);align-items:start;display:grid}.door-card .door-box{margin-top:1px}.door-chip{grid-column:2;justify-self:start;margin-left:0}}
