/* Linear RPG: scene, dialogue, next decision. No dashboard or navigation bar. */
:root{color-scheme:dark;--ink:#f0e9da;--muted:#b3bdb4;--gold:#e5bb6b;--surface:#102026;--line:#56675e;font-family:system-ui,-apple-system,"PingFang TC","Microsoft JhengHei",sans-serif;font-size:16px;background:#0b1419;color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;border:0;background:transparent}button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{opacity:.5;cursor:default}h1,h2,p{margin:0}h1,h2{font-family:"Songti TC","Noto Serif TC",serif;font-weight:600}p{line-height:1.9}button{touch-action:manipulation}#app:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.title-screen,.story-screen,.ending-screen{position:relative;isolation:isolate;min-height:100svh;overflow:hidden}
.backdrop{position:absolute;inset:0;z-index:-3;background:#12272a;pointer-events:none}.backdrop img{width:100%;height:100%;object-fit:cover;display:block;object-position:center}.shade{position:absolute;inset:0;background:linear-gradient(180deg,#09151aad,transparent 24%,transparent 49%,#09151abd)}.topbar{position:absolute;left:0;right:0;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 40px;color:#e8e2d0;font-size:.78rem;letter-spacing:.09em;text-shadow:0 1px 8px #000}.menu-toggle{width:44px;height:44px;display:grid;align-content:center;justify-content:center;gap:6px;background:#0c1b2266;border-radius:50%}.menu-toggle span{display:block;width:18px;height:1px;background:#e7dfca}.menu-toggle:hover{background:#243b3bcc}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#182921;padding:16px 27px;font-weight:650;font-size:.94rem;min-height:52px;transition:background .16s}.primary:hover{background:#f3cd86}.text-button{padding:15px 18px;color:#d2d8cb;font-size:.86rem;min-height:48px}.text-button:hover{color:var(--gold)}
.title-screen .shade{background:linear-gradient(90deg,#06131cee,#07141bd9 27%,#08182144 70%,#06131c1a),linear-gradient(0deg,#07161aaa,transparent 70%)}.title-copy{padding:17vh 6vw 65px;width:62%;position:relative;z-index:1}.kicker{color:#d2cbb2;font-size:.78rem;letter-spacing:.13em}.title-copy h1{font-size:clamp(5rem,8vw,8.5rem);line-height:1.13;letter-spacing:.08em;margin:25px 0 19px;text-shadow:4px 5px #0a181d}.title-copy h1 span{display:block;color:var(--gold);padding-left:1em}.english-title{font-family:Georgia,serif;font-size:.82rem;letter-spacing:.32em;margin:18px 0 32px}.title-description{color:#e0dfd0;font-size:1rem;margin-bottom:30px}.title-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.title-note{font-size:.68rem;color:#a8b6aa;margin-top:32px;line-height:1.85}
.story-screen{display:flex;flex-direction:column;justify-content:flex-end;padding:150px 5vw 38px;min-height:max(100svh,750px)}.story-screen .shade{background:linear-gradient(180deg,#06131cba,transparent 25%),linear-gradient(0deg,#07161c 0%,#07161c77 36%,transparent 65%)}.with-character .shade{background:linear-gradient(90deg,#07182066,transparent 75%),linear-gradient(0deg,#091820,transparent 78%)}.character{position:absolute;z-index:-1;right:8%;top:75px;width:clamp(360px,42vw,570px);aspect-ratio:1;background-image:url("assets/noir/cast.png");background-size:400% 400%;background-position:var(--portrait-x) var(--portrait-y);background-repeat:no-repeat;mask-image:linear-gradient(0deg,transparent,black 24%,black 96%,transparent);animation:character-in .35s ease-out both}.speech{position:relative;width:min(100%,1010px);margin:0 auto;background:linear-gradient(100deg,#10232cf5,#10232cec);border-top:1px solid #b8ae8266;padding:25px 32px 21px;box-shadow:0 15px 55px #010b174d;animation:speech-in .22s ease-out}.speaker-line{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:15px}.speaker-line>span{font-size:1.03rem;font-weight:600;color:var(--gold)}.speaker-line small{color:#98aca3;font-size:.7rem;letter-spacing:.06em}.dialogue{font-size:1.13rem;line-height:1.95;letter-spacing:.025em;max-width:900px;min-height:2.1em}.continue-row{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:10px;min-height:50px}.continue-button{padding:12px 0 12px 25px;min-width:115px;font-size:.87rem;color:#ebd198;display:flex;align-items:center;justify-content:space-between;gap:24px}.continue-button:hover{color:#fff1c8}.continue-button span{font-size:1.25rem;transition:transform .2s}.continue-button:hover span{transform:translateX(5px)}.first-hint{font-size:.71rem;color:#a1b2a6;margin-right:auto}.touch-hint{display:none}.choices{display:grid;gap:9px;margin-top:23px}.choice{display:flex;align-items:center;gap:17px;text-align:left;min-height:51px;padding:12px 17px;border:1px solid #6980778c;background:#1d353966;font-size:.95rem;line-height:1.6;transition:background .16s,border-color .16s}.choice:hover{background:#364739;border-color:var(--gold)}.choice-key{font-family:Georgia,serif;font-size:.76rem;color:#bdad82;padding-right:15px;border-right:1px solid #61746b}.quiet-choice{border-color:transparent;background:transparent;color:#becbbf}.quiet-choice .choice-key{color:#8caa9a}.quiet-choice:hover{background:#20342e99;border-color:#61776a}.conversation-fact{display:grid;grid-template-columns:1fr auto;gap:6px 20px;background:#dcd4be;color:#233c35;padding:13px 17px;border-left:3px solid #b49251;margin-top:18px}.conversation-fact small{font-size:.68rem;color:#596659;grid-column:1}.conversation-fact strong{font-size:.98rem;font-weight:550;grid-column:1}.conversation-fact>span{font-size:.73rem;align-self:end;grid-column:2;grid-row:1/3;line-height:1.6;text-align:right}.prize-reveal{position:absolute;top:28%;left:8%;right:8%;text-align:center;animation:prize-in 1s ease-out}.prize-reveal span{display:block;font-size:1rem;color:#e3c98d;letter-spacing:.3em;margin-bottom:15px}.prize-reveal strong{font-family:Georgia,serif;font-size:clamp(3rem,8vw,7.5rem);font-weight:400;color:#f0cb7d;text-shadow:0 4px 40px #111}.prize-scene .shade{background:#071923a3}
.ending-screen .shade{background:linear-gradient(90deg,#07151bf2 0%,#07151bdf 38%,#07151b22 100%),linear-gradient(0deg,#07151b88,transparent)}.ending-copy{width:min(850px,70%);padding:125px 4vw 70px 7vw}.ending-copy h1{font-size:clamp(2.9rem,4.2vw,4.8rem);line-height:1.35;color:#f2d6a1;margin:23px 0}.ending-line{font-size:1.12rem;color:#dfdcc8;margin-bottom:25px}.ending-body{font-size:1rem;line-height:2;color:#c7d0c5;margin:15px 0}.ending-money{margin:30px 0 25px;padding-top:20px;border-top:1px solid #78857966}.ending-money small{display:block;color:#a1b5a7;font-size:.74rem}.ending-money strong{display:block;font-family:Georgia,serif;font-size:1.8rem;font-weight:400;color:var(--gold);margin-top:10px}.ending-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ending-disclaimer{font-size:.65rem;color:#9bac9f;margin-top:27px}.wanted-ending .ending-copy h1{color:#d4b89b}
dialog{color:var(--ink);background:#13262c;border:1px solid #728074;width:min(480px,calc(100% - 32px));max-height:85svh;padding:29px;box-shadow:0 22px 80px #030a12;overflow:auto}dialog::backdrop{background:#061019ce;backdrop-filter:blur(5px)}dialog h2{font-size:1.75rem;line-height:1.5;color:#e5cc95;margin:2px 30px 20px 0}dialog p{font-size:.9rem;color:#d0d6ca;line-height:1.9}.close-button{position:absolute;right:15px;top:15px;font-size:1.5rem;width:40px;height:40px;color:#adc0b2}.modal-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:23px}.modal-actions .primary{flex-grow:1}.menu-instructions{margin-top:20px;font-size:.73rem;color:#a4b8aa}.decision-review{list-style:none;margin:0;padding:0}.decision-review li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #51685966;padding:12px 0;font-size:.85rem}.decision-review strong{font-weight:400;color:#e2c995}.review-reason{margin-top:22px!important;font-size:.83rem!important}
@keyframes character-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}@keyframes speech-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes prize-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@media(min-width:1600px){.story-screen{padding-bottom:6vh}.character{right:15%;top:12vh;width:600px}.speech{width:min(1100px,85vw);padding:30px 40px}.dialogue{font-size:1.25rem}.choice{font-size:1rem;min-height:55px}}
@media(max-width:900px){.title-copy{width:80%;padding-top:17vh}.title-copy h1{font-size:6rem}.topbar{padding:18px 25px}.story-screen{padding:135px 25px 25px}.character{right:3%;top:100px;width:450px}.speech{padding:23px 25px}.dialogue{font-size:1.05rem}.ending-copy{width:85%;padding:120px 45px 55px}.ending-copy h1{font-size:3.5rem}}
@media(max-width:600px){
:root{font-size:16px}.topbar{padding:16px 19px;gap:12px;font-size:.64rem;letter-spacing:.03em;align-items:center}.topbar>span{max-width:calc(100% - 48px);line-height:1.7}.menu-toggle{width:38px;height:38px}.backdrop img{object-position:52%}.title-screen{min-height:max(100svh,720px)}.title-screen .backdrop img{object-position:57%}.title-screen .shade{background:linear-gradient(0deg,#06141a 0%,#06141ac9 36%,#06141a22 100%),linear-gradient(90deg,#07151a99,transparent)}.title-copy{width:100%;padding:150px 28px 40px}.kicker{font-size:.69rem;letter-spacing:.08em}.title-copy h1{font-size:4.8rem;line-height:1.14;margin:25px 0 18px}.title-copy h1 span{padding-left:.8em}.english-title{font-size:.68rem;letter-spacing:.26em;margin-bottom:25px}.title-description{font-size:.89rem;max-width:265px;margin-bottom:25px}.title-actions{display:grid;gap:10px;max-width:300px}.title-actions .text-button{text-align:left;padding-left:0}.title-note{font-size:.63rem;margin-top:24px}.primary{font-size:.87rem;padding:14px 21px;min-height:50px}
.story-screen{min-height:100svh;padding:360px 14px 18px;justify-content:flex-end}.character{width:285px;right:calc(50% - 142px);top:79px;mask-image:linear-gradient(0deg,transparent,black 24%,black 94%,transparent)}.story-screen .shade{background:linear-gradient(0deg,#081920 0%,#081920aa 43%,#0819201a 80%),linear-gradient(180deg,#06151b99,transparent 28%)}.speech{width:100%;padding:19px 20px 13px;box-shadow:0 12px 40px #010b1733;background:#10252ef5}.speaker-line{margin-bottom:12px;gap:10px}.speaker-line>span{font-size:.94rem}.speaker-line small{font-size:.59rem;letter-spacing:0;max-width:175px;text-align:right;line-height:1.5}.dialogue{font-size:1rem;line-height:1.9;letter-spacing:0}.continue-row{margin-top:10px;min-height:45px;gap:8px}.continue-button{font-size:.79rem;padding:10px 0 10px 15px;gap:20px;min-width:92px}.first-hint{font-size:.61rem;line-height:1.6}.touch-hint{display:inline}.desktop-hint{display:none}.choices{margin-top:18px;gap:8px}.choice{font-size:.86rem;line-height:1.7;min-height:50px;padding:11px 13px;gap:10px}.choice-key{display:none}.quiet-choice{font-size:.79rem}.conversation-fact{grid-template-columns:1fr;gap:5px;padding:12px 13px;margin-top:16px}.conversation-fact small{font-size:.63rem}.conversation-fact strong{font-size:.88rem}.conversation-fact>span{grid-column:1;grid-row:auto;text-align:left;font-size:.65rem}.wide-shot{padding-top:340px}.wide-shot .backdrop img{object-position:48%}.prize-reveal{top:24%;left:14px;right:14px}.prize-reveal strong{font-size:clamp(2.6rem,11vw,3.5rem)}.prize-reveal span{font-size:.76rem;margin-bottom:13px}.prize-scene{padding-top:380px}
.ending-copy{width:100%;padding:115px 27px 50px}.ending-screen .shade{background:linear-gradient(0deg,#081820 0%,#081820e6 65%,#08182044)}.ending-copy h1{font-size:2.65rem;margin-top:20px;line-height:1.4}.ending-line{font-size:.98rem;line-height:1.8;margin-bottom:22px}.ending-body{font-size:.92rem;line-height:2}.ending-money{margin:24px 0;padding-top:17px}.ending-money strong{font-size:1.65rem}.ending-actions{display:grid;gap:5px}.ending-actions .text-button{text-align:center}.ending-disclaimer{font-size:.61rem;line-height:1.8;margin-top:20px}dialog{padding:24px 22px}dialog h2{font-size:1.55rem}.modal-actions{gap:5px}.modal-actions button{font-size:.83rem}.menu-description{font-size:.84rem}
}
@media(max-width:360px){.story-screen{padding-top:315px;padding-left:10px;padding-right:10px}.character{width:255px;right:calc(50% - 127px)}.speech{padding:17px 17px 12px}.dialogue{font-size:.95rem}.topbar{font-size:.59rem}.title-copy h1{font-size:4.4rem}.title-copy{padding-left:24px}.speaker-line small{max-width:155px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


.character{mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent),linear-gradient(0deg,transparent,black 25%,black 94%,transparent);mask-composite:intersect}
@media(max-width:600px){
  .ending-screen .backdrop img{height:420px;object-position:75% 35%}
  .ending-screen .shade{background:linear-gradient(180deg,#08182011 0,#08182033 180px,#081820 420px)}
  .ending-copy{padding-top:300px}
  .ending-copy h1{text-wrap:balance}
}

/* Private arithmetic stays secondary to the coworker’s dialogue. */
.inner-thought{margin-top:12px;padding-left:12px;border-left:2px solid #b99b63;color:#c6b897;font-size:.8rem;line-height:1.75;max-width:780px}

.player-character{background-image:url("assets/story/protagonist.png");background-size:100% 100%;background-position:center}
.draw-broadcast{margin:0 0 18px;padding-bottom:18px;border-bottom:1px solid #b8ae8244}.draw-broadcast small{font-size:.7rem;color:#b3bfb7}.draw-broadcast>div{display:flex;gap:12px;margin-top:10px}.draw-broadcast span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ccb578;border-radius:50%;font:1.15rem Georgia,serif;color:#ead39d}.draw-broadcast .pending{opacity:.3;border-style:dashed}.draw-broadcast .revealed{animation:speech-in .3s ease-out}.prize-scene .character{right:2%;opacity:.8}.prize-scene .prize-reveal{top:19%;left:5%;right:47%;z-index:1}.prize-scene .prize-reveal strong{font-size:clamp(2.5rem,5vw,5rem)}
@media(max-width:600px){.draw-broadcast>div{gap:9px}.draw-broadcast span{width:34px;height:34px;font-size:1rem}.prize-scene .character{right:calc(50% - 142px)}.prize-scene .prize-reveal{top:320px;left:14px;right:14px}.prize-scene{padding-top:465px}.prize-scene .prize-reveal strong{font-size:2.6rem}}

/* Mark Six inspired paper ticket: readable print, perforations and numbered choices. */
.title-screen .shade{background:linear-gradient(90deg,#061a14a8,#071b1433 52%,transparent),linear-gradient(0deg,#071b1499,transparent 50%)}
.speech{color:#203b32;background:radial-gradient(ellipse at 10% 0%,#fffbed99,transparent 70%),repeating-linear-gradient(0deg,#78634506 0 1px,transparent 1px 4px),#eee7d3;border:1px solid #c2a46c;border-radius:12px;box-shadow:0 0 0 4px #143b32,0 0 0 5px #c2a46c77,0 18px 48px #0008;padding:25px 32px 21px}
.speech:before,.speech:after{content:"";position:absolute;top:19px;bottom:19px;width:6px;background:radial-gradient(circle,#173c32 2px,transparent 2.5px) center top/6px 15px repeat-y;opacity:.24;pointer-events:none}.speech:before{left:8px}.speech:after{right:8px}
.speaker-line{padding-bottom:12px;border-bottom:1px dashed #8f9c7d;margin-bottom:14px}.speaker-line>span{color:#205542;font-weight:700;letter-spacing:.08em}.speaker-line>span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:#a84838;box-shadow:13px 0 #347858,26px 0 #365f83;margin-right:38px}.speaker-line small{color:#5e7064}
.dialogue{color:#263c32}.inner-thought{color:#6c6044;border-color:#ae9057}.first-hint{color:#667267}.continue-button{color:#255e47;font-weight:600}.continue-button:hover{color:#913e30}
.choice{color:#254b3a;background:#fffdf36e;border:1px solid #a0af9399;border-radius:7px;gap:14px;box-shadow:0 2px 0 #254b3a0b}.choice:hover{background:#fffdf5;border-color:#a88b50;box-shadow:0 2px 7px #80613722}.choice-key{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;padding:0;border:3px solid #ac4c3e;border-radius:50%;background:#fff9e8;color:#73392e;font-size:.8rem;box-shadow:1px 2px 0 #0002}.choice:nth-child(2) .choice-key{border-color:#367958;color:#255840}.choice:nth-child(3) .choice-key{border-color:#456b8b;color:#344f67}.quiet-choice{background:transparent;border-color:transparent;color:#5a6e5e}.quiet-choice:hover{background:#d7dfca88;border-color:#9cab89}
.conversation-fact{background:#dae1cd;color:#2c4c3b;border-color:#3c7455}.conversation-fact small{color:#536a59}.conversation-fact>span{color:#4b6252}.draw-broadcast{border-color:#85997888}.draw-broadcast small{color:#5f7061}.draw-broadcast span{color:#234e3c;border-color:#477e59;background:#fff9e5}
@media(max-width:600px){.speech{padding:20px 22px 14px;border-radius:9px}.speaker-line>span:before{width:7px;height:7px;box-shadow:10px 0 #347858,20px 0 #365f83;margin-right:28px}.choice{gap:10px;padding:10px 12px}.choice-key{display:grid;flex-basis:25px;width:25px;height:25px;border-width:2px;font-size:.75rem}.title-screen .backdrop img{object-position:68% center}.title-screen .shade{background:linear-gradient(90deg,#061a14e0,#061a1450),linear-gradient(0deg,#061a14ed,transparent 70%)}.title-copy{padding-top:13vh}.speaker-line small{max-width:155px}}
