/* Season I: a brass-bound investigation deck. Full original artwork stays 3:2. */
#app > .deck-browser{--deck-gold:#d3b77e;--deck-ink:#e4d9c1;--deck-muted:#b4bcae;--deck-width:350px;max-width:1320px;width:100%;margin:0 auto;padding:32px 32px 28px;box-sizing:border-box;color:var(--deck-ink)}
.deck-season-progress{flex:0 0 150px;display:grid;grid-template-columns:1fr auto;gap:10px 12px;align-items:baseline;padding-left:26px;border-left:1px solid #b7a07840}
.deck-season-progress>span{font-size:.75rem;color:var(--deck-muted)}
.deck-season-progress strong{font:400 1.65rem/1 Georgia,serif;color:var(--deck-gold)}
.deck-season-progress small{font-size:.875rem;color:var(--deck-muted)}
.deck-season-progress progress{grid-column:1/-1;width:100%;height:3px;appearance:none;border:0;background:#81908432;color:var(--deck-gold);accent-color:var(--deck-gold)}
.deck-season-progress progress::-webkit-progress-bar{background:#81908432}
.deck-season-progress progress::-webkit-progress-value{background:var(--deck-gold)}
.deck-season-progress progress::-moz-progress-bar{background:var(--deck-gold)}
#app .deck-browser .experiment-difficulty-nav{display:flex;justify-content:center;gap:6px;border-top:1px solid #b299603b;border-bottom:1px solid #b299603b;margin:0;padding:7px 0;flex-wrap:nowrap}
#app .deck-browser .experiment-difficulty-nav button{flex:1;max-width:180px;min-width:0;min-height:44px;border:1px solid transparent;background:transparent;border-radius:0;color:var(--deck-muted);padding:8px 12px;gap:12px}
#app .deck-browser .experiment-difficulty-nav button[aria-pressed=true]{background:linear-gradient(110deg,#c9a96b20,#c9a96b08);border-color:#c9a96b60;color:#edd8ae}
#app .deck-browser .experiment-level-count{background:transparent;color:#adb9a9;font:400 .75rem/1 Georgia,serif}
#app .deck-browser .experiment-level-stars{font-size:.9375rem;letter-spacing:.13em}
.deck-filters{border-bottom:1px solid #b299603b;margin-bottom:6px}
.deck-filters summary{min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;color:var(--deck-muted);font-size:.8125rem;list-style:none;padding:0 4px}
.deck-filters summary::-webkit-details-marker{display:none}
.deck-filters summary>span:last-child{color:var(--deck-gold);font-size:1.2rem;transition:transform .2s}
.deck-filters[open] summary>span:last-child{transform:rotate(45deg)}
#app .deck-browser .catalog-toolbar{padding-top:4px;margin-bottom:0;gap:16px}
#app .deck-browser .catalog-result-line{min-height:52px;padding:8px 0}
#app .deck-browser .catalog-filters:not(.experiment-difficulty-nav) button{border-radius:2px;background:#0c1b1660;min-height:44px}
#app .deck-browser .catalog-search input{background:#091710b0}
#app .deck-browser #directory-experiments-results{scroll-margin-top:18px;outline-offset:5px}
#app .deck-browser .case-deck{position:relative;isolation:isolate;margin:0 -32px}
.case-deck::before{content:"";position:absolute;z-index:-1;inset:5% 8% 12%;border-radius:50%;background:radial-gradient(ellipse,#cbb26917,transparent 66%);pointer-events:none}
.case-deck::after{content:"";position:absolute;z-index:-1;left:20%;right:20%;bottom:76px;height:1px;background:linear-gradient(90deg,transparent,#b29b694f,transparent);pointer-events:none}
#app .deck-browser .deck-instruction{display:flex;justify-content:center;align-items:center;gap:14px;margin:7px 20px 0;color:#abb6a6;font:400 .75rem/1.6 "Songti SC",Georgia,serif;letter-spacing:.08em;text-align:center}
.deck-instruction>span[aria-hidden]{color:#b99b69}
.deck-hint-touch{display:none}
#app .deck-browser .deck-track{position:relative;display:flex;align-items:stretch;gap:22px;width:100%;box-sizing:border-box;padding:26px max(24px,calc((100% - var(--deck-width))/2)) 46px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;outline-offset:-7px;touch-action:pan-x pan-y pinch-zoom}
.deck-track::-webkit-scrollbar{display:none}
#app .deck-browser .deck-track.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
#app .deck-browser .deck-track .murdle-feature{position:relative;flex:0 0 var(--deck-width);width:var(--deck-width);min-width:0;max-width:none;margin:0;padding:9px;border:1px solid #987b4f;border-radius:11px;background:linear-gradient(130deg,#25342b,#101e18 65%);box-shadow:0 14px 28px #0008,inset 0 0 0 3px #101a13,inset 0 0 0 4px #9e86534d;scroll-snap-align:center;scroll-snap-stop:always;transform:translateY(var(--deck-lift,0px)) rotate(var(--deck-tilt,0deg)) scale(var(--deck-scale,1));transform-origin:50% 80%;opacity:var(--deck-dim,1);transition:border-color .25s,box-shadow .25s;overflow:visible;box-sizing:border-box}
#app .deck-browser .deck-track .murdle-feature.is-current{border-color:#d8bd80;box-shadow:0 18px 35px #000a,0 0 28px #c9a45813,inset 0 0 0 3px #142319,inset 0 0 0 4px #cbb47891}
#app .deck-browser .deck-track .murdle-feature::before,#app .deck-browser .deck-track .murdle-feature::after{content:"◆";position:absolute;z-index:2;left:50%;transform:translateX(-50%);color:#c5a870;text-shadow:0 0 8px #b0904444;background:#19261d;padding:0 12px;font-size:10px;line-height:12px;pointer-events:none}
#app .deck-browser .deck-track .murdle-feature::before{top:-6px}
#app .deck-browser .deck-track .murdle-feature::after{bottom:-6px}
#app .deck-browser .murdle-feature-cover{display:grid;grid-template-rows:auto auto 1fr auto;height:100%;box-sizing:border-box;border:1px solid #b1996542;border-radius:4px;overflow:hidden;color:var(--deck-ink);background:linear-gradient(180deg,#213127cc,#14231c);text-decoration:none;-webkit-user-drag:none}
#app .deck-browser .murdle-feature-cover:focus-visible{outline:2px solid #ecd294;outline-offset:4px}
#app .deck-browser .murdle-feature-top{padding:13px 14px;min-height:58px;box-sizing:border-box;gap:8px;border-bottom:1px solid #b39a704f;background:transparent;align-items:center;flex-wrap:wrap}
#app .deck-browser .murdle-feature-edition{gap:10px;font:400 1.1rem/1 Georgia,serif;color:var(--deck-gold);letter-spacing:.08em}
#app .deck-browser .experiment-stars{font-size:.75rem;letter-spacing:.09em}
#app .deck-browser .catalog-status{min-height:28px;padding:3px 6px;font-size:.6875rem;line-height:1.3;gap:4px;white-space:normal;max-width:140px}
#app .deck-browser .experiment-state-icon{width:16px;height:16px;flex:0 0 16px}
#app .deck-browser .story-cover-frame{aspect-ratio:3/2;width:100%;margin:0;border-bottom:1px solid #b39a7055;box-shadow:none;border-radius:0;background:#101c15}
#app .deck-browser .murdle-feature-scene{width:100%;height:100%;object-fit:contain;object-position:center;filter:none;transform:none;opacity:1}
#app .deck-browser .murdle-feature-story{position:relative;display:block;padding:24px 20px 16px;text-align:center;min-height:140px;box-sizing:border-box;background:radial-gradient(ellipse at 50% 0,#bb995017,transparent 80%)}
#app .deck-browser .murdle-feature-story::before{content:"";position:absolute;top:10px;width:32px;left:calc(50% - 16px);height:1px;background:linear-gradient(90deg,transparent,#c7ad73,transparent)}
#app .deck-browser .experiment-title-line{display:block;margin:0}
#app .deck-browser .murdle-feature-story h2{margin:0 0 13px;color:#e4d4b1;font:500 1.65rem/1.45 var(--font-heading);letter-spacing:.16em;text-shadow:0 2px 6px #0005}
#app .deck-browser .murdle-feature-story p{display:block;-webkit-line-clamp:unset;overflow:visible;margin:0;color:#b8c0b0;font-size:.875rem;line-height:1.75;letter-spacing:.02em;white-space:normal}
#app .deck-browser .murdle-feature-action{min-height:54px;box-sizing:border-box;margin:0 18px;padding:13px 4px;gap:8px;border-top:1px solid #b69f6e50;color:#dbc28f;font:400 .875rem/1.5 "Songti SC",Georgia,serif;letter-spacing:.1em;background:transparent}
#app .deck-browser .murdle-feature-action>span:last-child{font-size:1.25rem;transition:transform .2s}
#app .deck-browser .is-current .murdle-feature-cover:hover .murdle-feature-action>span:last-child{transform:translateX(4px)}
#app .deck-browser [data-case-state=solved] .murdle-feature-cover{background:linear-gradient(160deg,#29382a,#18291e)}
/* Earned completion sits on the image/title seam, like a filed-case seal. */
#app .deck-browser .experiment-solved-seal {
 position:absolute;z-index:2;left:50%;bottom:calc(100% - 5px);
 display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;box-sizing:border-box;
 width:8rem;max-width:70%;min-height:4.125rem;margin:0;padding:1rem .625rem .4rem;
 border:1px solid #c7a868;border-radius:5rem 5rem 2px 2px;outline:0;
 background:radial-gradient(ellipse at 50% 100%,#59492338,transparent 75%),#18271e;
 color:#ddbf7d;box-shadow:0 3px 7px #0005,inset 0 1px #ebcf922e;
 font:600 1rem/1.3 var(--font-heading);
 letter-spacing:.12em;white-space:nowrap;text-align:center;text-shadow:0 1px #0009;
 transform:translateX(-50%) rotate(-7deg);transform-origin:50% 100%;pointer-events:none;
}
#app .deck-browser .experiment-solved-seal::before {
 content:"";position:absolute;inset:3px;border:1px solid #b89a5e91;
 border-radius:inherit;pointer-events:none;
}
#app .deck-browser .experiment-solved-seal::after {
 content:"";position:absolute;inset:7px 8px 5px;border:1px dashed #a98b4b66;
 border-bottom:0;border-radius:inherit;pointer-events:none;
}
#app .deck-browser .experiment-solved-seal>span{position:relative;z-index:1}
#app .deck-browser [data-case-state=solved] .murdle-feature-story::before{content:none}
#app .deck-browser [data-case-state=solved] .murdle-feature-story{padding-top:18px}
#app .deck-browser .experiment-completion-rating{display:block;margin:0;color:inherit;font:400 .875rem/1 Georgia,"Times New Roman",serif;letter-spacing:.18em;text-indent:.18em;text-shadow:inherit}
html[lang=en] #app .deck-browser .experiment-solved-seal{font-family:Georgia,"Times New Roman",serif;letter-spacing:.09em}
html[lang=ja] #app .deck-browser .experiment-solved-seal{letter-spacing:.05em}
@media(forced-colors:active){#app .deck-browser .experiment-solved-seal{border-color:CanvasText;background:Canvas;color:CanvasText;box-shadow:none;text-shadow:none}}
.deck-navigation{display:flex;align-items:center;justify-content:center;gap:30px;margin:-4px 20px 10px}
#app .deck-browser .deck-arrow{display:grid;place-items:center;width:48px;min-height:48px;border:1px solid #b89a6069;border-radius:50%;background:radial-gradient(ellipse at 50% 0,#b89a6018,#0e1a1580);color:#dbc18b;font:400 1.3rem/1 Georgia,serif;cursor:pointer;transition:background .2s,border-color .2s}
#app .deck-browser .deck-arrow:hover:not(:disabled){background:#bda26928;border-color:#d7bd81}
#app .deck-browser .deck-arrow:disabled{opacity:.32;cursor:default}
.deck-position{text-align:center;min-width:94px}
.deck-position-label{display:block;margin-bottom:5px;font-size:.625rem;letter-spacing:.13em;color:#b5bdac}
.deck-position strong{font:400 1.25rem/1.2 Georgia,serif;letter-spacing:.1em;color:#c4b58f}
.deck-position strong>span:first-child{color:#f1d6a1;font-size:1.5rem}
.deck-position-divider{color:#8b967f;font-size:1rem;padding:0 5px}
#app .deck-browser .experiment-pagination{padding:20px 0 10px;gap:10px}
#app .deck-browser .experiment-pagination button{min-height:44px;background:#10201996;border-color:#a78f583b;border-radius:2px;color:#c4baa2}
#app .deck-browser .experiment-pagination button[aria-current=page]{background:#b99f6626;border-color:#c5ac75;color:#f2d9a7}
#app .deck-browser .experiment-pagination-top{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:8px 0 4px;gap:8px}
#app .deck-browser .experiment-pagination-top .experiment-page-controls{display:contents}
#app .deck-browser .experiment-pagination-top .experiment-page-summary{display:none}
#app .deck-browser .experiment-pagination-top .experiment-page-controls>button{min-width:44px;width:44px;padding:0}
#app .deck-browser .experiment-pagination-top .experiment-page-controls>button>span:not(.experiment-page-arrow){position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
#app .deck-browser .experiment-pagination-top .experiment-page-controls>button:last-child{order:2}
#app .deck-browser .experiment-pagination-top .experiment-page-numbers{gap:6px}
#app .deck-browser .experiment-pagination-top .experiment-page-edge{display:none}
#app .deck-browser .experiment-explore-more{margin-top:24px;border-color:#b299603b;font-size:.8125rem}
#app .deck-browser :is(button,summary,.deck-track):focus-visible{outline:2px solid #efcf87;outline-offset:3px}
@media(min-width:1500px){#app > .deck-browser{--deck-width:380px}}
@media(max-width:740px){
 #app > .deck-browser{--deck-width:min(78vw,330px);padding:24px 16px 24px}
 .deck-season-progress{flex:0 0 60px;display:flex;flex-direction:column;justify-content:center;gap:9px;padding-left:12px;align-items:stretch}
 .deck-season-progress>span{font-size:.625rem}
 .deck-season-progress strong{font-size:1.2rem;white-space:nowrap}.deck-season-progress small{font-size:.6875rem}
 #app .deck-browser .experiment-difficulty-nav{gap:3px;padding:5px 0}
 #app .deck-browser .experiment-difficulty-nav button{padding:8px 4px;gap:4px}
 #app .deck-browser .experiment-level-count{font-size:.6875rem}
 #app .deck-browser .experiment-level-stars{display:none}#app .deck-browser .experiment-level-compact{display:inline}
 #app .deck-browser .catalog-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:10px}
 #app .deck-browser .catalog-search{width:100%;flex-basis:auto;max-width:none}
 #app .deck-browser .experiment-progress-filters{display:flex;gap:4px;flex-wrap:wrap}
 #app .deck-browser .experiment-progress-filters button{flex:1;padding:8px 5px;font-size:.75rem}
 #app .deck-browser .experiment-pagination-top .experiment-page-numbers{gap:4px}
 #app .deck-browser .experiment-pagination-top .experiment-page-window{gap:4px}
 #app .deck-browser .experiment-pagination-top .experiment-page-window button{width:40px;min-width:40px}
 #app .deck-browser .case-deck{margin:0 -16px}
 #app .deck-browser .deck-track{gap:16px;padding-top:24px;padding-bottom:38px}
 #app .deck-browser .murdle-feature-top{padding:10px;min-height:54px}
 #app .deck-browser .murdle-feature-edition{font-size:1rem;gap:7px}
 #app .deck-browser .catalog-status{font-size:.625rem;max-width:113px}
 #app .deck-browser .experiment-stars{font-size:.6875rem}
 #app .deck-browser .murdle-feature-story{padding:22px 16px 18px;min-height:145px}
 #app .deck-browser .murdle-feature-story h2{font-size:1.45rem;letter-spacing:.1em;margin-bottom:12px}
 #app .deck-browser .murdle-feature-story p{font-size:.8125rem;line-height:1.8}
 #app .deck-browser .murdle-feature-action{margin-inline:12px;min-height:52px;font-size:.8125rem;letter-spacing:.03em}
 #app .deck-browser .deck-instruction{font-size:.6875rem;gap:8px}
 .deck-hint-desktop{display:none}.deck-hint-touch{display:inline}
 .deck-navigation{gap:24px;margin-top:0}
}
@media(max-width:640px){
}
@media(prefers-reduced-motion:reduce){#app .deck-browser *,#app .deck-browser *::before,#app .deck-browser *::after{transition:none!important;animation:none!important}#app .deck-browser .deck-track .murdle-feature{transform:none!important}}
body[data-motion=reduce] .deck-browser .murdle-feature{transform:none!important}
@media(forced-colors:active){#app .deck-browser .murdle-feature.is-current{outline:3px solid Highlight}#app .deck-browser .deck-track .murdle-feature{opacity:1}.deck-season-progress progress{forced-color-adjust:auto}}

@media(max-width:640px){
}
html[lang=en] #app .deck-browser .murdle-feature-story h2{letter-spacing:.02em;font-family:Georgia,"Times New Roman",serif;overflow-wrap:normal}
html[lang=en] #app .deck-browser .murdle-feature-story p{overflow-wrap:normal}
html[lang=ja] #app .deck-browser .murdle-feature-story h2{letter-spacing:.04em}
@media(max-width:740px){#app .deck-browser .experiment-pagination-top{gap:6px}#app .deck-browser .experiment-pagination-top .experiment-page-window button{width:44px;min-width:44px}}

/* Preserve the tilted deck geometry; finish its readable, tactile surfaces. */
#app .deck-browser .murdle-feature-top{background:linear-gradient(105deg,#cfb27d08,transparent);color:#cdb887}
#app .deck-browser .murdle-feature-story{padding-bottom:22px}
#app .deck-browser .murdle-feature-story h2{line-height:1.55;letter-spacing:.09em}
#app .deck-browser .murdle-feature-story p{color:#c1c7b8;font-size:16px;line-height:1.9}
#app .deck-browser .murdle-feature-action{font-family:var(--font-heading);font-size:15px;min-height:58px}
@media(max-width:600px){#app .deck-browser .murdle-feature-story{padding-inline:18px}#app .deck-browser .murdle-feature-action{font-size:14px}}
