.test-dashboard{color:#20242c;background:linear-gradient(#f8fafc 0%,#eef2f5 100%);min-height:100vh;padding:28px}.test-dashboard__header{justify-content:space-between;align-items:flex-end;gap:16px;max-width:1180px;margin:0 auto 18px;display:flex}.test-dashboard__header h1{margin:0;font-size:2rem;line-height:1.1}.test-dashboard__eyebrow{color:#64748b;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:700}.test-dashboard__link{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:9px 12px;font-size:.9rem;font-weight:700;text-decoration:none}.test-dashboard__link:hover{border-color:#64748b}.test-dashboard__summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:1180px;margin:0 auto 14px;display:grid}.test-dashboard__summary-cell{background:#fff;border:1px solid #d5dde7;border-radius:8px;gap:6px;min-height:78px;padding:14px;display:grid}.test-dashboard__summary-cell span{color:#64748b;text-transform:uppercase;font-size:.78rem;font-weight:700}.test-dashboard__summary-cell strong{font-size:1.45rem;line-height:1}.test-dashboard__summary-cell.is-pass{border-color:#86c5a2}.test-dashboard__summary-cell.is-fail{border-color:#eca0a0}.test-dashboard__error,.test-dashboard__empty{border-radius:8px;max-width:1180px;margin:0 auto 14px;padding:12px 14px;line-height:1.45}.test-dashboard__error{color:#7f1d1d;background:#fff1f1;border:1px solid #eca0a0}.test-dashboard__empty{color:#475569;background:#fff;border:1px dashed #cbd5e1}.test-dashboard__section{max-width:1180px;margin:14px auto}.test-dashboard__section h2,.test-dashboard__pack h3{color:#0f172a;margin:0 0 8px}.test-dashboard__section h2{font-size:1.2rem}.test-dashboard__pack{border-left:3px solid #cbd5e1;margin-top:14px;padding-left:14px}.test-dashboard__pack h3{font-size:1rem}.test-dashboard__targets{gap:10px;display:grid}.test-dashboard__target{background:#fff;border:1px solid #d5dde7;border-radius:8px;overflow:hidden}.test-dashboard__target-main{grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:14px;display:grid}.test-dashboard__target-title{align-items:center;gap:8px;margin-bottom:5px;font-weight:800;display:flex}.test-dashboard__target p{color:#475569;margin:0 0 8px;line-height:1.45}.test-dashboard__target code{color:#334155;white-space:pre-wrap;word-break:break-word;background:#f1f5f9;border-radius:6px;width:100%;padding:8px;font-size:.82rem;display:block}.test-dashboard__target-actions{align-content:start;justify-items:end;gap:8px;min-width:112px;display:grid}.test-dashboard__target-actions span{color:#64748b;font-size:.82rem;font-weight:700}.test-dashboard__target-actions button{color:#fff;cursor:pointer;background:#334155;border:1px solid #334155;border-radius:6px;min-width:76px;min-height:36px;font-weight:800}.test-dashboard__target-actions button:hover:not(:disabled){background:#1f2937}.test-dashboard__target-actions button:disabled{color:#64748b;cursor:not-allowed;background:#e2e8f0;border-color:#cbd5e1}.test-dashboard__badge{color:#64748b;text-transform:uppercase;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;padding:3px 7px;font-size:.7rem;font-weight:800}.test-dashboard__badge.is-running{color:#854d0e;background:#fff7d6;border-color:#d6a94e}.test-dashboard__badge.is-pass{color:#166534;background:#eaf8ef;border-color:#86c5a2}.test-dashboard__badge.is-fail{color:#991b1b;background:#fff1f1;border-color:#eca0a0}.test-dashboard__result{background:#0f172a;border-top:1px solid #d5dde7}.test-dashboard__result p{color:#cbd5e1;margin:0;padding:9px 12px;font-size:.82rem;font-weight:700}.test-dashboard__result pre{color:#e2e8f0;white-space:pre-wrap;max-height:360px;margin:0;padding:0 12px 12px;font-size:.8rem;line-height:1.45;overflow:auto}@media (width<=720px){.test-dashboard{padding:16px}.test-dashboard__header{flex-direction:column;align-items:flex-start}.test-dashboard__summary,.test-dashboard__target-main{grid-template-columns:1fr}.test-dashboard__target-actions{grid-template-columns:1fr auto;place-items:center stretch;min-width:0}.test-dashboard__target-actions span{align-self:center}}.lib-board-view{width:100%;min-width:0;height:100%;min-height:0;overflow:var(--lib-board-view-overflow,hidden);background:var(--lib-board-view-background,transparent);position:relative}.lib-board-view__content{min-width:0;min-height:0;position:absolute}.lib-board-view[data-board-view-mode=fixed]>.lib-board-view__content{width:var(--lib-board-view-content-width);height:var(--lib-board-view-content-height);transform:translate(-50%, -50%) scale(var(--lib-board-view-scale,1));transform-origin:50%;top:50%;left:50%}.lib-board-view[data-board-view-mode=fixed][data-board-view-scale-application=layout]>.lib-board-view__content{width:var(--lib-board-view-visible-width);height:var(--lib-board-view-visible-height);transform:translate(-50%,-50%)}.lib-board-view[data-board-view-mode=fill]>.lib-board-view__content{width:100%;height:100%;inset:0}.lib-card-view{box-sizing:border-box;width:var(--lib-card-view-width,10rem);min-height:var(--lib-card-view-min-height,14rem);border:var(--lib-card-view-border,1px solid #0f172a29);border-radius:var(--lib-card-view-radius,8px);background:var(--lib-card-view-background,#fff);color:var(--lib-card-view-color,#111827);box-shadow:var(--lib-card-view-shadow,0 8px 18px #0f172a1a);-webkit-user-select:none;user-select:none;display:block;position:relative;overflow:visible}.lib-card-view,.lib-card-view *{box-sizing:border-box}.lib-card-view.is-interactive{cursor:pointer}.lib-card-view.is-disabled,.lib-card-view.is-blocked{cursor:not-allowed}.lib-card-view.is-motion-hidden{visibility:hidden}.lib-card-view:focus-visible{outline:var(--lib-card-view-focus-outline,2px solid #2563eb);outline-offset:var(--lib-card-view-focus-outline-offset,2px)}.lib-card-view__default-face{min-height:inherit;padding:var(--lib-card-view-padding,.75rem);align-content:start;gap:.5rem;display:grid}.lib-card-view__header{justify-content:space-between;align-items:start;gap:.5rem;display:flex}.lib-card-view__header strong{overflow-wrap:anywhere;min-width:0}.lib-card-view__header span{background:var(--lib-card-view-cost-background,#2563eb1f);color:var(--lib-card-view-cost-color,#1d4ed8);border-radius:999px;flex:none;padding:.12rem .42rem;font-weight:700}.lib-card-view__default-face small{color:var(--lib-card-view-muted-color,#64748b);font-weight:600}.lib-card-view__default-face p{overflow-wrap:anywhere;margin:0;line-height:1.4}.lib-card-view__image-face{width:100%;height:100%;min-height:inherit;border-radius:inherit;background-image:var(--lib-card-view-image);background-position:50%;background-repeat:no-repeat;background-size:var(--lib-card-view-image-fit,100% 100%)}.lib-card-view__flip{width:100%;height:100%;min-height:inherit;perspective:var(--lib-card-view-flip-perspective,1200px)}.lib-card-view__flip-inner{width:100%;height:100%;min-height:inherit;transform-style:preserve-3d;position:relative;transform:rotateY(0)}.lib-card-view__flip.is-flipped .lib-card-view__flip-inner{transform:rotateY(180deg)}.lib-card-view__flip-face{backface-visibility:hidden;display:block;position:absolute;inset:0}.lib-card-view__flip-face--back{transform:rotateY(180deg)}.lib-card-view__stack{width:100%;height:100%;min-height:inherit;position:relative}.lib-card-view__stack-layer{position:absolute;inset:0}.lib-card-view__stack-layer[data-stack-layer="0"]{transform:translate(-7px,6px)rotate(-4deg)}.lib-card-view__stack-layer[data-stack-layer="1"]{transform:translate(-3px,3px)rotate(-2deg)}.lib-card-view__stack-layer:last-child{transform:none}.lib-card-view-tooltip{z-index:var(--lib-card-view-tooltip-z-index,1000);border:var(--lib-card-view-tooltip-border,1px solid #0f172a29);border-radius:var(--lib-card-view-tooltip-radius,8px);max-width:min(24rem,100vw - 1.5rem);padding:var(--lib-card-view-tooltip-padding,.5rem .65rem);background:var(--lib-card-view-tooltip-background,#fff);color:var(--lib-card-view-tooltip-color,#111827);box-shadow:var(--lib-card-view-tooltip-shadow,0 12px 28px #0f172a2e);pointer-events:none;position:fixed;transform:translate(-50%,-100%)}.lib-card-view-tooltip__line{overflow-wrap:anywhere;line-height:1.35;display:block}.lib-card-view-tooltip__line+.lib-card-view-tooltip__line{margin-top:.15rem}html.fullscreen-game-route,body.fullscreen-game-route{overscroll-behavior:none;touch-action:none;width:100%;height:100%;overflow:hidden}body.fullscreen-game-route{background:#f5f4f1;min-height:100%;position:fixed;inset:0}body.fullscreen-game-route #root{width:100%;height:100%;overflow:hidden}.timeline-asset-gate{color:#363532;background-color:#f5f4f1;background-position:50%;background-size:cover;place-items:center;font-family:Inter,Noto Sans SC,system-ui,sans-serif;display:grid;position:fixed;inset:0;overflow:hidden}.timeline-asset-gate__bar{z-index:1;background:#fcfaf8eb;border:1px solid #d3cfc6eb;border-radius:999px;width:min(420px,100% - 48px);height:8px;position:relative;overflow:hidden;box-shadow:0 4px 12px #36353214}.timeline-asset-gate__bar span{border-radius:inherit;background:#5c7a82;height:100%;transition:width .16s;display:block}.timeline-asset-gate__bar[data-indeterminate=true] span{width:32%;animation:.9s ease-in-out infinite timeline-asset-loading}.timeline-asset-gate__error{z-index:1;text-align:center;max-width:min(520px,100% - 48px);position:relative}.timeline-asset-gate__error h1,.timeline-asset-gate__error p{letter-spacing:0;margin:0}.timeline-asset-gate__error p{color:#c04851;white-space:pre-wrap;margin-top:16px}@keyframes timeline-asset-loading{0%{transform:translate(-110%)}to{transform:translate(320%)}}.timeline-route{color:#363532;width:100%;height:100%;min-height:100%;font-family:Inter,Noto Sans SC,system-ui,sans-serif}@font-face{font-family:LXGWTimeline;src:url(/assets/lxgw-timeline-subset-DeNHhS7s.woff2)format("woff2");font-display:swap}.timeline-stage{--timeline-ink:#363532;--timeline-jade:#6b8e7c;--timeline-mountain:#5c7a82;--timeline-terracotta:#b06f55;--timeline-terracotta-hover:#9d5f48;--timeline-terracotta-pressed:#874d3a;--timeline-red:#c04851;--timeline-amber:#cbaa77;--timeline-light-amber:#f4ebd9;--timeline-paper:#fcfaf8;--timeline-page:#f5f4f1;--timeline-line:#d3cfc6;--timeline-shadow:#36353229;--timeline-x:1px;--timeline-y:1px;--timeline-u:1px;--timeline-game-header-height:48px;--timeline-game-header-title-size:32px;--timeline-game-header-top-padding:16px;background-color:var(--timeline-page);background-blend-mode:normal;touch-action:none;-webkit-user-select:none;user-select:none;background-position:50%;background-size:cover;width:100%;height:100%;position:relative;overflow:hidden}.timeline-stage-surface{pointer-events:none;z-index:0;background:linear-gradient(90deg,#d3cfc63d,#0000 26% 74%,#5c7a8214),linear-gradient(#fcfaf8bd,#f5f4f1db);position:absolute;inset:0}.timeline-float{left:calc(var(--timeline-left,0) * var(--timeline-x));top:calc(var(--timeline-top,0) * var(--timeline-y));width:calc(var(--timeline-width,0) * var(--timeline-u));height:calc(var(--timeline-height,0) * var(--timeline-u));z-index:10;position:absolute}.timeline-topbar h1,.timeline-lane-title,.timeline-lane-hint,.timeline-score,.timeline-empty{letter-spacing:0;margin:0}.timeline-game-header{z-index:36;box-sizing:border-box;width:100%;height:var(--timeline-game-header-height);min-height:var(--timeline-game-header-height);padding:var(--timeline-game-header-top-padding) 0 0 16px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;align-items:flex-start;display:flex;position:absolute;top:0;left:0}.timeline-topbar{flex:auto;min-width:0}.timeline-topbar h1{color:var(--timeline-ink);font-family:LXGWTimeline,Noto Serif SC,Noto Sans SC,serif;font-size:var(--timeline-game-header-title-size);text-overflow:ellipsis;white-space:nowrap;margin-top:0;line-height:1;overflow:hidden}.timeline-level-dialog-layer{inset:var(--timeline-game-header-height) 0 0;z-index:2000;opacity:1;pointer-events:auto;place-items:center;transition:opacity .2s;display:grid;position:absolute;overflow:hidden}.timeline-level-dialog-layer[data-phase=fading]{opacity:0;pointer-events:none}.timeline-level-dialog-backdrop{pointer-events:auto;background:0 0;position:absolute;inset:0}.timeline-level-dialog{--level-u:var(--timeline-level-dialog-unit,8px);--level-region-units:12;--level-title-region-units:2;--level-action-region-units:3;--level-region-padding-units:6;--level-title-left-padding-units:3;--level-title-area-height:calc(var(--timeline-level-dialog-height) * var(--level-title-region-units) / var(--level-region-units));--level-action-area-height:calc(var(--timeline-level-dialog-height) * var(--level-action-region-units) / var(--level-region-units));--level-title-area-padding:calc(var(--level-title-area-height) / var(--level-region-padding-units));--level-title-left-padding:calc(var(--level-title-area-height) / var(--level-title-left-padding-units));--level-action-area-padding:calc(var(--level-action-area-height) / var(--level-region-padding-units));z-index:1;box-sizing:border-box;width:var(--timeline-level-dialog-width);height:var(--timeline-level-dialog-height);grid-template-rows:var(--level-title-area-height) minmax(0, 1fr) var(--level-action-area-height);border-radius:calc(.8 * var(--level-u));background-color:var(--timeline-paper);box-shadow:inset 0 0 0 calc(.16 * var(--level-u)) #b1a794b8, 0 calc(2.4 * var(--level-u)) calc(7 * var(--level-u)) #3635324d, 0 calc(.7 * var(--level-u)) calc(2 * var(--level-u)) #36353238;color:var(--timeline-ink);background-image:url(/assets/dialog_background-BfF7hNQ3.jpg);background-position:50%;background-size:cover;outline:none;padding:0;font-family:LXGWTimeline,Noto Serif SC,Noto Sans SC,serif;display:grid;position:relative;overflow:hidden}.timeline-level-dialog h2,.timeline-level-dialog p{letter-spacing:0;margin:0}.timeline-level-dialog__title-area{box-sizing:border-box;min-width:0;padding:var(--level-title-area-padding) 0 var(--level-title-area-padding) var(--level-title-left-padding);align-items:center;display:flex}.timeline-level-dialog h2{font-size:min(calc(3.5 * var(--level-u)), calc(var(--timeline-game-header-title-size) * .94));font-weight:900;line-height:1}.timeline-level-dialog__close{right:var(--level-title-left-padding);top:var(--level-title-area-padding);width:calc(4.6 * var(--level-u));height:calc(4.6 * var(--level-u));padding:calc(.7 * var(--level-u));color:var(--timeline-ink);cursor:pointer;background:0 0;border:0;position:absolute}.timeline-level-dialog__close svg{width:100%;height:100%;display:block}.timeline-level-dialog__close:hover{color:var(--timeline-mountain)}.timeline-level-dialog__selection-area{box-sizing:border-box;min-height:0;padding:0 calc(5 * var(--level-u));flex-direction:column;justify-content:center;display:flex}.timeline-level-dialog__difficulty{grid-template-columns:repeat(2, calc(20 * var(--level-u)));margin-left:calc(2 * var(--level-u));justify-content:start;display:grid}.timeline-level-dialog__difficulty-tab{height:calc(6 * var(--level-u));box-sizing:border-box;border:0;border-bottom:calc(.42 * var(--level-u)) solid #d6d0c5;color:#4f4b46;font:inherit;font-size:calc(2.65 * var(--level-u));cursor:pointer;background:0 0;padding:0;font-weight:900;line-height:1;transition:border-color .14s,color .14s}.timeline-level-dialog__difficulty-tab[data-selected=true]{color:#607a7d;border-bottom-color:#607a7d}.timeline-level-dialog__difficulty-tab:active:not(:disabled){color:#4f4b46}.timeline-level-dialog__option{width:calc(20 * var(--level-u));height:calc(6 * var(--level-u));box-sizing:border-box;border:calc(.14 * var(--level-u)) solid #d6d0c5;border-radius:calc(.7 * var(--level-u));color:#4f4b46;font:inherit;font-size:calc(2.65 * var(--level-u));cursor:pointer;background:#faf7f0;padding:0;font-weight:900;line-height:1;transition:background .14s,border-color .14s,color .14s,box-shadow .14s}.timeline-level-dialog__option:hover:not(:disabled){box-shadow:0 calc(.35 * var(--level-u)) calc(1 * var(--level-u)) #3635321a;border-color:#b9c3be}.timeline-level-dialog__option:focus-visible,.timeline-level-dialog__difficulty-tab:focus-visible,.timeline-level-dialog__start:focus-visible,.timeline-level-dialog__close:focus-visible{outline:calc(.22 * var(--level-u)) solid var(--timeline-mountain);outline-offset:calc(.2 * var(--level-u))}.timeline-level-dialog__option[data-selected=true]{color:#607a7d;background:#e7ece8;border-color:#aabbb6}.timeline-level-dialog__option[data-selected=true]:hover:not(:disabled){background:#eef2ef}.timeline-level-dialog__option[data-selected=true]:active:not(:disabled){background:#dce5e1}.timeline-level-dialog__option:disabled{cursor:default}.timeline-level-dialog__option-label{text-align:center;white-space:nowrap;width:5em;display:inline-block;overflow:visible}.timeline-level-dialog__option-label[data-length="4"]{letter-spacing:.25em;text-indent:.25em}.timeline-level-dialog__option-label[data-length="2"]{letter-spacing:1em;text-indent:1em}.timeline-level-dialog__period-section{margin-top:calc(2.5 * var(--level-u))}.timeline-level-dialog__period-grid{grid-template-columns:repeat(4, calc(20 * var(--level-u)));grid-template-rows:repeat(2, calc(6 * var(--level-u)));gap:calc(1.1 * var(--level-u)) calc(2 * var(--level-u));justify-content:center;display:grid}.timeline-level-dialog__option--all-history{grid-row:span 2;height:auto}.timeline-level-dialog__footer{box-sizing:border-box;padding:var(--level-action-area-padding);justify-content:center;align-items:center;display:flex}.timeline-level-dialog__start{width:calc(20 * var(--level-u));height:min(calc(6 * var(--level-u)), calc(var(--level-action-area-height) - 2 * var(--level-action-area-padding)));border:calc(.14 * var(--level-u)) solid var(--timeline-terracotta);border-radius:calc(.7 * var(--level-u));background:var(--timeline-terracotta);color:var(--timeline-paper);font:inherit;font-size:calc(2.6 * var(--level-u));cursor:pointer;box-shadow:0 calc(.5 * var(--level-u)) calc(1.2 * var(--level-u)) #36353224;padding:0;font-weight:900;line-height:1;transition:background-color .14s,border-color .14s}.timeline-level-dialog__start:hover{border-color:var(--timeline-terracotta-hover);background:var(--timeline-terracotta-hover)}.timeline-level-dialog__start:active{border-color:var(--timeline-terracotta-pressed);background:var(--timeline-terracotta-pressed)}.timeline-level-dialog__start:focus-visible{outline-color:var(--timeline-terracotta-hover)}.timeline-level-dialog__loading{justify-content:center;align-items:center;display:flex}.timeline-level-dialog__progress{width:calc(70 * var(--level-u));height:calc(1.3 * var(--level-u));border:calc(.12 * var(--level-u)) solid #5c7a827a;background:#fcfaf8b8;border-radius:999px;overflow:hidden}.timeline-level-dialog__progress span{border-radius:inherit;background:var(--timeline-mountain);height:100%;transition:width 16ms;display:block}.timeline-button,.timeline-answer-token,.timeline-icon-button{border:calc(1 * var(--timeline-u)) solid var(--timeline-line);border-radius:calc(6 * var(--timeline-u));font:inherit;letter-spacing:0;cursor:pointer;font-weight:800}.timeline-button{font-size:calc(17 * var(--timeline-u));padding:0;line-height:1}.timeline-button.timeline-float{z-index:36}.timeline-button--primary{border-color:var(--timeline-mountain);background:var(--timeline-mountain);color:var(--timeline-paper)}.timeline-button:hover,.timeline-answer-token:hover,.timeline-icon-button:hover{filter:brightness(1.08)}.timeline-button:disabled{cursor:not-allowed;filter:none;opacity:.48}.timeline-drop-zone{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;z-index:2;background:0 0;border:0}.timeline-hand-zone{pointer-events:none;z-index:1;background:0 0;border:0}.timeline-lane-title,.timeline-lane-hint{color:var(--timeline-ink);font-weight:900;line-height:calc(var(--timeline-height,34) * var(--timeline-u));pointer-events:none;text-shadow:0 calc(1 * var(--timeline-u)) 0 #fcfaf8b3}.timeline-lane-title{font-size:calc(21 * var(--timeline-u))}.timeline-lane-hint{color:#363532a3;font-size:calc(15 * var(--timeline-u));text-align:right}.timeline-hand-title{text-align:center}.timeline-actor-layer{pointer-events:none;z-index:20;position:absolute;inset:0;overflow:visible}.timeline-card{--timeline-card-image-size:calc(var(--actor-width,110) * var(--timeline-u));--timeline-card-image-width:var(--timeline-card-image-size);--timeline-card-image-height:var(--timeline-card-image-size);--timeline-card-title-height:calc((var(--actor-height,154) - var(--actor-width,110)) * var(--timeline-u));--timeline-card-title-font-size:calc(16 * var(--timeline-u));--timeline-card-played-width:calc(var(--actor-width,110) * var(--timeline-u));--timeline-card-played-height:calc(var(--actor-height,154) * var(--timeline-u));--timeline-card-played-image-size:var(--timeline-card-image-size);--timeline-card-played-title-height:var(--timeline-card-title-height);--timeline-card-played-year-opacity:1;--timeline-card-letter-spacing:.1em;--timeline-card-detail-scale:1;--timeline-card-detail-image-size:var(--timeline-card-image-size);--timeline-card-inner-border:#b1a794b8;--timeline-card-year-band-height:calc(var(--timeline-card-played-image-size) * .2);--timeline-card-year-pill-height:calc(var(--timeline-card-year-band-height) * .7);--lib-card-view-background:transparent;--lib-card-view-border:0;--lib-card-view-width:calc(var(--actor-width,110) * var(--timeline-u));--lib-card-view-min-height:calc(var(--actor-height,154) * var(--timeline-u));left:calc(var(--actor-left,0) * var(--timeline-x));top:calc(var(--actor-top,0) * var(--timeline-y));width:calc(var(--actor-width,110) * var(--timeline-u));height:calc(var(--actor-height,154) * var(--timeline-u));min-height:calc(var(--actor-height,154) * var(--timeline-u));border-radius:calc(8 * var(--timeline-u));box-shadow:0 calc(4 * var(--timeline-u)) calc(12 * var(--timeline-u)) #0000001a;color:var(--timeline-ink);pointer-events:auto;transform:rotate(var(--actor-rotate,0deg));transform-origin:50% 100%;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;touch-action:none;z-index:var(--actor-z,1);background:0 0;border:0;transition:left .28s cubic-bezier(.18,.88,.24,1),top .28s cubic-bezier(.18,.88,.24,1),transform .28s cubic-bezier(.18,.88,.24,1),box-shadow .16s,filter .16s;position:absolute}.timeline-card.is-interactive{cursor:pointer}.timeline-stage[data-phase=playing] .timeline-card.is-interactive{cursor:grab}.timeline-stage[data-phase=playing] .timeline-card.is-interactive:active{cursor:grabbing}.timeline-card[data-actor-visual=hand][data-hand-hovered=true],.timeline-card[data-actor-visual=hand]:focus-visible{box-shadow:0 calc(8 * var(--timeline-u)) calc(20 * var(--timeline-u)) #00000024;transform:translateY(calc(-36 * var(--timeline-u))) rotate(0deg) scale(var(--timeline-hand-hover-scale,1.5));z-index:1200}.timeline-card[data-actor-visual=timeline],.timeline-card[data-actor-visual=insert-timeline]{cursor:pointer;transform-origin:50%}.timeline-card[data-actor-visual=timeline]{transition:left .28s cubic-bezier(.18,.88,.24,1),top .28s cubic-bezier(.18,.88,.24,1),transform .2s cubic-bezier(.18,.88,.24,1),box-shadow .16s,filter .16s}.timeline-card[data-card-render-state=played][data-card-hovered=true]{box-shadow:0 calc(8 * var(--timeline-u)) calc(20 * var(--timeline-u)) #00000024;cursor:pointer;transform:rotate(var(--actor-rotate,0deg)) scale(var(--timeline-card-played-hover-scale,1));z-index:1250}.timeline-stage[data-phase=playing] .timeline-card[data-card-render-state=played][data-card-hovered=true]{cursor:pointer}.timeline-card[data-actor-visual=dragging],.timeline-card[data-actor-visual=insert-dragging]{box-shadow:0 calc(10 * var(--timeline-u)) calc(24 * var(--timeline-u)) #0000002e;cursor:grabbing;pointer-events:none;transform:rotate(var(--actor-rotate,0deg)) scale(1.04);transition:none}.timeline-card[data-status=correct],.timeline-card[data-status=wrong]{box-shadow:0 calc(6 * var(--timeline-u)) calc(16 * var(--timeline-u)) #0000001f}.timeline-card[data-card-render-state=detail]{--timeline-card-detail-padding:calc(var(--timeline-card-detail-image-size) * .05);box-shadow:0 calc(16 * var(--timeline-u)) calc(40 * var(--timeline-u)) #00000038;cursor:default;transform:rotate(var(--actor-rotate,0deg)) scale(var(--timeline-card-detail-scale,1));transform-origin:50%;z-index:var(--actor-z,5000);transition:box-shadow .16s,filter .16s}.timeline-card__flip{border-radius:inherit;perspective:calc(900 * var(--timeline-u));position:absolute;inset:0}.timeline-card__flip-inner{border-radius:inherit;width:100%;height:100%;transform:rotateY(var(--timeline-card-flip-y,0deg));transform-style:preserve-3d;position:relative}.timeline-card.is-face-down .timeline-card__flip-inner{transform:rotateY(var(--timeline-card-flip-y,180deg))}.timeline-card__face{border-radius:inherit;backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.timeline-card__face:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 calc(1 * var(--timeline-u)) var(--timeline-card-inner-border);pointer-events:none;z-index:8;position:absolute;inset:0}.timeline-card__face--front{background-color:var(--timeline-paper);background-image:linear-gradient(#fcfaf838,#f5f4f10f),url(/assets/card_background-BrFCJlW1.jpg);background-position:50%;background-size:cover}.timeline-card__face--back{background-color:var(--timeline-paper);background-image:url(/assets/card_back-D8HF8MaF.jpg);background-position:50%;background-size:cover;transform:rotateY(180deg)}.timeline-card__image-area{width:var(--timeline-card-image-width);height:var(--timeline-card-image-height);position:absolute;top:0;left:0;overflow:hidden}.timeline-card__image{object-fit:cover;width:100%;height:100%}.timeline-card__year-band{left:0;top:calc(var(--timeline-card-played-image-size) - var(--timeline-card-year-band-height));width:var(--timeline-card-played-width);height:var(--timeline-card-year-band-height);opacity:var(--timeline-card-played-year-opacity);pointer-events:none;background:#ffffff80;justify-content:center;align-items:center;display:flex;position:absolute}.timeline-card__year-pill{width:50%;height:var(--timeline-card-year-pill-height);box-sizing:border-box;padding-block:calc(var(--timeline-card-year-pill-height) * .05);background:var(--timeline-jade);color:var(--timeline-paper);font-family:LXGWTimeline,Noto Serif SC,Noto Sans SC,serif;font-size:calc(var(--timeline-card-year-pill-height) * .9);letter-spacing:var(--timeline-card-letter-spacing);border-radius:999px;justify-content:center;align-items:center;font-weight:900;line-height:1;display:flex}.timeline-card__title-area{left:0;top:var(--timeline-card-played-image-size);width:var(--timeline-card-played-width);height:var(--timeline-card-played-title-height);box-sizing:border-box;padding:calc(var(--timeline-card-played-title-height) * .1) calc(var(--timeline-card-played-image-size) * .1);text-align:center;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute}.timeline-card__title{max-width:100%;max-height:100%;color:var(--timeline-ink);font-family:LXGWTimeline,Noto Serif SC,Noto Sans SC,serif;font-size:var(--timeline-card-title-font-size);letter-spacing:var(--timeline-card-letter-spacing);flex-direction:column;justify-content:center;align-items:center;font-weight:900;line-height:1.05;display:flex;overflow:hidden}.timeline-card__title span{white-space:nowrap;display:block}.timeline-card__detail-content{left:var(--timeline-card-detail-image-size);width:var(--timeline-card-detail-image-size);height:var(--timeline-card-detail-image-size);box-sizing:border-box;min-width:0;padding:var(--timeline-card-detail-padding);pointer-events:none;flex-direction:column;display:flex;position:absolute;top:0;overflow:hidden}.timeline-card__detail-title,.timeline-card__detail-time,.timeline-card__detail-description{color:var(--timeline-ink);letter-spacing:var(--timeline-card-letter-spacing);margin:0;font-family:LXGWTimeline,Noto Serif SC,Noto Sans SC,serif;overflow:hidden}.timeline-card__detail-title{font-size:var(--timeline-card-detail-title-font-size);text-overflow:ellipsis;white-space:nowrap;flex:none;font-weight:900;line-height:1.05}.timeline-card__detail-time{margin-top:calc(var(--timeline-card-detail-padding) * .42);color:var(--timeline-jade);font-size:calc(var(--timeline-card-detail-title-font-size) * .6667);text-overflow:ellipsis;white-space:nowrap;flex:none;font-weight:900;line-height:1.05}.timeline-card__detail-description{min-height:0;margin-top:var(--timeline-card-detail-padding);padding-right:calc(var(--timeline-card-detail-padding) * .35);color:#363532d1;font-size:calc(var(--timeline-card-detail-title-font-size) * .6667 * var(--timeline-card-detail-description-scale,1));flex:auto;font-weight:800;line-height:1.45}.timeline-card[data-actor-visual=insert-hand]{transition:none}.timeline-card[data-actor-visual=insert-hand][data-face-down=true]:not([data-hand-stack-bottom=true]){box-shadow:none}.timeline-card[data-actor-visual=insert-timeline]{transition:transform .2s cubic-bezier(.18,.88,.24,1),box-shadow .16s,filter .16s}.timeline-card[data-actor-visual=insert-timeline][data-card-render-state=detail]{transition:box-shadow .16s,filter .16s}.timeline-insert-zone,.timeline-insert-hand-zone{box-shadow:none;pointer-events:none;z-index:1;background:0 0;border:0}.timeline-insert-hand-zone[data-insert-layout=hand-right]{border-left:calc(1 * var(--timeline-u)) solid #d3cfc6db}.timeline-insert-current-score{box-sizing:border-box;color:#607a7d;font-family:LXGWTimeline,Noto Serif SC,Noto Sans SC,serif;font-size:min(calc(var(--timeline-game-header-title-size) * .5), calc(var(--timeline-width) * var(--timeline-u) * .15));font-variant-numeric:tabular-nums;letter-spacing:0;pointer-events:none;z-index:20;justify-content:flex-end;align-items:flex-start;line-height:1;transition:opacity .2s;display:flex}.timeline-insert-current-score[data-fading=true]{opacity:0}.timeline-insert-current-score__label,.timeline-insert-current-score__value{white-space:nowrap;flex:none}.timeline-insert-current-score__value{text-align:left;width:3ch}.timeline-insert-hand-hint{color:#4f4b46;font-family:LXGWTimeline,Noto Serif SC,Noto Sans SC,serif;font-size:min(14px, calc(var(--timeline-width) * var(--timeline-u) * .07));letter-spacing:0;pointer-events:none;text-align:center;z-index:20;margin:0;font-weight:800;line-height:1.25}.timeline-insert-axis{background:var(--timeline-line);box-shadow:0 0 calc(18 * var(--timeline-u)) #5c7a8229;pointer-events:none;z-index:8;border-radius:999px;overflow:visible}.timeline-insert-axis:after{content:"";right:calc(-10 * var(--timeline-u));border-top:calc(6 * var(--timeline-u)) solid transparent;border-bottom:calc(6 * var(--timeline-u)) solid transparent;border-left:calc(10 * var(--timeline-u)) solid var(--timeline-line);width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.timeline-insert-connector{box-shadow:0 0 calc(10 * var(--timeline-u)) #5c7a822e;pointer-events:none;z-index:12;background:linear-gradient(#5c7a8229,#5c7a82ad,#5c7a8229);border-radius:999px}.timeline-insert-node{box-sizing:border-box;border:var(--timeline-insert-circle-border-width,calc(2 * var(--timeline-u))) solid var(--timeline-mountain);background:var(--timeline-paper);box-shadow:0 0 0 var(--timeline-insert-circle-effect-width,calc(2 * var(--timeline-u))) #5c7a8229;pointer-events:none;z-index:16;border-radius:999px}.timeline-insert-point{left:calc(var(--timeline-insert-point-center-x) * var(--timeline-x));top:calc(var(--timeline-insert-point-center-y) * var(--timeline-y));aspect-ratio:1;box-sizing:border-box;border:var(--timeline-insert-circle-border-width,calc(2 * var(--timeline-u))) dashed var(--timeline-amber);background-color:var(--timeline-light-amber);cursor:pointer;z-index:28;border-radius:50%;transition:background-color .18s,border-color .18s,width .18s,height .18s;animation:2.8s ease-in-out infinite timeline-insert-point-fill;transform:translate(-50%,-50%)}.timeline-insert-point[aria-disabled=true]{cursor:not-allowed;opacity:.72}.timeline-insert-point[data-disabled-by-attempt=true]{border-color:var(--timeline-red);background:var(--timeline-red);box-shadow:0 0 0 var(--timeline-insert-circle-effect-width,calc(2 * var(--timeline-u))) #c048512e;color:#fff;opacity:1;animation:none}@keyframes timeline-insert-point-fill{0%,to{background-color:var(--timeline-light-amber)}50%{background-color:var(--timeline-page)}}.timeline-insert-point__wrong-icon{color:#fff;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.timeline-insert-review{box-sizing:border-box;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:24;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex;overflow:visible}.timeline-insert-review[data-entering=true]{animation:.2s both timeline-insert-review-fade-in}@keyframes timeline-insert-review-fade-in{0%{opacity:0}to{opacity:1}}.timeline-insert-review__title,.timeline-insert-review__total,.timeline-insert-review__breakdown{letter-spacing:0;margin:0}.timeline-insert-review__title{color:#746d65;font-family:LXGWTimeline,Noto Serif SC,Noto Sans SC,serif;font-size:min(18px, calc(var(--timeline-width) * var(--timeline-u) * .15));font-weight:800;line-height:1}.timeline-insert-review__total{width:100%;margin-top:calc(8 * var(--timeline-u));color:#607a7d;font-family:Inter,Noto Sans SC,system-ui,sans-serif;font-size:min(64px, calc(var(--timeline-width) * var(--timeline-u) * .5));font-variant-numeric:tabular-nums;text-align:center;font-weight:600;line-height:.9}.timeline-insert-review__breakdown{gap:calc(5 * var(--timeline-u));width:max-content;margin-top:min(calc(16 * var(--timeline-u)), calc(var(--timeline-width) * var(--timeline-u) * .08));padding-top:min(calc(16 * var(--timeline-u)), calc(var(--timeline-width) * var(--timeline-u) * .08));border-top:calc(1 * var(--timeline-u)) solid #ddd5c8;color:#625d57;font-family:LXGWTimeline,Noto Serif SC,Noto Sans SC,serif;font-size:min(calc(var(--timeline-game-header-title-size) * .5), calc(var(--timeline-width) * var(--timeline-u) * .165));font-weight:800;line-height:1.2;display:grid}.timeline-insert-review__breakdown-row{gap:calc(4 * var(--timeline-u));grid-template-columns:auto calc(2ch + 1em);display:grid}.timeline-insert-review__breakdown-row span{white-space:nowrap}.timeline-insert-review__breakdown-row span:last-child{color:#607a7d;text-align:right}.timeline-insert-play-again{border-color:var(--timeline-terracotta);background:var(--timeline-terracotta);color:var(--timeline-paper);box-shadow:0 calc(5 * var(--timeline-u)) calc(14 * var(--timeline-u)) #36353224;transition:opacity .2s,background-color .14s,border-color .14s}.timeline-insert-play-again[data-entering=true]{animation:.2s both timeline-insert-review-fade-in}.timeline-insert-play-again[data-dialog-open=true]{opacity:0;pointer-events:none}.timeline-insert-play-again:hover{border-color:var(--timeline-terracotta-hover);background:var(--timeline-terracotta-hover);filter:none}.timeline-insert-play-again:active{border-color:var(--timeline-terracotta-pressed);background:var(--timeline-terracotta-pressed)}.timeline-insert-play-again:focus-visible{outline-color:var(--timeline-terracotta-hover)}.timeline-drop-preview{left:calc(var(--timeline-left,0) * var(--timeline-x));top:calc(var(--timeline-top,0) * var(--timeline-y));width:calc(var(--timeline-width,0) * var(--timeline-u));height:calc(var(--timeline-height,0) * var(--timeline-u));border:calc(2 * var(--timeline-u)) dashed #5c7a82b8;border-radius:calc(8 * var(--timeline-u));box-shadow:inset 0 0 calc(26 * var(--timeline-u)) #5c7a8214;pointer-events:none;z-index:12;background:#5c7a8214;position:absolute}.timeline-empty{color:#36353275;pointer-events:none;text-align:center;font-weight:900}.timeline-empty--drop{font-size:calc(38 * var(--timeline-u));line-height:calc(var(--timeline-height,246) * var(--timeline-y))}.timeline-empty--hand{font-size:calc(18 * var(--timeline-u));line-height:calc(var(--timeline-height,34) * var(--timeline-u));z-index:11}.timeline-score{color:var(--timeline-mountain);font-size:calc(18 * var(--timeline-u));font-weight:900;line-height:calc(var(--timeline-height,52) * var(--timeline-u));text-align:right;pointer-events:none}.timeline-answer-token{padding:0 calc(8 * var(--timeline-u));color:var(--timeline-ink);font-size:calc(14 * var(--timeline-u));text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:11;background:#fcfaf8b8;line-height:1;overflow:hidden}.timeline-dialog-backdrop{z-index:50;background:#3635325c;padding:18px;position:fixed;inset:0}.timeline-dialog{width:min(720px,100vw - 36px);max-height:min(760px,100vh - 36px);color:var(--timeline-ink);background:#fcfaf8f5;border:1px solid #d3cfc6e0;border-radius:8px;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 26px 70px #36353242}.timeline-dialog__header{border-bottom:1px solid #d3cfc6c7;min-height:76px;padding:18px 70px 12px 20px;position:relative}.timeline-dialog__header p,.timeline-dialog__header h2{letter-spacing:0;margin:0}.timeline-dialog__header p{color:var(--timeline-mountain);text-transform:uppercase;font-size:12px;font-weight:800}.timeline-dialog__header h2{color:var(--timeline-ink);font-size:34px;line-height:1.08}.timeline-icon-button{background:var(--timeline-paper);width:38px;height:38px;color:var(--timeline-ink);padding:0;font-size:24px;line-height:34px;position:absolute;top:18px;right:20px}.timeline-dialog__content{max-height:calc(min(760px,100vh - 36px) - 107px);padding:16px 20px 20px;overflow:auto}.timeline-dialog__content section{margin-top:16px}.timeline-dialog__content h3,.timeline-dialog__content p,.timeline-facts{margin:0}.timeline-dialog__content h3{color:var(--timeline-mountain);margin-bottom:8px;font-size:15px}.timeline-dialog__content p,.timeline-facts{line-height:1.65}.timeline-dialog__description{font-family:LXGWTimeline,Noto Serif SC,Noto Sans SC,serif}.timeline-facts div{vertical-align:top;background:#f5f4f1b3;border:1px solid #d3cfc6b8;width:calc(50% - 10px);min-width:180px;margin:0 10px 10px 0;padding:10px;display:inline-block}.timeline-facts dt{color:var(--timeline-mountain);font-size:12px;font-weight:800}.timeline-facts dd{margin:4px 0 0;font-weight:800}@media (prefers-reduced-motion:reduce){.timeline-level-dialog-layer,.timeline-level-dialog__option,.timeline-level-dialog__progress span,.timeline-insert-current-score,.timeline-insert-review[data-entering=true],.timeline-insert-play-again[data-entering=true]{transition-duration:.01ms;animation-duration:.01ms}.timeline-card,.timeline-card[data-actor-visual=timeline],.timeline-card[data-actor-visual=insert-timeline],.timeline-card[data-actor-visual=insert-timeline][data-card-render-state=detail],.timeline-card[data-card-render-state=detail]{transition:box-shadow .01ms linear,filter .01ms linear}.timeline-card[data-actor-visual=hand][data-hand-hovered=true],.timeline-card[data-actor-visual=hand]:focus-visible{transform:translateY(calc(-24 * var(--timeline-u))) rotate(0deg) scale(var(--timeline-hand-hover-scale,1.5))}}:root{color:#1b1d23;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f1ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}.app-shell{place-items:center;min-height:100vh;padding:32px;display:grid}.route-panel{background:#fffdf8;border:1px solid #d7d0c3;border-radius:8px;width:min(720px,100%);padding:28px;box-shadow:0 16px 40px #2620171a}.eyebrow{color:#746a5c;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}h1{margin:0;font-size:2rem;line-height:1.15}p{color:#4c463e;line-height:1.6}.game-list{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.game-link{border:1px solid #d7d0c3;border-radius:8px;gap:4px;padding:14px 16px;text-decoration:none;display:grid}.game-link:hover{border-color:#9c7a43}.game-link span{font-weight:700}.game-link small{color:#746a5c}.empty-state{background:#faf7f1;border:1px dashed #c8bca9;border-radius:8px;margin:24px 0 0;padding:14px 16px}.text-link{font-weight:700}@media (width<=640px){.app-shell{place-items:stretch stretch;padding:16px}.route-panel{padding:20px}h1{font-size:1.65rem}}
