/* v34: obsolete moderation and detective selectors removed; live component styles preserved. */
/* ---- styles.css ---- */
:root{color-scheme:dark;--ink:#0a1115;--paper:#e9c7a1;--text:#f6ede3;--muted:#c6c1bb;--blue:#afc8dd;--container:1010px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#071015;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #f4d6a8;outline-offset:5px}.scene{position:fixed;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(5,10,14,.04),rgba(4,9,12,.27) 20%,rgba(4,10,13,.49) 43%,rgba(4,10,13,.49) 57%,rgba(4,9,12,.22) 80%,rgba(6,9,11,.01)),linear-gradient(180deg,#080e12b8 0%,#070d1080 35%,#080d1180 63%,#070b0ddd),url('assets/ambient-room.webp');background-size:cover;background-position:center;pointer-events:none}.scene:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 57% at 50% 54%,#090e1207 4%,#05090ed9 100%);pointer-events:none}.grain{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:.06;background-image:url('assets/noise.png');background-repeat:repeat;mix-blend-mode:screen}
.page-shell{width:100%;min-height:100vh;padding:23px 22px 15px;display:flex;flex-direction:column;position:relative}.site-header{width:100%;max-width:var(--container);height:59px;flex:none;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 27px;border:1px solid #d7c6af2e;border-radius:8px;background:#061017eb;box-shadow:0 8px 35px #0008;backdrop-filter:blur(15px)}.brand{display:inline-flex;align-items:center;gap:14px;white-space:nowrap;flex:none;color:#f2e5d2}.brand svg{color:#f2d6b5}.brand span{letter-spacing:.29em;font-size:12px;font-weight:700}.desktop-nav{display:flex;align-items:center;gap:31px;height:100%;margin-left:22px}.nav-link{position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding:0;color:#c5c6c4;font-size:12px;font-weight:500;background:none;border:0;white-space:nowrap}.nav-link.active,.nav-link:hover{color:#fff}.nav-link.active:after{content:"";position:absolute;bottom:15px;left:0;right:0;height:2px;background:var(--paper)}.account-controls{display:flex;align-items:center;gap:10px}.twitch-btn{display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,#312344,#251b37);border:1px solid #604a7c;color:#f2e9fc;border-radius:5px;padding:10px 14px;white-space:nowrap;font-size:12px;transition:background .2s,transform .2s}.twitch-btn svg{color:#ceb2f0}.twitch-btn:hover{background:#40305a;transform:translateY(-1px)}.mobile-menu-toggle{display:none;background:none;color:#e9d4b8;border:1px solid #ffffff29;padding:8px;border-radius:6px}.mobile-nav[hidden]{display:none!important}.mobile-nav{max-width:var(--container);width:100%;margin:0 auto;background:#111a1f;padding:7px;border:1px solid #ffffff24;border-top:0;border-radius:0 0 8px 8px;display:flex;flex-direction:column;gap:3px;z-index:9}.mobile-nav a,.mobile-nav button{display:block;text-align:left;border:0;background:transparent;color:#d9dad8;padding:12px 14px;border-radius:4px;font-size:14px}
main{width:100%;max-width:var(--container);flex:1;margin:0 auto}.intro{text-align:center;padding:50px 0 40px}.eyebrow{margin:0 0 12px;font-size:10px;font-weight:600;letter-spacing:.33em;color:#b9b3ab}.eyebrow span{display:inline-block;color:#d1b491;margin:0 13px}.intro h1{font:normal clamp(56px,6vw,78px)/1.06 var(--serif);letter-spacing:-.05em;color:#f5f2ed;margin:0;text-shadow:0 8px 35px #0007}.intro h1 em{font-style:normal;color:#e7be91}.intro-caption{margin:10px 0 0;color:#e0ddda;font-size:17px}.intro-note{margin:19px 0 0;color:#aeb1b1;font:italic 19px/1.25 var(--serif);letter-spacing:.035em;position:relative;display:inline-block}.intro-note:after{content:"";position:absolute;width:95%;bottom:-9px;left:3%;height:1px;background:#d6c7b3a6;transform:rotate(-2deg)}
.modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:33px;max-width:955px;margin:0 auto 29px;align-items:stretch}.mode-card{--accent:#f0d3ae;position:relative;display:block;isolation:isolate;text-align:left;min-width:0;width:100%;border:0;padding:0;background:transparent;color:var(--text);border-radius:3px;filter:drop-shadow(0 20px 18px #0009);transition:transform .23s ease,filter .23s ease;cursor:pointer}.mode-card--detective{--accent:#b5cce0}.mode-card:hover{transform:translateY(-6px);filter:drop-shadow(0 25px 21px #000c)}.mode-card:after{content:"";position:absolute;inset:0;z-index:-1;border:1px solid #f1d0a950;border-radius:4px;box-shadow:inset 0 0 0 1px #0008,0 0 2px #fff3;pointer-events:none}.mode-card--detective:after{border-color:#b9cad94f}
.paper-stack{position:absolute;display:block;inset:8px 8px 0 8px;z-index:-2;border:1px solid #bda99366;background:linear-gradient(30deg,#241c19,#10191c);transform:rotate(2deg) translate(4px,-2px);pointer-events:none;box-shadow:0 2px 6px #000c}.paper-stack--two{inset:7px 13px 5px 14px;transform:rotate(-2.2deg) translate(-7px,-3px);background:#292522;z-index:-3}.mode-card--detective .paper-stack{background:#25303a;border-color:#9dabbc50}.mode-card--detective .paper-stack--two{background:#131e2c}.paper-tape{position:absolute;z-index:8;top:-10px;left:48%;display:block;width:79px;height:22px;background:linear-gradient(90deg,#f0dfc69e,#d0bd9db4,#e6d7c0ad);clip-path:polygon(1% 6%,100% 0,98% 91%,1% 100%);transform:rotate(-5deg);mix-blend-mode:screen;pointer-events:none;opacity:.65}.paper-tape--blue{left:43%;transform:rotate(3deg);background:linear-gradient(90deg,#9ca2a6b5,#c1c8c0aa)}
.mode-card .photo-frame,.board-mat{position:relative;display:block;width:calc(100% - 26px);height:270px;margin:15px 13px 0;border:8px solid #dfd0b8;background:#1b2125;box-shadow:0 2px 9px #000c,0 0 0 1px #504838;transform:rotate(-1.3deg);overflow:visible}.photo-frame>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.clip-photo:before{content:"";position:absolute;inset:-9px;z-index:2;border:1px solid #f1e0c566;pointer-events:none}.clip-vignette{position:absolute;inset:0;background:linear-gradient(0deg,#000c 0%,transparent 28%,transparent 74%,#0006),linear-gradient(90deg,#0002,transparent 75%)}.clip-status{position:absolute;top:12px;left:14px;color:#e8ddd2;font-weight:600;letter-spacing:.13em;font-size:9px;text-shadow:0 1px 6px #000}.clip-status i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#ffad84;margin-right:6px}.play-button{position:absolute;top:50%;left:50%;width:66px;height:66px;border:2px solid #fff2cf;border-radius:50%;background:#091116bb;display:grid;place-items:center;color:#fff5df;transform:translate(-50%,-50%);box-shadow:0 4px 18px #000a;transition:transform .2s}.mode-card:hover .play-button{transform:translate(-50%,-50%) scale(1.08)}.play-button svg{margin-left:4px}.clip-controls{position:absolute;left:10px;right:10px;bottom:8px;display:flex;align-items:center;gap:9px;color:#fff;font-size:10px;text-shadow:0 1px 3px black}.clip-mini-play{font-size:11px}.clip-track{height:3px;background:#fff8;flex:1;border-radius:5px;overflow:hidden}.clip-track span{display:block;width:34%;height:100%;background:#f1d1b1}.clip-time{font-size:9px;white-space:nowrap}.clip-volume{font-size:10px}.paperclip{position:absolute;display:block;top:-4px;right:76px;width:20px;height:61px;border:3px solid #85755d;border-radius:10px;transform:rotate(-2deg);z-index:10;pointer-events:none;box-shadow:2px 1px 2px #0008}.paperclip:after{content:"";position:absolute;left:4px;top:7px;bottom:6px;width:6px;border:2px solid #988468;border-radius:7px}.question-note{position:absolute;z-index:9;left:-14px;top:-19px;display:block;color:#352419;background:#e3c59b;padding:11px 13px 9px 16px;min-width:103px;font:italic 18px/1.1 var(--serif);transform:rotate(-8deg);box-shadow:0 6px 12px #0007;clip-path:polygon(2% 2%,98% 0%,100% 98%,3% 100%);pointer-events:none}.question-mark{font-size:25px}.small-evidence{position:absolute;display:block;right:-7px;top:244px;width:101px;height:95px;padding:5px 5px 13px;background:#d2bb99;border:1px solid #564c3d;transform:rotate(8deg);z-index:6;box-shadow:0 5px 9px #0008;pointer-events:none}.small-evidence img{width:100%;height:100%;object-fit:cover;filter:sepia(.5) grayscale(.35) brightness(.8)}.handnote{position:absolute;z-index:7;right:1px;top:284px;display:block;width:85px;color:#382d22;background:#dac4a5;padding:11px 6px;font:italic 15px/1.1 var(--serif);transform:rotate(7deg);clip-path:polygon(1% 4%,100% 0%,96% 97%,0% 100%);pointer-events:none;text-align:center}.handnote span{display:block;font-size:23px;line-height:17px}
.mode-copy{position:relative;z-index:3;display:flex;flex-direction:column;padding:20px 30px 16px;min-height:254px;background:radial-gradient(ellipse 80% 60% at 20% 0%,#523b2833,transparent),linear-gradient(180deg,#231b17ee,#181716f9 56%,#151719);border:1px solid #ab87643d;border-top:0;margin:0 1px;border-radius:0 0 3px 3px}.mode-card--detective .mode-copy{background:radial-gradient(ellipse 80% 70% at 20% 0%,#31435759,transparent),linear-gradient(180deg,#1c2934f8,#101921f9 60%,#101720);border-color:#8294a644}.mode-index{font-size:10px;line-height:1.3;letter-spacing:.17em;font-weight:650;color:#d2b28c;margin-bottom:3px}.mode-card--detective .mode-index{color:#9fb6c8}.index-separator{display:inline-block;height:1px;width:17px;background:currentColor;vertical-align:middle;margin:0 5px;opacity:.55}.mode-title{display:block;color:#f1e7d8;font:normal 43px/1.06 var(--serif);letter-spacing:-.023em;margin:7px 0 7px}.mode-card--detective .mode-title{color:#e6edf2}.mode-description{display:block;font-size:14px;line-height:1.43;color:#d3cfcc;min-height:42px;margin:0 0 19px}.mode-card--detective .mode-description{color:#c9d1d8}.mode-cta{display:flex;justify-content:center;align-items:center;gap:14px;width:100%;min-height:51px;font-size:16px;font-weight:700;color:#1b1d1e;border-radius:4px;margin-top:auto;box-shadow:inset 0 1px #fff5,0 3px 12px #0004;transition:filter .2s}.mode-card:hover .mode-cta{filter:brightness(1.12)}.mode-cta--warm{background:linear-gradient(90deg,#ead0ad,#f2d6b5)}.mode-cta--blue{background:linear-gradient(90deg,#a5bdcf,#b9cddd)}.mode-details{display:flex;justify-content:space-between;align-items:center;gap:5px;width:100%;min-height:37px;margin-top:10px;color:#c9ad8a;font-size:10px}.mode-card--detective .mode-details{color:#a6bfd2}.mode-details>span:not(.detail-divider){display:flex;align-items:center;gap:6px;white-space:nowrap}.mode-details svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.detail-divider{width:1px;height:13px;background:#6d5e4e7a}.mode-card--detective .detail-divider{background:#8397a86b}
.board-mat{background:linear-gradient(135deg,#0c151b,#263039);border:8px solid #353b42;transform:rotate(1.1deg);box-shadow:0 2px 9px #000c,0 0 0 1px #64717c;overflow:visible}.board-mat:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,#fff1,transparent 39%),linear-gradient(0deg,#0007,transparent 50%)}.board-photo{position:absolute;display:block;background:#c4bba8;padding:4px 4px 12px;box-shadow:0 4px 10px #0008;border:1px solid #5f564e}.board-photo img{width:100%;height:100%;object-fit:cover;filter:sepia(.4) grayscale(.7) brightness(.67)}.board-photo--one{top:-14px;right:-7px;width:88px;height:109px;transform:rotate(7deg);z-index:4}.board-photo--two{bottom:6px;right:13px;width:70px;height:71px;transform:rotate(-12deg);z-index:2}.board-pin{position:absolute;display:block;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ed998b,#8b2721 55%,#361015);border:1px solid #2e1410;z-index:7;box-shadow:0 2px 4px #000d}.pin-1{right:71px;top:-16px}.pin-2{right:32px;bottom:84px}.board-thread{position:absolute;height:2px;background:#7a241e;transform-origin:left center;box-shadow:0 1px 3px #0009;z-index:4;pointer-events:none}.thread-1{width:119px;right:-23px;top:1px;transform:rotate(39deg)}.thread-2{width:72px;right:5px;bottom:86px;transform:rotate(-38deg)}.case-note{position:absolute;z-index:6;right:-15px;top:88px;background:#dac09b;color:#2c251e;padding:9px 8px;text-align:center;width:85px;line-height:1.05;font:italic 15px var(--serif);transform:rotate(7deg);box-shadow:0 3px 8px #0007;pointer-events:none}.case-note span{font-size:25px}.chat-panel{position:absolute;z-index:3;display:flex;flex-direction:column;top:17px;left:12px;right:73px;bottom:15px;background:linear-gradient(165deg,#101a23ee,#090f17f9);border:1px solid #546270b8;border-radius:3px;padding:9px 10px;box-shadow:0 8px 20px #000b;transform:rotate(-1.3deg);overflow:hidden}.chat-header{display:flex;align-items:center;gap:7px;height:25px;border-bottom:1px solid #ffffff24;margin-bottom:5px;color:#d0d4dc;letter-spacing:.1em;font-size:8px;font-weight:700}.chat-live{height:6px;width:6px;border-radius:50%;background:#8dbcbe;box-shadow:0 0 5px #8dbcbeb8}.chat-actions{margin-left:auto;color:#74828f}.chat-line{display:grid;grid-template-columns:29px 65px minmax(0,1fr);align-items:center;gap:5px;min-height:26px;font-size:10px;line-height:1.2;color:#c4ccd5;white-space:nowrap;overflow:hidden}.chat-line span:last-child{text-overflow:ellipsis;overflow:hidden}.chat-timestamp{color:#607381;font-size:9px}.chat-line b{font-size:10px;text-overflow:ellipsis;overflow:hidden}.chat-line--marked{background:#597d8b25;border-left:2px solid #c8b08b;padding-left:4px;margin-left:-4px}.nick-1{color:#de9d75}.nick-2{color:#aca2dd}.nick-3{color:#dda184}.nick-4{color:#9cb8db}.nick-5{color:#a4c69b}.nick-6{color:#ca96ce}.nick-7{color:#be94d4}.magnifier{position:absolute;z-index:7;width:82px;height:82px;border-radius:50%;border:7px solid #6d5f49;background:radial-gradient(circle at 34% 30%,#b1cfcb36,#13232dba);right:-24px;top:125px;box-shadow:inset 0 0 0 2px #e2ca9969,0 4px 13px #000c;transform:rotate(-27deg);display:grid;place-items:center}.magnifier:after{content:"";position:absolute;top:65px;left:31px;width:17px;height:79px;border-radius:9px;background:linear-gradient(90deg,#211910,#76614a 38%,#3c2c21 80%,#120d0a);border:1px solid #665039;box-shadow:2px 2px 9px #000c}.magnifier-lens{font:italic 36px var(--serif);color:#c4d1ce75;transform:rotate(27deg)}
.site-footer{width:100%;max-width:var(--container);min-height:47px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:13px;font-size:11px;color:#969b9d;border-top:1px solid #bdb5a020;padding:8px 7px 0}.footer-right{font-family:var(--serif);font-style:italic;font-size:12px;color:#a5a1a0}
.info-dialog{position:fixed;max-width:min(92vw,445px);width:100%;padding:0;background:#101a20;color:var(--text);border:1px solid #796650;border-radius:10px;box-shadow:0 30px 100px #000b}.info-dialog::backdrop{background:#01080cdd;backdrop-filter:blur(7px)}.dialog-content{position:relative;padding:31px 30px}.dialog-close{position:absolute;top:8px;right:11px;background:none;border:0;color:#a2aaad;font-size:29px;width:40px;height:40px}.dialog-eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:#bba483}.dialog-content h2{font:normal 33px/1.2 var(--serif);color:#f3ebdf;margin:16px 0 8px}.dialog-content>p:not(.dialog-eyebrow){font-size:14px;color:#c1c4c5;line-height:1.6;margin:14px 0 24px}.dialog-action{border:none;background:#e6cba9;color:#21252a;border-radius:5px;padding:13px 23px;font-weight:700;width:100%}
@media(max-width:1050px){.site-header{padding:0 18px}.desktop-nav{gap:22px;margin-left:0}.brand{gap:10px}.modes{max-width:910px;gap:26px}.mode-card .photo-frame,.board-mat{height:255px}.mode-title{font-size:40px}}
@media(max-width:800px){.page-shell{padding:15px}.desktop-nav{gap:14px}.brand span{font-size:10px;letter-spacing:.17em}.intro{padding:40px 0 36px}.mode-card .photo-frame,.board-mat{height:220px}.mode-copy{padding:18px 21px 15px;min-height:259px}.mode-title{font-size:37px}.mode-description{font-size:13px}.mode-details{font-size:9px}.chat-panel{right:54px;left:9px;padding:6px}.chat-line{grid-template-columns:24px 53px minmax(0,1fr);gap:3px;font-size:9px}.chat-line b{font-size:9px}.magnifier{width:66px;height:66px;right:-13px}}
@media(max-width:680px){.desktop-nav{display:none}.mobile-menu-toggle{display:flex}.page-shell{padding:12px 14px}.site-header{height:58px;padding:0 12px}.brand svg{width:25px}.brand span{font-size:11px;letter-spacing:.16em}.twitch-btn{padding:9px}.twitch-btn span{display:none}.intro{padding:42px 0 39px}.intro h1{font-size:clamp(48px,11vw,64px)}.intro-caption{max-width:320px;margin:11px auto 0;line-height:1.4;font-size:15px}.intro-note{margin-top:12px;font-size:18px}.eyebrow{font-size:9px;letter-spacing:.18em}.eyebrow span{margin:0 7px}.modes{grid-template-columns:1fr;max-width:460px;gap:31px;margin-bottom:36px}.mode-card .photo-frame,.board-mat{height:clamp(220px,53vw,275px)}.mode-copy{min-height:230px}.mode-title{font-size:41px}.mode-description{font-size:14px;margin-bottom:15px}.mode-details{font-size:10px}.chat-panel{right:74px;left:13px}.chat-line{grid-template-columns:29px 69px minmax(0,1fr);font-size:10px}.chat-line b{font-size:10px}.magnifier{width:81px;height:81px;right:-17px}.site-footer{font-size:10px}.footer-right{display:none}}
@media(max-width:390px){.brand span{font-size:10px;letter-spacing:.1em}.intro h1{font-size:46px}.modes{max-width:100%}.mode-card .photo-frame,.board-mat{height:210px}.mode-copy{padding:17px 17px 12px}.mode-title{font-size:35px}.question-note{left:-5px;min-width:85px;font-size:15px}.mode-details{font-size:9px}.chat-panel{right:54px}.chat-line{grid-template-columns:23px 58px minmax(0,1fr);font-size:9px}.chat-line b{font-size:9px}.magnifier{width:66px;height:66px;right:-11px}.mode-description{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
/* Keep the loose dossier props inside the mobile viewport. */
html,body{overflow-x:clip}
@media(max-width:680px){.mode-card--detective .magnifier{right:21px;top:125px;width:70px;height:70px}.mode-card--detective .magnifier:after{height:53px;top:56px}.mode-card--detective .board-photo--one{right:7px}.mode-card--detective .case-note{right:-3px;top:83px}.mode-card--predict .small-evidence{right:7px}.mode-card--predict .handnote{right:7px}}
@media(max-width:390px){.mode-card--detective .magnifier{right:19px;top:127px;width:60px;height:60px}.mode-card--detective .magnifier:after{top:48px;height:45px}.mode-card--detective .case-note{width:70px;font-size:12px;right:0;top:83px}}

/* ---- stage.css ---- */
/* Chat Detective Editorial stage — additions to approved v2 shell. */
.mode-card--predict{text-decoration:none;color:inherit}
.mode-card--predict:focus-visible,.mode-card--detective:focus-visible{outline:3px solid #ebd4b8;outline-offset:6px}
/* Give both modes an unmistakable image area: cinema frame and investigation photograph. */
.board-mat{background:#1c2328 url('assets/investigation-scene.webp') center 40%/cover no-repeat}
.board-mat::before{content:"";position:absolute;inset:0;background:linear-gradient(95deg,#11192170,#101920de 60%,#0e151ce5);pointer-events:none}
.board-photo,.chat-panel,.case-note,.board-thread,.board-pin,.magnifier{z-index:2}
.photo-frame,.board-mat{height:282px}
.clip-photo>img{filter:saturate(.91) contrast(1.08)}
/* game page */
.game-page{--game-max:var(--container);color:#eeeae5}
.game-page .scene{background-image:linear-gradient(180deg,#061016df 0%,#071016c9 36%,#081016e8 100%),url('assets/ambient-room.webp');background-position:center center}
.game-main{width:min(100%,var(--game-max));margin:0 auto;flex:1;padding:38px 0 36px}





.game-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:24px}
.game-heading-area{display:flex;align-items:flex-start;gap:19px;min-width:0}
.round-back{display:grid;place-items:center;width:47px;height:47px;border:1px solid #b2bdc04a;border-radius:7px;background:#101e25b8;color:#e1ded7;text-decoration:none;font-size:26px;flex:none;margin-top:8px;transition:background .2s}
.round-back:hover{background:#25343b}
.game-overline,.game-overline span{font:650 10px/1.5 var(--sans);letter-spacing:.21em;color:#c4ad90;margin:0}
.game-overline span{color:#6f8190;margin:0 4px}
.game-head h1{font:normal clamp(35px,5vw,48px)/1.13 var(--serif);letter-spacing:-.015em;margin:4px 0 5px;color:#f6f2eb}
.headline-mark{color:#dfb68c}
.game-subtitle{margin:0;color:#acbac3;font-size:13px;line-height:1.6}
.game-round-meta{flex:none;min-width:230px;margin-bottom:5px}
.meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#c3d0d6}
.source-flag{border:1px solid #b9a17f60;border-radius:2px;padding:4px 7px;font:600 9px/1.4 var(--sans);letter-spacing:.04em;color:#debd97}
.round-dashes{display:flex;gap:4px;margin-top:12px}
.round-dashes span{height:5px;border-radius:20px;background:#5165716b;flex:1}
.round-dashes span.is-current{background:#e9c59c}
.round-dashes span.is-completed{background:#9bbaae}
.game-content{position:relative}
.video-paper{position:relative;background:#18222a;border:1px solid #b1b3ac60;box-shadow:0 16px 38px #0006,0 0 0 5px #10181cc4;padding:9px 9px 0}
.video-paper:before{content:"";pointer-events:none;position:absolute;top:-15px;left:47%;width:76px;height:24px;transform:rotate(2deg);background:#d5c3a452;box-shadow:0 1px 2px #0005;z-index:2}
.video-topline{height:29px;display:flex;align-items:center;gap:9px;padding:0 10px;color:#c4b6a4;letter-spacing:.14em;font:700 10px var(--sans)}
.red-pin{width:6px;height:6px;background:#ab5d52;border-radius:50%;box-shadow:0 0 0 2px #bb8a6550}
.video-top-right{margin-left:auto;color:#697e8c}
.player-stage{position:relative;aspect-ratio:16/9;background:#080d11;overflow:hidden}
.player-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#070b0f}
.player-stage:fullscreen{display:grid;place-items:center;background:#000}
.player-stage:fullscreen video{width:100%;height:100%}
.player-shade{pointer-events:none;position:absolute;inset:0;background:linear-gradient(0deg,#0811168a,transparent 32%,transparent 78%,#0811163d)}
.player-cover{display:flex;position:absolute;inset:0;align-items:center;justify-content:space-between;gap:20px;padding:clamp(18px,6%,58px);background:linear-gradient(90deg,#071119dd 0%,#071119a2 48%,#0711192c 100%);z-index:2}
.player-cover[hidden],.player-pause-badge[hidden],.player-loading[hidden]{display:none}
.player-cover-inner{display:flex;flex-direction:column;align-items:flex-start}
.player-cover-tag{font:700 11px var(--sans);letter-spacing:.2em;color:#dbb88c}
.player-cover-heading{font:normal clamp(22px,3.7vw,43px)/1.1 var(--serif);margin:15px 0 13px;color:#fff3e9;max-width:370px}
.player-cover-caption{font:13px/1.55 var(--sans);color:#d3d1cb;max-width:300px}
.player-play-emblem{display:grid;place-items:center;border-radius:50%;border:1px solid #f6ebd1bd;background:#061219ad;box-shadow:0 0 0 10px #0b1a2480;width:80px;height:80px;color:#fae9d0;font-size:31px;flex:none;padding-left:4px}
.player-pause-badge,.player-loading{position:absolute;z-index:4;top:16px;left:16px;padding:7px 11px;border-radius:3px;background:#e7cda6ec;color:#15222a;font:700 10px/1.4 var(--sans);letter-spacing:.12em;box-shadow:0 2px 8px #0008}
.player-pause-badge span{margin-right:5px}
.player-controls{display:flex;align-items:center;gap:13px;min-height:43px;padding:0 8px;color:#bdc9cf;background:#101c22}
.player-timestamp{font:600 11px var(--sans);font-variant-numeric:tabular-nums;min-width:36px}
.player-track{position:relative;flex:1;height:5px;background:#a7b8be42;border-radius:4px;overflow:visible}
.player-track-fill{height:100%;width:0;background:#e4c5a0;border-radius:4px;transition:width .08s linear}
.player-pause-marker{position:absolute;left:45%;top:-4px;width:2px;height:13px;background:#fff1d2a6}
.player-icon-button{background:none;color:#b1c2ca;border:0;padding:6px;cursor:pointer;display:grid;place-items:center}
.player-icon-button:hover{color:#fff0d5}
.question-sheet{padding:23px 0 0}
.question-heading-row{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:9px}
.question-index{font:700 10px var(--sans);letter-spacing:.18em;color:#d7b994}
.answer-state{font-size:11px;color:#b9c4c9;letter-spacing:.025em}
.question-sheet h2{font:normal clamp(24px,3vw,31px)/1.22 var(--serif);margin:0 0 15px;color:#f1ece5}
.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.answer{background:#0d1b23ca;border:1px solid #687c8c68;color:#d4dbdb;min-height:60px;text-align:left;display:flex;gap:15px;align-items:center;border-radius:5px;padding:12px 16px;cursor:pointer;transition:background .18s,border-color .18s,transform .18s;font:13px/1.5 var(--sans)}
.answer:disabled{opacity:.6;cursor:not-allowed}
.answer:not(:disabled):hover{background:#172a34;border-color:#d3b88a9c;transform:translateY(-1px)}
.answer:focus-visible{outline:2px solid #f2d7b1;outline-offset:2px}
.answer-letter{width:33px;height:33px;display:grid;place-items:center;flex:none;border-radius:50%;background:#52667440;font:700 13px var(--sans);color:#d6e1e4}
.answer-text{flex:1}
.answer-mark{font-size:21px;color:#fff}
.answer.is-selected{border-color:#e2c396;background:#554a393e}
.answer.is-selected .answer-letter{background:#e0c29e;color:#1a2326}
.answer.is-correct{background:#163a35c7;border-color:#6cb8a5;color:#d8f2e7;opacity:1}
.answer.is-correct .answer-letter{background:#80c9b2;color:#0a2520}
.answer.is-wrong{background:#482628a6;border-color:#df938a;color:#ffd1c9;opacity:1}
.answer.is-wrong .answer-letter{background:#d98a80;color:#2b1517}
.decision-bar{display:flex;align-items:center;justify-content:space-between;gap:23px;padding:15px 17px;margin-top:14px;background:#18292fa6;border:1px solid #64818861;border-radius:5px;min-height:77px}
.decision-instruction{display:flex;align-items:center;gap:14px;min-width:0}
.decision-symbol{display:grid;place-items:center;width:41px;height:41px;border:1px solid #b9a98c70;border-radius:50%;font-size:22px;color:#e8ca9c;flex:none}
.decision-instruction strong{display:block;font:600 13px var(--sans);color:#ebeee9}
.decision-instruction small{display:block;margin-top:3px;font-size:11px;line-height:1.5;color:#9caeb9}
.decision-right{display:flex;align-items:center;gap:20px;flex:none}
.decision-progress{height:4px;width:117px;background:#6177824f;border-radius:10px;overflow:hidden}
.decision-progress div{height:100%;width:0;background:#e5c69c;transition:width .25s}
.decision-action{min-width:210px;min-height:45px;padding:10px 18px;border:1px solid #e5c79e;border-radius:4px;background:linear-gradient(145deg,#f0d9b8,#ddb993);box-shadow:0 4px 16px #f0ce9530;color:#192026;font:700 13px var(--sans);cursor:pointer}
.decision-action:disabled{cursor:not-allowed;filter:saturate(.2);opacity:.58;box-shadow:none}
.decision-action:not(:disabled):hover{filter:brightness(1.06)}
.decision-action span{font-size:17px;margin-left:10px}
.round-feedback{display:flex;gap:17px;padding:17px 20px;margin-top:15px;background:#142a29c7;border:1px solid #9ab5a675;border-radius:4px;color:#daebe4}
.round-feedback[hidden]{display:none}
.round-feedback.is-incorrect{background:#342724c7;border-color:#bc967e99;color:#f5dfca}
.feedback-symbol{font-size:31px;line-height:1}
.round-feedback h3{margin:0 0 4px;font:normal 23px var(--serif)}
.round-feedback p{margin:0;font-size:13px;line-height:1.5;color:inherit}
.rating-section{margin-top:16px;background:#101b22db;border:1px solid #7f8c8e50;padding:23px 24px;border-radius:4px}
.rating-section[hidden]{display:none}
.rating-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.rating-heading h2{font:normal 24px var(--serif);margin:7px 0 0}
.rating-optional{font-size:11px;color:#adb7ba}
.rating-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:17px}
.stars-block{border:1px solid #77848747;padding:14px 16px;margin:0;min-width:0}
.stars-block legend{color:#f3e6d4;font:600 13px var(--sans);padding:0 7px}
.stars-block p{font-size:11px;color:#9babb0;margin:3px 0 10px}
.star-buttons{display:flex;gap:7px}
.star-buttons button{background:none;border:none;color:#65727a;font-size:26px;padding:3px 1px;cursor:pointer}
.star-buttons button.is-on{color:#f2cca0}
.star-buttons button:focus-visible{outline:1px solid #f2cca0}
.rating-actions{display:flex;justify-content:flex-end;gap:15px;align-items:center;margin-top:17px}
.rating-status{font-size:12px;color:#acd2c1}
.rating-save{background:#d5e0e7;border:1px solid #c2d3dc;border-radius:4px;font:700 12px var(--sans);padding:11px 20px;color:#1c2831;cursor:pointer}
.rating-save:disabled{opacity:.6;cursor:not-allowed}
.below-note{display:flex;gap:13px;align-items:center;margin:24px 0 0;padding-top:18px;border-top:1px solid #8192963d;color:#8fa1ab}
.below-note>span:first-child{color:#d3b894;font:700 12px var(--sans)}
.below-note p{margin:0;flex:1;font-size:11px}
.note-seal{font:700 9px var(--sans);letter-spacing:.19em;color:#72858a}

@media(max-width:760px){.game-main{padding-top:28px}.game-head{align-items:flex-start;flex-direction:column;gap:16px}.game-round-meta{min-width:0;width:100%}.game-subtitle{font-size:12px}.player-cover{padding:20px}.player-play-emblem{width:55px;height:55px;font-size:22px;box-shadow:0 0 0 6px #0b1a2480}.player-cover-heading{font-size:27px}.player-cover-caption{font-size:11px}.answers{grid-template-columns:1fr}.decision-bar{flex-wrap:wrap}.decision-right{width:100%}.decision-progress{flex:1}.decision-action{min-width:170px}}
@media(max-width:480px){.game-heading-area{gap:12px}.round-back{width:40px;height:40px}.game-head h1{font-size:37px}.game-overline{font-size:9px}.player-cover-heading{font-size:19px;margin:5px 0}.player-cover-caption{font-size:10px;max-width:140px}.player-cover-tag{font-size:9px}.player-play-emblem{width:43px;height:43px;font-size:17px}.video-topline{font-size:8px}.player-controls{gap:5px}.player-timestamp{font-size:10px;min-width:29px}.answer{padding:10px 12px;min-height:53px;font-size:12px}.question-sheet h2{font-size:25px}.decision-instruction small{font-size:10px}.decision-right{gap:10px}.decision-action{min-width:156px;font-size:12px}.rating-grid{grid-template-columns:1fr}.rating-heading{align-items:start;flex-direction:column;gap:7px}.rating-section{padding:17px}.below-note .note-seal{display:none}}
@media(prefers-reduced-motion:reduce){.answer,.decision-action,.mode-card,.player-track-fill{transition:none}}
/* Visual refinement: let the illustration read as a real part of the detective case,
   with chat as one layer rather than hiding the whole photograph. */
.board-mat::before{background:linear-gradient(90deg,#0d141a0a 0%,#10192026 38%,#101920d2 65%,#101920ef 100%)}
.mode-card--detective .chat-panel{left:37%;right:6px;top:23px;bottom:22px;padding:8px 9px;background:linear-gradient(165deg,#101a23f7,#090f17ed)}
.mode-card--detective .chat-line{grid-template-columns:26px 53px minmax(0,1fr);font-size:9px;min-height:25px;gap:3px}
.mode-card--detective .chat-line b{font-size:9px}
.mode-card--detective .chat-header{font-size:8px}
.mode-card--detective .board-photo--one{right:-13px;top:-10px;width:70px;height:85px}
.mode-card--detective .board-photo--two{right:0;bottom:7px;width:59px;height:66px}
/* The cover image remains visible before video playback; full video appears on start. */
.player-stage{background:#081016 url('assets/demo-poster.jpg') center/cover no-repeat}
.player-cover{background:linear-gradient(90deg,#071119df 0%,#071119a0 46%,#07111940 100%)}
@media(max-width:760px){.mode-card--detective .chat-panel{left:23%;right:45px}}
@media(max-width:480px){.mode-card--detective .chat-panel{left:31%;right:18px}}

/* ---- spa.css ---- */
/* Only layout rules specific to the single-page application. Header/footer are defined once. */
#app{display:block;width:100%;max-width:var(--container);flex:1;margin:0 auto}
#app .home-view{width:100%}
#app>.game-main{width:100%;max-width:none;min-height:0;margin:0}
#app>.detail-view{width:100%;max-width:925px;margin:0 auto;padding:43px 0 90px}
#app>.detail-view--narrow{max-width:780px}
.mobile-nav a.active{color:#f5dcc0;background:#e8d0aa14}
.view-back{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#c7cdd0;border:1px solid #ffffff2f;padding:9px 13px;border-radius:5px;margin-bottom:33px}
.view-back:hover{background:#ffffff10;color:#fff}
.view-intro{margin-bottom:32px}
.view-intro h1{font:normal clamp(39px,6vw,62px)/1.09 var(--serif);letter-spacing:-.03em;margin:10px 0 12px;color:#f5eee3}
.view-intro>p:last-child{max-width:660px;color:#c2c6ca;font:15px/1.6 var(--sans);margin:0}
.detective-preview{display:grid;grid-template-columns:1fr 1fr;background:#101b22eb;border:1px solid #8f999b69;border-radius:8px;overflow:hidden;box-shadow:0 15px 50px #02070ac4}














.paper-form{padding:28px;background:linear-gradient(145deg,#16232a,#0c141a);border:1px solid #81939970;border-radius:7px;box-shadow:0 14px 50px #0007}
.form-tag{display:block;color:#c4ac8f;font-size:10px;letter-spacing:.21em;margin-bottom:28px}
.paper-form label{display:block;color:#e4e8e6;font-size:13px;font-weight:650;margin-bottom:10px}
.paper-form input{display:block;width:100%;padding:15px;border-radius:5px;border:1px solid #a1adb06b;background:#0a141b;color:#f3eee7;font:14px var(--sans)}
.paper-form input:focus-visible{outline:2px solid #dbbf9e;outline-offset:2px}
.form-help{color:#9db1b9;font-size:12px;line-height:1.5;margin:10px 0 25px}
.form-action{border:1px solid #dfbfa0;background:#e8caa6;color:#141b1e;padding:12px 25px;font-weight:700;border-radius:4px}
.form-status{min-height:19px;margin:15px 0 0;font-size:12px;color:#b8c3c9}
.form-status.is-valid{color:#a9d5b7}.form-status.is-invalid{color:#e9b6a4}
.about-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.about-list article{background:#101c23df;border:1px solid #81969e57;padding:25px;border-radius:6px}
.about-list article>span{font-size:10px;letter-spacing:.18em;color:#c9ad89}
.about-list h2{font:normal 30px var(--serif);margin:13px 0 12px}
.about-list p{font-size:13px;line-height:1.6;color:#b6c5cd;min-height:85px}
.about-list a{display:inline-block;margin-top:15px;font-size:12px;color:#e8cfb2;border-bottom:1px solid #e8cfb27a;padding-bottom:4px}
@media(max-width:680px){#app>.detail-view{padding:35px 0 65px}.detective-preview{grid-template-columns:1fr}.about-list{grid-template-columns:1fr}.about-list p{min-height:0}.view-intro h1{font-size:43px}}

/* Same-page backend diagnostics: never silently replace a live API with demo data. */
.game-demo-action{appearance:none;display:inline-flex;justify-content:center;align-items:center;border:1px solid #a9bdd4aa;background:#13232de8;color:#dce7ed;padding:10px 15px;border-radius:5px;min-height:44px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap}
.game-demo-action:hover{background:#263849}
.game-demo-action[hidden]{display:none!important}
.game-main[data-phase="offline"] .source-flag{color:#eac5a8}
@media(max-width:720px){.game-demo-action{width:100%}}

/* ---- detective.css ---- */
/* OnePage v7 Editorial / Detective. Deliberately scoped: only the #detective view. */
.detective-view{--d-warm:#e7cda9;--d-cool:#9bb5cc;--d-border:rgba(205,221,230,.18);max-width:1130px;margin:0 auto;padding:46px 24px 54px;color:#e8e7e0}


.d-scoreboard{min-width:165px;padding:16px 22px;background:linear-gradient(120deg,rgba(29,43,53,.94),rgba(13,23,29,.96));border:1px solid var(--d-border);border-radius:5px;display:grid;gap:5px;text-align:right}.d-scoreboard span,.d-scoreboard small,.d-case-eyebrow,.d-prompt-block small,.d-clues-heading small,.d-pins small{font:600 10px/1.5 system-ui,sans-serif;letter-spacing:.13em;color:#a7b6bc}.d-scoreboard strong{font-size:23px;font-weight:600;color:#f0d7b4}
.d-casebar{background:rgba(16,26,31,.95);border:1px solid rgba(167,184,195,.28);border-radius:7px 7px 0 0;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px}
.d-case-id{display:flex;align-items:center;gap:15px}.d-case-seal{height:50px;min-width:58px;display:grid;place-content:center;border:1px solid #907c61;color:#edcfa5;font:700 12px/1.4 system-ui,sans-serif;letter-spacing:.08em;transform:rotate(-3deg);background:rgba(139,106,61,.10)}.d-case-id>div{display:grid;gap:5px}.d-case-id strong{font:500 25px/1.05 Georgia,serif;color:#fff2de}
.d-select-area{display:flex;align-items:center;gap:10px}.d-select-area label{color:#bdc8ca;font:500 12px system-ui,sans-serif}.d-select-area select,.d-small-button{background:#14242c;color:#e1e7e8;border:1px solid #455761;border-radius:4px;padding:11px 12px;font:500 12px system-ui,sans-serif;cursor:pointer}.d-select-area select:disabled{opacity:.7;cursor:not-allowed}.d-small-button{white-space:nowrap;color:#f2d6b3;border-color:#6f6658}
.d-dot{width:3px;height:3px;border-radius:50%;background:#c4a478}
.d-game-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:stretch;border:1px solid rgba(167,184,195,.28);border-radius:0 0 7px 7px;overflow:hidden;background:#0f1920;box-shadow:0 24px 64px rgba(0,0,0,.36)}
.d-chat-file{min-width:0;background:linear-gradient(130deg,rgba(21,32,37,.94),rgba(12,23,29,.98));border-right:1px solid rgba(167,184,195,.24)}.d-analysis{min-width:0;background:linear-gradient(140deg,rgba(30,35,37,.96),rgba(14,24,30,.99))}

.d-chat-heading{padding:23px 22px 19px;display:flex;justify-content:space-between;align-items:end;gap:10px}.d-chat-heading small{font:700 10px system-ui,sans-serif;letter-spacing:.15em;color:#b8a386}.d-chat-heading h2{font:500 29px/1.1 Georgia,serif;margin:5px 0 0;color:#faf1e5}
.d-chat-stage{height:395px;overflow-y:auto;overflow-x:hidden;padding:10px 10px 10px 16px;margin:0 19px;background:linear-gradient(165deg,rgba(3,9,15,.85),rgba(5,13,22,.92));box-shadow:inset 0 2px 15px #010407;border:1px solid rgba(156,173,185,.22);scrollbar-color:#52616d transparent}
.d-chat-line{width:100%;display:grid;grid-template-columns:68px minmax(72px,110px) minmax(0,1fr) 20px;align-items:start;gap:8px;padding:10px 7px;text-align:left;border:0;border-bottom:1px solid rgba(142,161,175,.065);background:transparent;color:#d8e0e3;cursor:pointer;font:500 12px/1.45 system-ui,sans-serif}.d-chat-line:hover:not(:disabled){background:rgba(133,168,188,.09)}.d-chat-line:focus-visible{outline:2px solid #b8cdd7;outline-offset:-2px}.d-chat-line--marked{background:rgba(221,185,124,.11);border-left:2px solid #d8b984}.d-chat-line:disabled{opacity:.83;cursor:default}.d-chat-name{font-weight:700;overflow-wrap:anywhere}.d-chat-message{overflow-wrap:anywhere}.d-chat-pin{color:#b79e7a;text-align:right}
.d-chat-commands{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:15px 20px}.d-chat-commands button{background:#182a33;border:1px solid #4b626d;padding:10px 13px;color:#e9eef0;border-radius:3px;cursor:pointer;font:600 12px system-ui,sans-serif}.d-chat-commands button:hover:not(:disabled){border-color:#b3c5d0}.d-chat-commands button:disabled{opacity:.4;cursor:default}.d-chat-commands>span{font-size:11px;color:#9eafb8;flex:1;min-width:150px}
.d-pins{padding:16px 20px 21px;margin:1px 0 0;border-top:1px dashed rgba(185,170,145,.32);display:grid;gap:10px}.d-pins>div:first-child{display:flex;justify-content:space-between;gap:10px}.d-pins strong{font:700 12px system-ui,sans-serif;color:#e6c99e}.d-pins-list{display:flex;flex-wrap:wrap;gap:8px;min-height:28px;color:#90a7b2;font:12px/1.5 system-ui,sans-serif}.d-pin-tag{max-width:100%;padding:6px 9px;background:rgba(177,141,91,.12);border:1px solid rgba(195,158,111,.36);color:#ead4b3;border-radius:3px;white-space:normal;overflow-wrap:anywhere}
.d-analysis-inner{padding:24px 24px 28px}.d-prompt-block small{color:#baa789}.d-prompt-block h2{font:500 clamp(25px,2.7vw,36px)/1.14 Georgia,serif;margin:9px 0 10px;color:#f4e8d6}.d-prompt-block p{color:#b8c2c6;margin:0 0 22px;font-size:13px;line-height:1.6}.d-options{border:0;padding:0;margin:0}.d-answer-list{display:grid;gap:10px}.d-answer{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;border:1px solid rgba(169,191,202,.23);border-radius:5px;background:rgba(6,17,25,.72);color:#dce6e9;text-align:left;padding:10px 13px;cursor:pointer;transition:border-color .16s,background .16s}.d-answer:hover:not(:disabled){border-color:#9bb7c7;background:#1b3038}.d-answer:focus-visible{outline:2px solid #b3ced9;outline-offset:2px}.d-answer--selected{background:rgba(151,180,200,.18);border-color:#bfd5e0}.d-answer--right{border-color:#9cbd98;background:rgba(99,145,94,.23)}.d-answer--wrong{border-color:#ca867c;background:rgba(151,74,69,.19)}.d-answer:disabled{cursor:default}.d-answer-letter{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 30px;background:rgba(143,166,183,.17);color:#c9d3d9;font:700 13px system-ui,sans-serif}.d-answer-text{font:500 13px/1.45 system-ui,sans-serif;overflow-wrap:anywhere}
.d-clues{margin-top:24px;padding-top:19px;border-top:1px solid rgba(196,170,130,.23)}.d-clues-heading{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:11px}.d-clues-heading small{color:#b9a487}.d-clues-heading h3{font:500 25px Georgia,serif;color:#f1e0c9;margin:3px 0 0}.d-clues-heading>span{font:600 11px system-ui,sans-serif;color:#b4c5cf}.d-clue-list{display:grid;gap:8px}.d-clue{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 12px;background:rgba(187,154,114,.07);border:1px dashed rgba(197,174,145,.28);border-radius:4px;color:#d9d8d2;cursor:pointer}.d-clue:hover:not(:disabled){border-color:#d4bc99}.d-clue:disabled{cursor:default}.d-clue--open{background:rgba(201,160,106,.12)}.d-clue-index{color:#a6afae;font:700 11px system-ui,sans-serif}.d-clue-copy{flex:1;display:grid;gap:4px}.d-clue-copy strong{font:700 12px system-ui,sans-serif;color:#f1dabb}.d-clue-copy small{font:12px/1.55 system-ui,sans-serif;color:#b5b8b9}.d-clue-arrow{font-size:21px;color:#c6ae88}.d-no-hints{margin:10px 0;color:#b6c0c5;font-size:13px}
.d-solve-actions{display:grid;gap:10px;margin-top:20px}.d-solve-actions>span{font-size:11px;color:#c0bbb1}.d-solve-actions button{width:100%;display:flex;align-items:center;justify-content:space-between;background:#e1c6a2;border:1px solid #f4d6b1;color:#14202a;padding:14px 17px;border-radius:4px;font:700 14px system-ui,sans-serif;cursor:pointer}.d-solve-actions button:disabled{opacity:.42;cursor:not-allowed}.d-solve-actions button:not(:disabled):hover{background:#f3d8b8}
.d-result{margin-top:24px;padding:26px 30px 30px;background:linear-gradient(140deg,rgba(37,46,44,.96),rgba(19,28,35,.98));border:1px solid #7a988b;border-radius:6px;scroll-margin-top:24px}.d-result[hidden]{display:none}.d-result:not(.d-result--success){border-color:#a27c6f}.d-result-top{display:flex;justify-content:space-between;gap:14px;font:700 11px system-ui,sans-serif;letter-spacing:.1em;color:#c8e1c5}.d-result:not(.d-result--success) .d-result-top{color:#ecc4bc}.d-result-top strong{font-size:17px;color:#f4ddba}.d-result h2{font:500 37px Georgia,serif;margin:10px 0 7px}.d-result>p{font-size:14px;line-height:1.7;max-width:930px;color:#d5dedc}.d-correct-answer{padding:14px 18px;background:rgba(5,13,20,.4);border-left:2px solid #d9c09b;display:grid;gap:6px;margin:18px 0}.d-correct-answer span{font:700 10px system-ui,sans-serif;letter-spacing:.13em;color:#bcb2a2}.d-correct-answer strong{font:500 17px/1.5 system-ui,sans-serif}.d-evidence-review h3{font:500 22px Georgia,serif;margin:20px 0 9px}.d-evidence-review li{font-size:13px;line-height:1.6;margin:4px 0}.d-evidence-review p{font-size:12px;color:#dfc79f}.d-result-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:20px}.d-result-actions button{background:#e0c4a0;color:#13232b;border:0;border-radius:4px;padding:13px 23px;font-weight:700;cursor:pointer}.d-result-actions a{color:#d3dfe1;text-decoration:underline;text-underline-offset:3px;font-size:13px}.d-caption{margin:19px 2px;color:#94a3aa;font:11px/1.6 system-ui,sans-serif}.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}
@media(max-width:900px){.d-game-grid{grid-template-columns:1fr}.d-chat-file{border-right:0;border-bottom:1px solid var(--d-border)}.d-chat-stage{height:300px}}
@media(max-width:620px){.detective-view{padding:22px 10px 35px}.d-scoreboard{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:10px;min-width:0;padding:11px 13px}.d-scoreboard strong{font-size:19px}.d-scoreboard small{font-size:10px}.d-casebar{padding:12px;flex-direction:column;align-items:stretch}.d-case-id strong{font-size:24px}.d-case-eyebrow{font-size:9px}.d-select-area{justify-content:space-between;flex-wrap:wrap}.d-select-area select{flex:1;min-width:170px}.d-select-area label{display:none}.d-small-button{flex:0 1 auto}.d-chat-heading{padding:17px 14px}.d-chat-stage{margin:0 10px;padding:8px 5px;height:310px}.d-chat-line{grid-template-columns:46px minmax(54px,84px) minmax(0,1fr) 12px;gap:5px;font-size:11px;padding:9px 4px}.d-chat-commands{padding:12px 10px}.d-pins{padding:14px 12px}.d-analysis-inner{padding:19px 15px}.d-result{padding:20px 16px}.d-result h2{font-size:29px}}

/* v8: visible source and network state, no silent demo fallback. */
.d-connection{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;margin:15px 0;border:1px solid #546578;border-radius:8px;background:#17202a;color:#e0e4e8}
.d-connection-copy{display:flex;flex-direction:column;gap:5px}.d-connection-copy strong{font:600 14px/1.4 inherit}.d-connection-copy span{font-size:12px;color:#aebdc6}
.d-connection-actions{display:flex;gap:8px}.d-connection-actions button{color:#e6e0d4;background:#25313c;border:1px solid #617382;border-radius:5px;cursor:pointer;padding:9px 13px;font:inherit;font-size:12px}
.d-connection[data-state=ready]{border-color:#536b61;background:#152923}.d-connection[data-state=error]{border-color:#91624e;background:#31221d}.d-connection[data-state=loading] .d-connection-actions{display:none}
.d-connection[data-state=ready] .d-connection-actions #d-retry{display:none}
.d-connection[data-state=ready] .d-connection-actions #d-start-demo{display:none}
.d-connection[data-state=error] .d-connection-actions{display:flex}
.d-connection[data-state=demo] .d-connection-actions #d-start-demo{display:none}
@media(max-width:720px){.d-connection{flex-direction:column;align-items:stretch}.d-connection-actions button{flex:1}}

.detective-view[data-connection=loading] .d-casebar,.detective-view[data-connection=loading] .d-case-summary,.detective-view[data-connection=loading] .d-game-grid,.detective-view[data-connection=loading] .d-caption,
.detective-view[data-connection=error] .d-casebar,.detective-view[data-connection=error] .d-case-summary,.detective-view[data-connection=error] .d-game-grid,.detective-view[data-connection=error] .d-caption{display:none}

/* ---- community.css ---- */
/* Editorial community submission and protected moderation: scoped to #app. */
#app>.community-view{max-width:1080px}
.community-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.community-sheet{min-width:0;padding:27px}
.community-sheet .form-tag{margin-bottom:25px}
.community-sheet label,.community-admin-auth label,.moderation-editor label{margin:17px 0 9px}
.community-sheet input,.community-sheet textarea,.community-admin-auth input,.moderation-editor input,.moderation-editor textarea{font-family:var(--sans);font-size:13px;background:#0b161c;color:#f3eee7;border:1px solid #8c9a9e5e;border-radius:5px;padding:12px 13px;width:100%;max-width:100%;min-width:0}
.community-sheet textarea,.moderation-editor textarea{resize:vertical;line-height:1.5}
.community-sheet input:focus-visible,.community-sheet textarea:focus-visible,.community-admin-auth input:focus-visible,.moderation-editor input:focus-visible,.moderation-editor textarea:focus-visible{outline:2px solid #dfc6a6;outline-offset:2px}
.community-sheet .form-help{margin:8px 0 15px}
.required-mark{color:#e4bd88}
.input-action-row{display:flex;align-items:stretch;gap:9px;flex-wrap:wrap}
.input-action-row>input{flex:1 1 220px}
.secondary-action{background:#162630;color:#e7ddd0;border:1px solid #829aa7a3;border-radius:5px;min-height:43px;padding:10px 15px;font:600 12px var(--sans);cursor:pointer}
.secondary-action:hover{background:#233947}
.secondary-action:disabled,.form-action:disabled{opacity:.55;cursor:not-allowed}
.clip-inspector{position:relative;display:flex;align-items:center;justify-content:center;min-height:235px;background:#070e14;border:1px solid #84929850;border-radius:5px;overflow:hidden}
.clip-inspector-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;font:12px var(--sans);color:#abb4b9;text-align:center;padding:18px}
.clip-inspector-placeholder span{font-size:30px;color:#dec6a4}
.clip-inspector video{width:100%;max-height:360px;display:block;object-fit:contain}
.clip-inspector video[hidden],.clip-inspector a[hidden]{display:none}
.clip-inspector a{position:absolute;bottom:11px;right:11px;background:#091318e3;border:1px solid #9aa7ac80;border-radius:4px;padding:8px 10px;font:11px var(--sans);color:#f1d8bc}

.community-tip{background:#e6d2b40c;border:1px solid #e6d2b43b;border-radius:5px;padding:12px 14px;font:12px/1.55 var(--sans);color:#c7ced0;margin:16px 0}
.community-tip strong{color:#e6d0af}
.answer-editor{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}
.answer-editor-row{display:flex;align-items:center;gap:8px;padding:6px;border:1px solid #87969c2c;background:#0812178f;border-radius:5px}
.answer-editor-row input[type=radio]{flex:0 0 auto;accent-color:#e8c8a4;width:17px;height:17px;margin:0 2px 0 5px}
.answer-editor-row label{display:flex;width:25px;align-items:center;justify-content:center;margin:0;font:700 12px var(--sans);color:#dbd0c1}
.answer-editor-row input.answer-text{flex:1;border:0;background:#0f1d23;font-size:12px;padding:10px}

.community-submit-action{margin-top:16px;width:100%;padding:15px}
.form-status{line-height:1.6}





.moderation-list{display:flex;flex-direction:column;gap:9px;min-width:0}













.mod-reject{border-color:#be8f7f;color:#e9b9ac}


.moderation-empty{padding:20px;border:1px dashed #9cabb05c;border-radius:5px;color:#b9c7c8;font:13px/1.5 var(--sans)}
@media(max-width:830px){.community-layout,.moderation-layout{grid-template-columns:1fr}.moderation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.community-sheet{padding:20px}}
@media(max-width:520px){.input-action-row>.secondary-action{flex:1}.community-sheet{padding:16px}}

/* v8.5: AI draft helper, inside existing SPA and editorial cards */
.ai-draft-panel{border:1px solid #e5c59b70;background:linear-gradient(140deg,#d9b99516,#96b1c315);border-radius:6px;padding:16px;margin:0 0 22px}
.ai-draft-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ai-draft-heading .form-tag{margin:0 0 8px}
.ai-draft-heading h2{font:normal 23px/1.1 var(--serif);margin:0;color:#f5e5d0}
.ai-draft-panel .form-help{margin:13px 0 0}
.ai-draft-panel .form-status{margin:10px 0 0}
.ai-draft-panel .form-status:empty{display:none}
@media(max-width:520px){.ai-draft-heading .secondary-action{width:100%}}

/* v8.5.2: capture exact timestamps from the clip instead of trusting AI guesses. */
.timing-capture{display:block;width:100%;margin:7px 0 0;background:#172832;color:#e9d2b3;border:1px solid #7c929e70;border-radius:5px;padding:8px 9px;font:600 11px var(--sans);cursor:pointer;text-align:center}
.timing-capture:hover,.timing-capture:focus-visible{border-color:#ebc9a4;background:#243541}
.timing-feedback{font:12px/1.5 var(--sans);color:#acbcc2;margin:8px 0 14px}
.timing-feedback.is-warning{color:#f0c99e}


/* v8.6: submission workspace, wide uncluttered player, deliberate precise timing */
#app>.community-view:has(#clip-form){max-width:1320px;padding:22px 0 64px}
.community-view:has(#clip-form) .community-layout{grid-template-columns:minmax(0,1.35fr) minmax(390px,1fr);gap:20px}
.community-view:has(#clip-form) .community-sheet{padding:24px}
.community-view:has(#clip-form) .community-sheet .form-tag{margin-bottom:18px}
.community-view:has(#clip-form) .clip-inspector{aspect-ratio:16/9;min-height:0;width:100%;overflow:hidden;display:grid;place-items:center;background:#03080c}
.community-view:has(#clip-form) .clip-inspector video{width:100%;height:100%;max-height:none;object-fit:contain;background:#03080c}
.community-view:has(#clip-form) .clip-inspector .clip-inspector-placeholder{grid-area:1/1}
.community-view:has(#clip-form) .clip-source-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:39px;margin:6px 0 0;color:#b7c4c6;font:12px var(--sans)}
.community-view:has(#clip-form) .clip-source-row a{position:static;display:inline-flex;background:transparent;border:0;border-radius:0;padding:6px 0;color:#e6caaa;font:12px var(--sans);text-decoration:underline;text-underline-offset:3px}
.community-view:has(#clip-form) .clip-source-row a:hover{color:#fff0da}


.community-view:has(#clip-form) #clip-seek{display:block;width:100%;padding:0;margin:0 0 12px;accent-color:#e8cba6;cursor:ew-resize;height:18px;background:transparent;border:0}


.community-view:has(#clip-form) .submit-author{padding:13px 14px;background:#0e1e25;border:1px solid #81969f69;border-radius:5px;color:#cdd8d8;font:13px var(--sans)}
.community-view:has(#clip-form) .submit-author strong{color:#f8d8b2}
.community-view:has(#clip-form) .submit-author span{color:#8babb2;font-size:11px;margin-left:8px}
.community-view:has(#clip-form) [hidden],.submit-auth-gate[hidden]{display:none!important}
.submit-auth-gate{max-width:610px;margin:20px auto;padding:26px}
.submit-auth-gate h2{font:normal 32px var(--serif);margin:14px 0}
.submit-auth-gate p{color:#c1cdd0;font:14px/1.7 var(--sans);margin:0 0 17px}
@media(max-width:1020px){.community-view:has(#clip-form) .community-layout{grid-template-columns:1fr}}
@media(max-width:580px){#app>.community-view:has(#clip-form){padding:14px 0 60px}.community-view:has(#clip-form) .community-sheet{padding:15px}.community-view:has(#clip-form) .clip-source-row{font-size:11px}}
/* The submission page alone may use a larger content width for the video. */
body[data-view="submit"] #app{max-width:1270px}
.clip-inspector-placeholder[hidden]{display:none!important}

/* v8.7: moderation-focused workspace, one SPA shell, Full HD-first. */
#app>.community-view:has(#moderation-workspace){max-width:1320px}

.community-view:has(#moderation-workspace) .moderation-list{gap:8px}











.mod-video-status{display:block;min-height:18px;margin-top:9px;color:#a6bbc1;font:11px/1.4 var(--sans)}


@media(max-width:920px){.community-view:has(#moderation-workspace) .moderation-list{display:block}}


/* v8.8 — card catalogue + native modal editor.  No nested list scrolling. */
body[data-view="moderation"] #app{max-width:1500px}
#app>.mod-catalog-view{max-width:1440px;margin-inline:auto;padding-top:12px}
.mod-catalog-view #moderation-workspace[hidden],.mod-catalog-view #moderation-auth[hidden],.mod-catalog-view #moderation-empty[hidden]{display:none!important}
.mod-catalog-view .community-admin-auth{max-width:610px;margin:35px auto;padding:26px}
.mod-categories{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 14px;border-bottom:1px solid #8297a23d;margin:0 0 16px}
.mod-categories button{display:inline-flex;align-items:center;gap:8px;border:1px solid #6c819060;background:#0e1b23;color:#cfdbdc;padding:11px 14px;border-radius:6px;font:600 13px var(--sans);cursor:pointer;transition:background .15s,border-color .15s}
.mod-categories button span{font-size:11px;color:#a4b7bf;background:#ffffff13;border-radius:8px;padding:2px 6px}
.mod-categories button:hover{border-color:#e0c29b;color:#fff0df}
.mod-categories button.active{background:#e8c9a5;color:#0a171d;border-color:#e8c9a5}
.mod-categories button.active span{color:#243139;background:#4a321c19}
.mod-filters{display:flex;align-items:end;flex-wrap:wrap;gap:10px 13px;margin-bottom:18px}
.mod-filters label{display:grid;gap:6px;color:#a9b8bd;font:11px var(--sans);min-width:150px}
.mod-filters select,.mod-filters input{height:42px;padding:10px 13px;border:1px solid #76909c75;border-radius:6px;background:#0a171e;color:#f0e5d5;font:12px var(--sans);min-width:0;width:100%}
.mod-filters select:disabled{opacity:.5}
.mod-filters .mod-search-label{flex:1 1 235px;min-width:190px}
.mod-record-count{color:#7f949e;font:12px var(--sans);white-space:nowrap;padding:10px 0}
.mod-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;min-height:0}
.mod-tile{min-width:0;display:flex;flex-direction:column;border:1px solid #60788477;border-radius:8px;background:linear-gradient(165deg,#14242d,#09161e);overflow:hidden;padding:0;text-align:left;color:#efe7db;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.mod-tile:hover,.mod-tile:focus-visible{border-color:#e3bf91;box-shadow:0 4px 20px #0007;transform:translateY(-2px)}
.mod-tile:focus-visible{outline:2px solid #e3bf91;outline-offset:3px}




.mod-tile-mode{position:absolute;top:10px;left:10px;z-index:1;border:1px solid #e8ceb565;background:#071218d9;color:#f3e5ce;padding:5px 9px;border-radius:4px;font:600 10px var(--sans)}

.mod-tile-content{padding:13px 14px 15px;display:flex;flex:1;flex-direction:column;gap:9px;min-height:125px}
.mod-tile-meta{display:flex;align-items:center;gap:7px;justify-content:space-between;color:#a8b7bc;font:10px var(--sans);white-space:nowrap}
.mod-status{display:inline-flex;align-items:center;border:1px solid #7897af77;background:#214155;color:#c1e0fa;border-radius:4px;padding:4px 6px;font:600 10px var(--sans)}
.mod-status-published{border-color:#249e7775;background:#11392f;color:#7bdbb2}
.mod-status-rejected{border-color:#aa586e8c;background:#441d2b;color:#edabb3}
.mod-tile-title{font:normal 19px/1.2 var(--serif);color:#f9efe1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.mod-tile-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;color:#9aadb7;font:11px var(--sans);min-width:0}
.mod-tile-author{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mod-origin-icons{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;flex:none}
.mod-origin-icons span{color:#ead1aa;font-size:18px;line-height:1}
.mod-origin-icons .mod-origin-human{color:#b6c6d4;font-size:18px}
.mod-page-status{min-height:20px;margin:16px 0}
#moderation-empty{padding:38px 15px;text-align:center;color:#b5c5c9;border:1px dashed #6c87907b;border-radius:6px;font:14px var(--sans)}
/* Native <dialog> is a real blocking modal, with body scroll locked while open. */
body:has(.mod-editor-dialog[open]){overflow:hidden}
.mod-editor-dialog{position:fixed;inset:0;margin:auto;padding:0;width:min(1160px,calc(100vw - 36px));max-width:none;max-height:min(90dvh,960px);border:1px solid #91a1aa7c;border-radius:10px;background:#0b1820;color:#f3e9dc;box-shadow:0 26px 100px #000b;overflow:auto;overscroll-behavior:contain}
.mod-editor-dialog::backdrop{background:#02070cce;backdrop-filter:blur(5px)}
.mod-dialog-shell{position:relative;padding:28px 30px 26px}
.mod-modal-close{position:sticky;top:0;float:right;z-index:6;border:1px solid #8298a25c;border-radius:6px;background:#182b36;color:#fff0db;width:39px;height:39px;font:26px/1 var(--sans);cursor:pointer}
.mod-modal-close:hover{background:#2b414d}
.mod-modal-heading{margin-bottom:18px;padding-right:45px}
.mod-modal-heading h2{font:normal 32px/1.15 var(--serif);margin:6px 0 10px;color:#f2e5d4;max-width:780px}
.mod-modal-kicker{color:#d5b996;text-transform:uppercase;letter-spacing:.14em;font:600 10px var(--sans)}
.mod-modal-byline{display:flex;align-items:center;gap:7px;color:#aac0c6;font:12px var(--sans)}
.mod-modal-byline .mod-origin-icons{margin-left:8px}
.mod-modal-video-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(160px,.75fr);gap:14px;margin:12px 0 20px}
.mod-player{position:relative;background:#040a0f;border:1px solid #8ca4ad50;aspect-ratio:16/9;border-radius:6px;display:grid;place-items:center;overflow:hidden}
.mod-player video{width:100%;height:100%;object-fit:contain;display:block;grid-area:1/1}
.mod-player video[hidden],.mod-player-empty[hidden]{display:none}
.mod-player-empty{display:grid;place-items:center;text-align:center;width:100%;height:100%;color:#b7c7c9;font:13px var(--sans);grid-area:1/1;padding:15px}
.mod-player-side{display:flex;flex-direction:column;gap:10px}
.mod-original-link{color:#e8c7a5;text-decoration:underline;text-underline-offset:3px;font:12px var(--sans);padding:6px 0;overflow-wrap:anywhere}
.mod-video-status{color:#a8b9c1;font:11px/1.5 var(--sans);margin:3px 0}
.mod-edit-form{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.9fr);gap:22px;border-top:1px solid #75899452;padding-top:14px}
.mod-edit-left,.mod-edit-right{min-width:0}
.mod-field{display:flex;flex-direction:column;gap:8px;margin:10px 0 14px;color:#eee2d5}
.mod-field-title,.mod-answers legend{font:600 12px var(--sans);color:#e4d5c5}
.mod-editor-dialog .mod-input{width:100%;min-width:0;max-width:100%;background:#0d1d26;border:1px solid #8095a16b;border-radius:5px;color:#f1e8db;padding:11px 12px;font:13px/1.35 var(--sans)}
.mod-editor-dialog textarea.mod-input{resize:vertical;min-height:78px}
.mod-editor-dialog input.mod-input:focus-visible,.mod-editor-dialog textarea.mod-input:focus-visible{outline:2px solid #e7c49b;outline-offset:2px}
.mod-answers{border:0;padding:0;margin:14px 0;min-width:0}
.mod-answers legend{margin-bottom:10px}
.mod-answer{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.mod-answer-letter{color:#e4c59f;font:700 12px var(--sans);width:18px;flex:none;text-align:center}
.mod-answer input[type=radio]{accent-color:#ebca9f;width:17px;height:17px;flex:none;cursor:pointer}
.mod-seconds{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mod-modal-actions{display:flex;gap:10px;margin-top:12px;border-top:1px solid #7b8f9749;padding-top:18px}
.mod-modal-actions button{flex:1 1 auto;min-height:46px}
.mod-modal-feedback{font:12px var(--sans);min-height:12px;color:#c6d6d9}
.mod-modal-note{font:13px/1.6 var(--sans);color:#b9c7cc;border:1px solid #71858d6b;background:#17262e;padding:12px 14px;border-radius:6px}
.mod-detective-messages{max-height:220px;overflow:auto;font:12px/1.5 var(--sans);padding:10px;background:#081218;border:1px solid #687f8969}
.mod-detective-messages p{margin:7px 0}.mod-detective-messages time{color:#8c9fac;margin-right:8px}.mod-detective-messages strong{color:#d2b3eb;margin-right:5px}
.mod-readonly-answers p{padding:10px;border:1px solid #647d8959;border-radius:4px}.mod-readonly-answers p.is-correct{border-color:#e9c499;color:#f6d4a8}
@media(max-width:1250px){.mod-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px){.mod-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mod-edit-form{grid-template-columns:1fr}}
@media(max-width:680px){.mod-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mod-tile-title{font-size:16px}.mod-tile-content{padding:10px;min-height:115px}.mod-tile-meta{flex-wrap:wrap}.mod-tile-meta time{font-size:9px}.mod-dialog-shell{padding:15px}.mod-editor-dialog{width:calc(100vw - 16px);max-height:94dvh}.mod-modal-video-grid{grid-template-columns:1fr}.mod-player-side{display:grid;grid-template-columns:1fr 1fr}.mod-seconds{grid-template-columns:1fr 1fr}.mod-modal-heading h2{font-size:26px}.mod-modal-actions{flex-direction:column}.mod-filters .mod-search-label{flex-basis:100%}}
@media(max-width:420px){.mod-tile-grid{grid-template-columns:1fr}.mod-tile-content{min-height:95px}}
@media(prefers-reduced-motion:reduce){.mod-tile,.mod-tile-image{transition:none}}

/* The older v8.7 selector must not constrain the new Full HD catalogue. */
#app>.mod-catalog-view:has(#moderation-workspace){max-width:1440px}
