@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{color-scheme:dark;--bg:#161c19;--cream:#f3ead8;--muted:#aeb3a7;--gold:#dcbb79}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 25%,#293329 0,transparent 50%),var(--bg);color:var(--cream);font-family:'DM Sans',sans-serif}header,main,footer{max-width:1140px;margin:auto}header{padding:30px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff18}.brand{color:var(--cream);text-decoration:none;display:flex;gap:12px;font-size:26px;align-items:center}.brand span,.edition{font-size:10px;letter-spacing:2px}.edition{color:var(--muted)}main{padding:70px 30px 30px;display:grid;grid-template-columns:1fr 420px;gap:52px 80px}.intro{padding:12px 0}.eyebrow,label{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:600}h1{font:68px/1.04 'Libre Caslon Display',Georgia,serif;font-weight:400;margin:23px 0}p{color:var(--muted);font-size:15px;line-height:1.8}.intro>p{max-width:420px}.note{display:flex;gap:17px;padding:24px 0 32px;font-size:13px;color:var(--muted);line-height:1.8}.note>span{color:var(--gold);font-size:25px}.note strong{color:var(--cream);font-weight:500}label{display:block;margin:0 0 12px}.teamrow{display:flex;gap:10px}button,select{font:inherit;border-radius:8px;border:1px solid #ffffff29;padding:13px 18px;background:#ffffff08;color:var(--cream)}button{cursor:pointer;transition:background .15s,transform .15s}button:hover:enabled{background:#ffffff18;transform:translateY(-1px)}button:disabled{opacity:.35;cursor:default}button:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}select{min-width:150px;background:#242c25}.teamrow button{font-size:12px;color:var(--gold)}.small{font-size:11px;line-height:1.7}.phone{background:linear-gradient(140deg,#f1e5cc,#d8c8a9);color:#383c32;padding:26px 30px 20px;border-radius:30px;box-shadow:0 25px 70px #0005,inset 0 2px 1px #fff8;align-self:start;transform:rotate(1deg)}.phone-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px;margin:0 3px 21px}#lamp{color:#587346}.display{background:#29362e;padding:20px;text-align:center;border:4px solid #c5b99e;border-radius:12px;color:#dedec2;box-shadow:inset 0 3px 8px #0006}#status{font-size:9px;letter-spacing:2px}#digits{font:36px monospace;letter-spacing:8px;padding:12px 0 0}.display p{font-size:11px;color:#b4bba4;margin:8px 0 0}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:23px 7px}.keypad button{background:#f5ecd9;color:#303b30;border:1px solid #c4b69a;box-shadow:0 4px 0 #b7a888;font-size:24px;border-radius:12px;padding:8px 0}.keypad button small{display:block;font-size:7px;letter-spacing:2px;min-height:10px}.keypad button:hover:enabled{background:#fff7e5}.actions{display:flex;gap:9px;margin:22px 7px 8px}.actions button{flex:1;font-size:12px;padding:13px 4px;background:#354c3c;border:0;color:#fff4db}.actions #hangup{background:#754a40}.backspace{display:block;margin:auto;color:#60624f;font-size:10px;border:0;padding:8px;background:transparent}.phone-foot{text-align:center;font-size:6px;letter-spacing:1px;border-top:1px solid #a6977a66;margin-top:13px;padding-top:15px}.conversation{grid-column:1/-1;border:1px solid #ffffff20;border-radius:18px;padding:30px 34px;background:#ffffff03}.sectiontop{display:flex;justify-content:space-between;align-items:center;gap:16px}h2{font:32px 'Libre Caslon Display',Georgia,serif;margin:8px 0 0;font-weight:400}.pill{font-size:10px;color:var(--gold);border:1px solid #dcbb7933;border-radius:30px;padding:8px 13px;white-space:nowrap}#script{white-space:pre-wrap;max-width:780px}audio{width:100%;margin:15px 0}#replay,#choices button{font-size:12px;margin:8px 8px 0 0}footer{padding:0 30px 30px;color:#929c90;font-size:10px;display:flex;justify-content:space-between}@media(max-width:800px){header{padding:22px}.edition{display:none}main{grid-template-columns:1fr;gap:32px;padding:38px 22px}h1{font-size:53px}.intro{padding:0}.phone{width:100%;max-width:410px;justify-self:center;transform:none}.conversation{padding:24px}.sectiontop{align-items:start;flex-direction:column}footer{gap:20px;font-size:9px}.note{padding-bottom:20px}}

dialog{border:1px solid #c8b796;border-radius:20px;background:#faf5eb;color:#28382f;width:min(440px,90vw);padding:28px;box-sizing:border-box}dialog::backdrop{background:#172820b8}dialog input{box-sizing:border-box;width:100%;padding:14px;font:inherit;border:1px solid #a89e88;border-radius:8px;margin-top:8px}#lockerror{color:#9b302e;min-height:1.5em}#lockteam{margin-top:10px}.quest-warning{margin-top:22px}.quest-warning strong{line-height:1.5}

[hidden]{display:none!important}.landing{max-width:620px;margin:auto;padding:36px 22px}.landing h1{font-size:clamp(40px,10vw,64px)}.modecards{display:grid;gap:14px;margin-top:26px}.modecards button{text-align:left;padding:22px;min-height:100px;border-color:#dcbb7966}.modecards strong{display:block;font-size:21px;color:var(--gold);margin-bottom:8px}.modecards span{display:block;line-height:1.6;font-size:15px;color:var(--cream)}.changemode,#captionlookup{grid-column:1/-1}.changemode{justify-self:start}#captionlookup input{width:100%;font:20px 'DM Sans',sans-serif;background:#242c25;color:var(--cream);padding:14px;border:1px solid #ffffff45;border-radius:8px}#lookupform button{width:100%;margin-top:12px}main.caption-mode{display:flex;flex-direction:column;max-width:620px}main.caption-mode .phone{display:none}main.caption-mode .intro h1,main.caption-mode .intro>p,main.caption-mode .intro>.eyebrow,main.caption-mode .intro>.note:not(.quest-warning){display:none}main.caption-mode .intro{order:2}main.caption-mode .conversation{order:3}button,select,input{touch-action:manipulation}input{font-size:16px}dialog input{background:#fff;color:#28382f}dialog label{color:#65502c}@media(max-width:800px){main{padding:22px 18px;gap:24px}h1{font-size:40px}.teamrow{flex-wrap:wrap}.teamrow select,.teamrow button{flex:1;min-height:48px}.intro>p{font-size:16px}.phone{padding:22px}.keypad button{min-height:54px}.conversation{padding:22px}#script{font-size:17px;line-height:1.8}button{min-height:46px}.small{font-size:13px}.note{font-size:14px}footer{flex-wrap:wrap}}

/* Antique wall telephone */
.phone{position:relative;background:repeating-linear-gradient(92deg,#ffffff03 0px,#ffffff00 3px,#160b0640 5px,#ffffff00 9px),linear-gradient(95deg,#321b10,#764628 19%,#58301a 48%,#855331 81%,#321b10);border:7px solid #351b0f;border-radius:23px;box-shadow:0 22px 45px #0008,inset 0 0 0 2px #ae7944,inset 0 0 0 8px #261509;color:#e8cb87;transform:none;padding:20px 24px 24px}.phone:before,.phone:after{content:'+';position:absolute;color:#d6b96a;border-radius:50%;background:radial-gradient(circle at 35% 25%,#f4df9e,#967135);width:12px;height:12px;text-align:center;line-height:11px;font-size:11px;top:12px;text-shadow:0 1px #000}.phone:before{left:12px}.phone:after{right:12px}.phone-top{padding:12px 8px;border:1px solid #b89554;border-radius:5px;background:linear-gradient(110deg,#604619,#c5a362,#765521);color:#211b10;font-weight:700;margin:10px 0 16px;letter-spacing:1.5px}.display{background:linear-gradient(120deg,#f2e2ba,#c9b181);color:#33291a;border:5px ridge #b38a45;box-shadow:inset 0 2px 5px #4b2a1344}.display p{color:#5e4d31}#status{color:#604b2a}.keypad{padding:17px 14px;background:radial-gradient(ellipse,#dcc17c,#947037);border:4px ridge #b89a5d;border-radius:21px;margin:19px 0}.keypad button{border-radius:50%;min-height:56px;aspect-ratio:1.18;background:radial-gradient(circle at 35% 25%,#fff5d9,#cfb98a);color:#2e2417;border:3px solid #46331c;box-shadow:0 3px 0 #382515,0 0 0 1px #e6cf90;font-family:Georgia,serif;font-size:25px}.keypad button small{font-family:'DM Sans',sans-serif;color:#624c2f}.phone .actions button{background:linear-gradient(#302e29,#0d0e0c);border:1px solid #9d7c42;color:#ead7a4}.phone .actions #hangup{background:linear-gradient(#593b2c,#322017)}.backspace{color:#ecd5a0}.phone-foot{border-color:#b58a4b;color:#e9c987;font-size:7px;line-height:1.8}.conversation{background:linear-gradient(110deg,#f5e7c9,#dfcda6);color:#342a1c;border:2px solid #ab8c52;box-shadow:0 10px 28px #0004}.conversation p{color:#514330}.conversation .eyebrow{color:#80602c}.conversation .pill{color:#6b4a23;border-color:#9d7b3c}.conversation button{background:#49321d;color:#f5e7c9}.handset{display:block;width:100%;padding:9px 0 0;border:0;background:transparent;perspective:650px;min-height:130px;color:#eed8a7}.handset:hover:enabled{background:transparent;transform:none}.receiver{position:relative;display:block;width:100%;height:94px;transform-origin:50% 70%;transform:rotateX(0deg);transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .55s;filter:drop-shadow(0 7px 3px #000a)}.handset[aria-pressed=true] .receiver{transform:translateY(-13px) rotateX(-27deg) rotateZ(-8deg) scale(1.04);filter:drop-shadow(4px 23px 8px #0009)}.grip{position:absolute;left:17%;right:17%;top:17px;height:33px;border-radius:40% 40% 15% 15%;background:linear-gradient(#59574f,#171916 34%,#070907 78%,#34352e);border-top:2px solid #8b8878}.earpiece,.mouthpiece{position:absolute;top:29px;width:26%;height:57px;border-radius:37% 37% 23% 23%;background:linear-gradient(100deg,#080a08,#35372e 40%,#0b0e0b 80%);border-bottom:7px ridge #b29454;box-shadow:inset 0 2px 3px #969788}.earpiece{left:0;transform:rotate(15deg)}.mouthpiece{right:0;transform:rotate(-15deg)}.handset-label{display:block;font-size:8px;letter-spacing:1.2px;line-height:1.6;margin-top:6px}.phone .keypad button:disabled{opacity:.5}@media(max-width:800px){.phone{max-width:390px;padding:19px}.keypad{gap:12px;padding:16px 13px}.handset{min-height:125px}.keypad button{min-height:54px}}@media(prefers-reduced-motion:reduce){.receiver{transition:none}}
