@import url('https://fonts.googleapis.com/css2?family=IM+Fell+English:ital@0;1&family=IM+Fell+English+SC&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#060606;--deep:#000000;--panel:#141111;--line:#342a27;--gold:#ed7844;--cream:#f9f6f2;--muted:#b0a7a3;--paper:#111010;--paper-ink:#f3eeea;--red:#e17972;--serif:'IM Fell English',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:dark;font-family:var(--sans);color:var(--cream);background:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}input:focus{outline:2px solid var(--gold);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}svg{display:block}svg.icon{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.grain{pointer-events:none;position:fixed;inset:0;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:600;color:var(--gold);line-height:1.6}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.6}.center{text-align:center}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:25px;letter-spacing:.09em}.brand svg{color:var(--gold);width:27px;height:31px}.topbar{position:relative;z-index:2;max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 42px;border-bottom:1px solid #ed78441f}.toplinks{display:flex;align-items:center;gap:26px;font-size:11px;letter-spacing:.08em}.live-dot{width:5px;height:5px;display:inline-block;background:#ed7844;border-radius:100%;box-shadow:0 0 8px #ed784466}.edition{color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.demo-strip{padding:9px 18px;text-align:center;background:#ed784412;border-bottom:1px solid #ed784429;color:#cbbdb5;font-size:11px;letter-spacing:.035em}.demo-strip b{color:var(--cream)}.demo-strip a{border-bottom:1px solid #ed784470;margin-left:12px}.hero{position:relative;min-height:calc(100svh - 122px);overflow:hidden}.hero-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .9fr;gap:100px;align-items:center;padding:82px 36px 170px}.hero-copy{max-width:520px}.hero-copy h1{font-size:clamp(64px,6.7vw,94px);line-height:.98;letter-spacing:-.035em;margin:22px 0 25px}.hero-copy h1 em{color:var(--gold);font-weight:400}.hero-copy>.description{font-size:14px;line-height:1.85;color:#b9afaa;max-width:345px}.hero-rule{width:55px;height:1px;background:var(--gold);margin:31px 0 22px}.hero-notes{display:flex;gap:26px;font-size:11px;color:#bcb2ac}.hero-notes strong{font-family:var(--serif);font-size:25px;font-weight:500;color:var(--cream);display:block;margin-bottom:4px}.join-card{position:relative;border:1px solid #9b5c424d;background:linear-gradient(145deg,#211714dd,#100c0bee);padding:36px;box-shadow:0 16px 80px #0003;max-width:420px;width:100%}.join-card:before,.join-card:after{content:'';position:absolute;width:9px;height:9px;border-color:var(--gold);border-style:solid;pointer-events:none}.join-card:before{left:-1px;top:-1px;border-width:1px 0 0 1px}.join-card:after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}.seal{width:55px;height:55px;margin-bottom:24px;color:var(--gold);display:flex;align-items:center;justify-content:center;border:1px solid #ed78444d;border-radius:50%;background:#ed784408}.seal svg{width:28px;height:28px}.join-card h2{font-size:35px;margin:6px 0 11px}.join-card p{font-size:12px;color:var(--muted);line-height:1.75}.field-label{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:700;color:#ddd0c7;margin:25px 0 10px}.text-field{width:100%;padding:15px 16px;background:#080707;border:1px solid #54403a;color:var(--cream);border-radius:2px;font-size:15px}.text-field::placeholder{color:#8a7870}.btn{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--gold);background:var(--gold);color:#130a07;padding:15px 22px;font-size:12px;font-weight:700;letter-spacing:.03em;min-height:46px;border-radius:2px;transition:background .2s,transform .2s}.btn:hover:not(:disabled){background:#ff985f;border-color:#ff985f;transform:translateY(-1px)}.btn.full{width:100%;margin-top:16px}.btn.outline{background:transparent;color:var(--cream);border-color:#69514a}.btn.outline:hover:not(:disabled){background:#ed784414;border-color:var(--gold)}.btn.danger{color:#e7aca5;border-color:#95635c;background:transparent}.text-btn{border:0;background:none;color:var(--muted);padding:8px;font-size:12px;text-decoration:underline;text-underline-offset:4px}.form-error{font-size:12px!important;color:#e1a29a!important;margin-top:13px!important;min-height:0}.fine-print{font-size:10px!important;text-align:center;margin-top:19px!important;color:#a7978f!important;display:flex;justify-content:center;gap:7px;align-items:center}.fine-print .icon{width:12px;height:12px}.landscape{position:absolute;bottom:0;left:0;width:100%;height:280px;pointer-events:none;opacity:.85}.moon-glow{position:absolute;top:8%;right:38%;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#ec653313,transparent 70%);pointer-events:none}.bottom-note{position:absolute;bottom:24px;left:0;width:100%;text-align:center;font-size:9px;letter-spacing:.2em;color:#9c8880;z-index:3;text-transform:uppercase}.ghost{animation:drift 7s ease-in-out infinite;transform-origin:center}.mist{animation:mist 20s ease-in-out infinite alternate}.loading{min-height:70vh;display:grid;place-content:center;justify-items:center;gap:24px;color:var(--muted);font-family:var(--serif);font-size:24px}.loading-ring{width:30px;height:30px;border:1px solid #ed784433;border-top-color:var(--gold);border-radius:50%;animation:spin 1.2s linear infinite}.app-main{max-width:620px;padding:30px 22px 70px;margin:auto}.player-bar{margin-bottom:24px}.player-name{font-size:13px}.player-name strong{font-weight:500;color:var(--cream)}.rank-chip{font-size:10px;border:1px solid #4b3731;padding:6px 9px;color:var(--muted);border-radius:2px}.progress{height:3px;background:#3a2822;position:relative;overflow:hidden;margin:12px 0}.progress span{display:block;height:100%;background:var(--gold);transition:width .6s ease}.stage-label{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.paper{position:relative;background:var(--paper);color:var(--paper-ink);padding:35px 32px 30px;box-shadow:0 16px 30px #0002;border-radius:2px 2px 5px 2px;background-image:radial-gradient(ellipse at 100% 0,#843d2520,transparent 60%),radial-gradient(ellipse at 0 100%,#52231936,transparent 65%)}.paper:after{content:'';position:absolute;inset:9px;border:1px solid #ae795d32;pointer-events:none}.paper .eyebrow{color:#ed8e60}.paper-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.clue-number{font-family:var(--serif);font-size:21px;color:#bc9b87}.paper h1{font-size:37px;line-height:1.05;letter-spacing:-.025em;margin:0 0 23px}.riddle{font-family:var(--serif);font-size:23px;line-height:1.47;white-space:pre-line;font-weight:500}.riddle.acrostic{font-size:21px;line-height:1.3}.paper-flourish{display:flex;align-items:center;justify-content:center;gap:12px;margin:25px auto 0;color:#be744e}.paper-flourish:before,.paper-flourish:after{content:'';width:45px;height:1px;background:#be744e50}.paper-flourish .icon{width:15px;height:15px}.answer-area{padding:25px 0 0}.answer-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.answer-label label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.code-input{width:100%;border:1px solid #86543e;background:#090706;color:var(--cream);padding:14px 18px;font:500 29px var(--sans);text-align:center;letter-spacing:.42em;border-radius:2px;text-transform:uppercase;min-height:66px;padding-left:calc(18px + .42em);caret-color:var(--gold)}.code-input::placeholder{color:#8b6e5b;font-size:22px}.code-input.invalid{border-color:var(--red);animation:shake .3s}.code-help{font-size:10px;color:var(--muted);text-align:center;min-height:16px;margin:10px 0 22px}.code-help.error{color:#e0a69e}.reveal-btn{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:1px solid #49352c;padding:16px;color:#c9bab0;font-size:12px;border-radius:2px}.reveal-btn span{display:flex;align-items:center;gap:9px}.reveal-btn small{color:var(--gold);font-size:10px}.revealed{padding:19px;border:1px solid #ed78443f;background:#ed784409;margin-top:16px;font-size:13px;line-height:1.7}.revealed .eyebrow{margin-bottom:8px}.utility-note{text-align:center;font-size:10px;color:#a08a7d;margin-top:21px;line-height:1.7}.tool{margin-top:25px;border-top:1px solid #76534455;padding-top:20px;position:relative;z-index:1}.tool-label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#dbb39b}.tool p{font-size:11px;line-height:1.6;color:#bca798;margin:8px 0 12px}.scratch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.scratch-grid label{font-size:10px;letter-spacing:.08em;text-align:center}.scratch-grid input{width:100%;display:block;background:#9b624155;border:0;border-bottom:1px solid #a56544;color:#f3e6dc;font-size:13px;letter-spacing:.04em;padding:12px 0 9px;margin-top:5px;text-align:center;text-transform:uppercase;border-radius:0}.sigil-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:360px;margin:16px auto 3px}.digit{position:relative;aspect-ratio:65/110;border:1px solid #aa866d4f;background:#ded9d2;border-radius:3px}.segment{position:absolute;border:0;background:#bcb6a6;padding:0;transition:background .15s;min-width:0;min-height:0}.segment.on{background:#151312}.segment.a,.segment.g,.segment.d{height:8%;width:65%;left:17.5%;clip-path:polygon(12% 0,88% 0,100% 50%,88% 100%,12% 100%,0 50%)}.segment.a{top:7%}.segment.g{top:46%}.segment.d{top:85%}.segment.b,.segment.c,.segment.e,.segment.f{width:13%;height:35%;clip-path:polygon(50% 0,100% 13%,100% 87%,50% 100%,0 87%,0 13%)}.segment.b{right:8%;top:13%}.segment.c{right:8%;top:52%}.segment.f{left:8%;top:13%}.segment.e{left:8%;top:52%}.segment:focus-visible{background:#9f7840;outline:none}.tool-reset{background:none;border:0;font-size:10px;text-decoration:underline;text-underline-offset:3px;color:#caae9b;padding:9px 0}.key-image{display:block;width:100%;aspect-ratio:1;object-fit:contain;margin:18px 0 8px;border:1px solid #8d6850;cursor:zoom-in}.key-caption{text-align:center;font-size:10px;color:#bca28f}.lobby{max-width:530px;margin:auto;text-align:center;padding:65px 26px 150px;position:relative;z-index:2}.lobby .seal{margin:0 auto 25px;width:75px;height:75px}.lobby h1{font-size:53px;line-height:1.05;margin:15px 0 20px}.lobby>.description{font-size:13px;line-height:1.8;color:var(--muted)}.waiting-indicator{margin:28px auto;border:1px solid #65412d;background:#2a160c77;padding:16px;display:flex;justify-content:center;align-items:center;gap:10px;font-size:12px;max-width:340px}.pulse{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:pulse 2s infinite}.lobby-rules{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid var(--line);padding-top:25px;margin-top:34px;text-align:left}.lobby-rules h3{font-size:23px;margin-bottom:6px}.lobby-rules p{font-size:11px;line-height:1.7;color:var(--muted)}.demo-tools{margin-top:22px;padding:15px;border:1px dashed #96552e6b;background:#ed784406;font-size:11px;color:var(--muted)}.demo-tools summary{cursor:pointer;color:#e09b70;letter-spacing:.03em}.demo-tools .row{margin-top:13px}.demo-tools select{background:#110c0a;color:var(--cream);border:1px solid #67412c;padding:10px;border-radius:2px;width:100%;font-size:12px}.demo-tools .btn{padding:9px 12px;font-size:10px;min-height:36px}.paused-banner{padding:14px 18px;background:#342014;border:1px solid #a56b31;color:#f4c498;font-size:12px;line-height:1.5;margin-bottom:20px}.success-medallion{margin:0 auto 26px;width:100px;height:100px;border:1px solid #c2714155;border-radius:50%;display:grid;place-content:center;color:var(--gold);box-shadow:0 0 90px #f6874217}.success-medallion .icon{width:45px;height:45px}.finish-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.finish-stats strong{font:35px var(--serif);display:block;color:var(--gold);margin-bottom:6px}.finish-stats span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.admin-main{max-width:1200px;padding:35px 40px 70px;margin:auto}.page-heading h1{font-size:48px;line-height:1.1;margin:9px 0}.page-heading p{font-size:12px;color:var(--muted);margin-top:10px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.stat{padding:23px 26px;border:1px solid var(--line);background:#15100d}.stat strong{display:block;font:40px var(--serif);margin:9px 0 0}.stat .eyebrow{color:var(--muted);font-size:9px}.admin-controls{display:flex;align-items:center;gap:12px;margin-bottom:28px;flex-wrap:wrap}.admin-controls .btn{padding:12px 20px}.roster{border:1px solid var(--line);background:#100c0a}.roster-head{padding:20px 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.roster h2{font-size:26px}.roster-head p{font-size:10px;color:var(--muted)}.player-row{display:grid;grid-template-columns:35px 1fr 180px 75px;gap:18px;align-items:center;padding:18px 25px;border-bottom:1px solid #342a2777}.player-row:last-child{border:0}.player-row .position{font-family:var(--serif);font-size:24px;color:var(--gold)}.player-row .name{font-size:14px}.player-row .score{text-align:right;font-size:12px;color:var(--gold)}.player-row .small{font-size:10px;color:var(--muted);margin-top:4px}.empty{padding:48px;text-align:center;color:var(--muted);font-size:13px;line-height:1.8}.join-link{font-size:12px;color:var(--muted);padding:16px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.join-link code{background:#281a13;padding:6px 10px;font-size:11px;color:var(--cream)}.tv{min-height:100svh;position:relative;padding:32px 5vw 38px;overflow:hidden}.tv:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 0,#8b351622,transparent 65%)}.tv-header{display:flex;justify-content:space-between;align-items:center;position:relative}.tv-header .brand{font-size:28px}.tv-title{text-align:center;margin:24px 0 32px}.tv-title h1{font-size:clamp(45px,5vw,72px);letter-spacing:-.035em;line-height:1.1;margin:8px 0}.tv-title p{font-size:12px;color:var(--muted)}.tv-board{max-width:1120px;margin:auto;position:relative}.tv-row{display:grid;grid-template-columns:50px minmax(130px,210px) 1fr 75px;gap:20px;align-items:center;border-top:1px solid #98573540;padding:20px 12px}.tv-row:first-child{background:linear-gradient(90deg,#ed784414,transparent);border:1px solid #d9753e50;padding:24px 12px}.tv-rank{font:34px var(--serif);color:var(--gold);text-align:center}.tv-name{font-size:22px}.tv-name small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.tv-score{font-family:var(--serif);font-size:34px;text-align:right}.tv-score span{font-family:var(--sans);font-size:11px;color:var(--muted)}.grave-progress{display:grid;grid-template-columns:repeat(15,1fr);gap:7px;align-items:end;height:35px}.grave{height:31px;border:1px solid #77503d66;border-radius:12px 12px 2px 2px;background:#21160f;position:relative;transition:background .4s}.grave:after{content:'+';position:absolute;top:2px;left:0;right:0;text-align:center;font-family:var(--serif);color:#6b4833;font-size:18px}.grave.done{background:#df733b;border-color:#ed7844;box-shadow:0 0 12px #ed784415}.grave.done:after{color:#4f2918}.tv-footer{max-width:1120px;margin:26px auto 0;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.05em}.tv-tools{display:flex;gap:14px;align-items:center}.icon-btn{padding:9px;border:1px solid #71472e;background:transparent;color:var(--muted);border-radius:2px}.connection{position:fixed;bottom:12px;right:12px;font-size:10px;background:#4a2e28;color:#eac3b5;padding:10px 15px;border:1px solid #90634b;z-index:25}.hidden{display:none!important}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);padding:13px 20px;max-width:calc(100% - 32px);background:#f09b64;color:#180c07;z-index:100;box-shadow:0 8px 30px #0004;font-size:12px;opacity:0;transition:.25s;pointer-events:none;border-radius:3px}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{max-width:430px;width:calc(100% - 36px);border:1px solid #a26c47;background:#17100c;color:var(--cream);padding:30px;box-shadow:0 25px 150px #0008;border-radius:3px}dialog::backdrop{background:#070301d9;backdrop-filter:blur(5px)}dialog h2{font-size:34px;margin-bottom:14px}dialog p{font-size:13px;color:var(--muted);line-height:1.8}dialog .dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}dialog .dialog-actions .btn{padding:12px 18px}dialog.image-dialog{max-width:850px;background:#1c1611;padding:12px}dialog.image-dialog img{width:100%;display:block}dialog.image-dialog .text-btn{color:#f9f3ef;display:block;margin-left:auto}#transition{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;flex-direction:column;background:#060606f5;backdrop-filter:blur(10px);gap:24px}#transition.play{display:flex;animation:veil 1.2s both}#transition .seal{width:95px;height:95px;margin:0;animation:unlock 1.1s both}#transition .seal .icon{width:40px;height:40px}#transition h2{font-size:40px}#transition p{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 0 5px #ed784415}}@keyframes drift{50%{transform:translateY(-10px)}}@keyframes mist{to{transform:translateX(60px)}}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes unlock{0%{transform:scale(.75) rotate(-20deg);opacity:0}45%,100%{transform:scale(1) rotate(0);opacity:1}}@keyframes veil{0%{opacity:0}20%,80%{opacity:1}100%{opacity:0}}
@media(min-width:1500px){.hero-inner{padding-top:120px}.hero-copy h1{font-size:104px}.tv-row{padding-top:26px;padding-bottom:26px}}
@media(max-width:800px){.topbar{padding:20px 24px}.toplinks{gap:18px}.edition{display:none}.hero-inner{gap:40px;padding:62px 30px 160px}.hero-copy h1{font-size:66px}.join-card{padding:27px}.hero-notes{gap:20px}.admin-main{padding:30px 22px}.tv-row{grid-template-columns:35px 130px 1fr 60px;gap:12px}.tv-name{font-size:18px}.grave-progress{gap:4px}.tv-title{margin:20px 0}.tv{padding:24px 4vw}.tv-row{padding:17px 8px}}
@media(max-width:600px){.brand{font-size:22px}.topbar{padding:17px 21px}.toplinks{font-size:10px;gap:16px}.hero-inner{display:block;padding:41px 25px 150px;max-width:470px}.hero-copy h1{font-size:70px;line-height:.95;margin:17px 0 20px}.hero-copy>.description{font-size:13px;max-width:300px}.hero-rule{margin:22px 0 16px}.hero-notes{gap:30px}.hero-notes strong{font-size:23px}.hero-notes{font-size:10px}.join-card{margin-top:33px;max-width:none;padding:25px}.join-card .seal{display:none}.join-card h2{font-size:30px;margin-top:4px}.join-card .field-label{margin-top:22px}.join-card .eyebrow{font-size:9px}.hero .landscape{height:190px}.moon-glow{right:-30px;top:10px}.demo-strip{font-size:10px;padding:9px 12px;line-height:1.6}.demo-strip a{margin-left:7px}.app-main{padding:23px 18px 45px}.paper{padding:28px 25px}.paper h1{font-size:34px}.riddle{font-size:22px}.riddle.acrostic{font-size:20px}.lobby{padding-top:46px}.lobby h1{font-size:47px}.admin-stats{gap:8px}.stat{padding:16px 12px}.stat strong{font-size:29px}.stat .eyebrow{letter-spacing:.08em;font-size:8px}.page-heading h1{font-size:40px}.page-heading.row{align-items:flex-start}.page-heading .btn{padding:11px;font-size:10px}.player-row{grid-template-columns:25px 1fr 56px;padding:16px;gap:10px}.player-row>.progress{display:none}.roster-head{padding:18px 16px}.roster-head p{font-size:9px}.join-link code{font-size:10px;overflow-wrap:anywhere}.tv-title h1{font-size:45px}.tv-row{grid-template-columns:28px 100px 1fr 45px;gap:7px}.tv-name{font-size:14px}.tv-score{font-size:26px}.tv-score span{font-size:9px}.grave-progress{gap:2px;height:26px}.grave{height:23px;border-radius:6px 6px 1px 1px}.grave:after{font-size:13px}.tv-header .brand{font-size:21px}.tv-footer{font-size:9px;gap:15px}.tv-header .eyebrow{font-size:8px}.tv-tools .text-btn{font-size:10px}.tv-name small{font-size:8px}.tv-title p{font-size:10px}.tv-rank{font-size:25px}.tv-row:first-child{padding:20px 8px}.scratch-grid{gap:6px}.scratch-grid input{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep the painted strokes narrow, but give fingers a wider touch target. */
.segment{background:transparent!important;clip-path:none!important}.segment:before{content:'';position:absolute;background:#bcb6a6;transition:background .15s}.segment.on:before{background:#151312}.segment.a,.segment.g,.segment.d{height:18%;width:65%;left:17.5%}.segment.a{top:2%}.segment.g{top:41%}.segment.d{top:80%}.segment.a:before,.segment.g:before,.segment.d:before{width:100%;height:44%;left:0;top:28%;clip-path:polygon(12% 0,88% 0,100% 50%,88% 100%,12% 100%,0 50%)}.segment.b,.segment.c,.segment.e,.segment.f{width:29%;height:35%}.segment.b,.segment.c{right:0}.segment.e,.segment.f{left:0}.segment.b:before,.segment.c:before,.segment.e:before,.segment.f:before{width:45%;height:100%;left:27.5%;top:0;clip-path:polygon(50% 0,100% 13%,100% 87%,50% 100%,0 87%,0 13%)}.segment:focus-visible{outline:1px solid #da8c4d;outline-offset:1px;border-radius:3px}.brand{white-space:nowrap}
@media(max-width:600px){.toplinks>.row{display:none}.topbar{min-height:68px}.riddle{font-size:21px}}
.is-demo .tv{min-height:calc(100svh - 34px)}
@media(min-width:700px) and (max-height:800px){.tv{padding-top:22px;padding-bottom:22px}.tv-title{margin:16px 0 24px}.tv-title h1{font-size:54px}.tv-row{padding-top:14px;padding-bottom:14px}.tv-row:first-child{padding-top:18px;padding-bottom:18px}.tv-footer{margin-top:20px}}

/* Midnight / ember edition. Glow stays on headings; body copy stays crisp. */
:root{--display:'IM Fell English SC',Georgia,serif}
body{background:#060606;color:var(--cream)}
h1,h2,h3,.brand{font-family:var(--display);font-weight:400;text-shadow:0 0 22px #fff6e626,0 0 3px #fff8ed20}
.brand{letter-spacing:.06em}.brand svg{filter:drop-shadow(0 0 6px #ed784450)}
.hero-copy h1{font-family:var(--serif);font-weight:400;line-height:1.02}.hero-copy h1 em{color:#ff8b50;text-shadow:0 0 30px #e864293d}
.hero{background:radial-gradient(ellipse at 70% 25%,#441c0d20,transparent 55%)}
.join-card{background:linear-gradient(135deg,#1b1311f5,#090808);border-color:#74422f70;box-shadow:0 0 70px #c0491210,0 18px 70px #0008}
.join-card h2{color:#fff9f2}.join-card .eyebrow{color:#d89a7a}
.btn{box-shadow:0 0 22px #e3632520}.btn.outline{box-shadow:none}
.app-main{max-width:680px}.paper{background:radial-gradient(ellipse at 0 0,#6c2d161a,transparent 60%),linear-gradient(120deg,#151211,#0e0c0b);color:#f5f0eb;border:1px solid #743f2b66;box-shadow:0 14px 55px #0007,0 0 40px #b9470f08;padding:34px 30px 30px}
.paper:after{border-color:#9b67462e;inset:8px}.paper h1{font-size:38px;color:#fff8f1;line-height:1.13;margin-bottom:25px}.paper .eyebrow{color:#ed9b6e}
.riddle{font:400 23px/1.5 var(--serif);white-space:normal;text-shadow:0 0 12px #fff2e510}
.riddle .stanza{display:block}.riddle .stanza+.stanza{margin-top:1em}.riddle .verse{display:block;text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}.riddle.acrostic{font-size:23px;line-height:1.38}.riddle.acrostic .verse{text-wrap:pretty}
.paper-flourish{opacity:.8}.code-input{color:#fff9f2;text-shadow:0 0 12px #fff8ed35;box-shadow:inset 0 0 22px #ed784406}.code-input:focus{box-shadow:0 0 22px #ed78441c}
.sigil-grid{gap:10px}.digit{background:#d5d0c9;box-shadow:inset 0 1px 4px #0003}.segment:before{background:#b2aba2}.segment.on:before{background:#15100d}.scratch-grid input{background:#100c09;color:#fff2e8;font-size:15px}
.revealed{color:#e3d5ca}.tv-title h1{color:#fff8f2}.tv-name{color:#fff8f3;text-shadow:0 0 15px #fff1e720}.grave.done{box-shadow:0 0 15px #ff77242e}.success-medallion{box-shadow:0 0 80px #ff6a2229}.stat strong{color:#fff5ec;text-shadow:0 0 18px #fff2e520}
@media(max-width:600px){.app-main{padding:23px 13px 45px}.paper{padding:28px 20px 26px}.paper h1{font-size:34px;line-height:1.12}.riddle,.riddle.acrostic{font-size:22px}.riddle{line-height:1.45}.riddle.acrostic{line-height:1.35}.paper-head{gap:8px}.paper-head .eyebrow{font-size:9px;letter-spacing:.16em}.hero-copy h1{font-size:66px}.join-card{padding:26px}.brand{font-size:23px}.lobby h1{font-size:44px}}

/* TV invitation: decorations move; the high-contrast QR never does. */
.is-joining .grain{display:none}
.joining-screen{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;padding:26px 4.5vw 22px;background:radial-gradient(ellipse at 13% 43%,#3e190e42,transparent 44%),radial-gradient(ellipse at 79% 52%,#4c1d0e26,transparent 46%),#060606;display:flex;flex-direction:column}
.joining-header,.joining-content,.joining-footer{position:relative;z-index:2}
.joining-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:18px;border-bottom:1px solid #ed784424}
.joining-header .brand{font-size:clamp(21px,2vw,32px)}.joining-header .brand img{filter:drop-shadow(0 0 7px #ed784450)}
.joining-tools{display:flex;gap:24px;align-items:center;font-size:12px;color:#bdb2ab}.joining-tools a:hover{color:#ffa16c}.joining-tools .icon-btn{border-color:#583b2d}
.joining-content{width:100%;max-width:1600px;margin:auto;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,560px);align-items:center;gap:6vw;padding:32px 2vw}
.joining-invitation h1{font-family:var(--serif);font-size:clamp(64px,7.5vw,132px);line-height:1.04;margin:17px 0 22px;letter-spacing:-.03em}
.joining-invitation h1 em{color:#ff9358;text-shadow:0 0 38px #ed6d3440;font-weight:400}.joining-invitation>.eyebrow{font-size:clamp(10px,1vw,14px)}
.joining-intro{font-size:clamp(17px,1.6vw,25px);line-height:1.65;color:#d2c8c1}.joining-rule{height:1px;width:80px;background:#d87343;margin:26px 0}
.joining-steps{padding:0;margin:0;list-style:none;display:grid;gap:14px;color:#ece3dc;font-size:clamp(14px,1.35vw,21px)}.joining-steps li{display:flex;gap:17px;align-items:baseline}.joining-steps span{color:#c17853;font:16px var(--serif);letter-spacing:.06em}
.joining-arrivals{display:flex;align-items:center;gap:17px;margin-top:32px}.joining-count{font:clamp(32px,3vw,46px) var(--serif);min-width:64px;text-align:center;border:1px solid #7e4b345e;padding:7px 13px;color:#ff9d66;background:#1c100b88;box-shadow:0 0 26px #ed784410}.joining-arrivals strong{font-weight:500;font-size:clamp(14px,1.3vw,20px)}.joining-arrivals p{margin-top:6px;font-size:clamp(11px,1vw,15px);color:#b2a49b;line-height:1.5}
.joining-code{text-align:center;justify-self:center;width:100%;padding:22px 18px 25px;border:1px solid #814a2c80;background:linear-gradient(145deg,#1b100de8,#080707f5);box-shadow:0 0 80px #d0521314,0 25px 90px #0007;position:relative}
.joining-code:before,.joining-code:after{content:'';position:absolute;width:35px;height:35px;pointer-events:none;color:#ec9562}.joining-code:before{top:-1px;left:-1px;border-top:1px solid;border-left:1px solid}.joining-code:after{bottom:-1px;right:-1px;border-bottom:1px solid;border-right:1px solid}
.joining-code .eyebrow{font-size:11px;color:#d49571}.joining-code h2{font-size:clamp(32px,3.3vw,49px);margin:5px 0 18px}
.joining-qr-frame{width:clamp(260px,41vh,480px);max-width:100%;aspect-ratio:1;margin:0 auto;background:#fff;line-height:0;box-shadow:0 0 0 1px #fff;isolation:isolate}
.joining-qr-frame img{display:block;width:100%;height:100%;object-fit:contain;background:#fff;filter:none;opacity:1}
.joining-manual-label{font-size:clamp(11px,1vw,15px);color:#b9aaa0;margin:19px 0 9px}.joining-url{font-size:clamp(14px,1.45vw,23px);font-weight:600;line-height:1.5;letter-spacing:-.015em;color:#fff8f2;overflow-wrap:anywhere;display:block;text-shadow:0 0 14px #fff2e51a;text-decoration:underline;text-decoration-color:#d5885d65;text-underline-offset:5px}
.joining-footer{display:flex;justify-content:space-between;gap:18px;font-size:clamp(10px,.85vw,14px);color:#998d85;letter-spacing:.04em;padding-top:14px}.joining-footer b{font-weight:400;color:#c6784a;margin:0 10px}
.joining-moon{position:absolute;top:7%;left:25%;width:240px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#dfb49410,#71432a0a 60%,#1d100a00 71%);box-shadow:inset -18px -12px 35px #0008,0 0 90px #c6712d0a;border:1px solid #c8945720;z-index:0}
.joining-fog{position:absolute;pointer-events:none;z-index:1;left:-20%;width:140%;height:180px;bottom:0;background:radial-gradient(ellipse at center,#b8b0a11a,transparent 67%);filter:blur(24px);animation:joining-fog 25s ease-in-out infinite alternate}.joining-fog-two{bottom:90px;opacity:.4;animation-duration:34s;animation-direction:alternate-reverse}
.joining-graves{position:absolute;bottom:0;left:0;width:100%;height:240px;z-index:0;pointer-events:none}.joining-bats{position:absolute;right:2%;top:9%;width:260px;color:#76615524;animation:joining-bats 12s ease-in-out infinite;pointer-events:none;z-index:0}
.joining-spirit{position:absolute;width:58px;bottom:14%;left:43%;color:#ddd6cf;opacity:.09;animation:joining-haunt 9s ease-in-out infinite;pointer-events:none;z-index:0}.joining-spirit svg{width:100%}
.joining-candles{position:absolute;bottom:33px;left:27%;display:flex;gap:12px;align-items:flex-end;z-index:1;opacity:.6;pointer-events:none}.joining-candles i{width:10px;height:35px;background:linear-gradient(90deg,#65432f,#b88150,#5b3824);position:relative}.joining-candles i:nth-child(2){height:51px}.joining-candles i:nth-child(3){height:26px}.joining-candles i:before{content:'';position:absolute;bottom:calc(100% + 3px);left:2px;width:6px;height:13px;background:#ffc178;border-radius:80% 20% 70% 30%;box-shadow:0 0 14px 4px #e575354d;animation:joining-flame 2.6s ease-in-out infinite alternate}.joining-candles i:nth-child(2):before{animation-delay:-.7s}.joining-candles i:nth-child(3):before{animation-delay:-1.6s}
.admin-screen-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@keyframes joining-fog{from{transform:translateX(-5%)}to{transform:translateX(8%)}}
@keyframes joining-haunt{0%,100%{transform:translateY(7px) rotate(-4deg);opacity:.07}50%{transform:translateY(-17px) rotate(4deg);opacity:.14}}
@keyframes joining-bats{50%{transform:translate(-12px,-8px) rotate(-2deg)}}
@keyframes joining-flame{0%,100%{transform:scaleY(.9) rotate(-5deg);opacity:.7}50%{transform:scaleY(1.07) rotate(7deg);opacity:1}}
@media(min-width:900px) and (max-height:800px){.joining-screen{padding-top:18px;padding-bottom:15px}.joining-header{padding-bottom:12px}.joining-content{padding-top:20px;padding-bottom:18px;gap:4vw}.joining-invitation h1{font-size:clamp(60px,7vw,100px);margin-top:12px;margin-bottom:16px}.joining-intro{font-size:18px}.joining-rule{margin:19px 0}.joining-steps{gap:11px;font-size:16px}.joining-arrivals{margin-top:22px}.joining-code{padding-top:16px;padding-bottom:18px}.joining-code h2{font-size:36px;margin-bottom:14px}.joining-qr-frame{width:45vh;min-width:240px}.joining-manual-label{margin-top:14px}.joining-footer{padding-top:8px}}
@media(max-width:899px){.joining-screen{padding:20px 25px}.joining-content{grid-template-columns:1fr;gap:32px;padding:35px 0;max-width:580px}.joining-invitation h1{font-size:70px}.joining-tools{gap:15px;font-size:11px}.joining-header{align-items:flex-start}.joining-code{max-width:540px}.joining-qr-frame{width:340px}.joining-footer{flex-direction:column;text-align:center}.joining-arrivals{margin-top:22px}.joining-graves{height:170px}.joining-spirit{left:80%;bottom:60%}.joining-bats{top:16%;width:180px}.joining-candles{left:10%}.admin-screen-links{justify-content:flex-start}}
@media(max-width:540px){.joining-header{flex-direction:column;gap:15px}.joining-tools{width:100%;justify-content:space-between}.joining-invitation h1{font-size:62px}.joining-invitation>.eyebrow{font-size:10px}.joining-code{padding:20px 13px}.joining-qr-frame{width:100%;max-width:320px}.joining-url{font-size:14px}.joining-count{min-width:54px}.joining-footer{font-size:10px}.page-heading.row{flex-wrap:wrap;gap:18px}.admin-screen-links .btn{padding:12px}}

/* A rehearsal reset can retain the roster; a new event can start with nobody. */
dialog.reset-dialog{max-width:510px;max-height:calc(100svh - 32px);overflow-y:auto}
.reset-options{padding:0;border:0;margin:23px 0 0;display:grid;gap:10px}.reset-options legend{font-size:12px;color:#bfb0a6;margin-bottom:12px;line-height:1.5}
.reset-option{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #62412f;background:#100c09;cursor:pointer;line-height:1.4}.reset-option:has(input:checked){border-color:#ed8955;background:#ed784412}.reset-option input{accent-color:#ed7844;flex:none;width:17px;height:17px;margin:2px 0 0}.reset-option strong{display:block;font-weight:500;font-size:14px;color:#fff4ec}.reset-option small{display:block;font-size:12px;line-height:1.5;color:#c1b0a5;margin-top:5px}
.reset-dialog .field-label{margin-top:23px}.reset-dialog .dialog-actions{flex-wrap:wrap}
@media(max-width:400px){dialog.reset-dialog{padding:23px}.reset-dialog h2{font-size:30px}.reset-option{padding:12px}.reset-dialog .dialog-actions .btn{font-size:12px;padding:12px 14px}}

/* Compact two-line event wordmark keeps the full name legible on phones. */
.brand-wordmark{display:flex;flex-direction:column;line-height:1.05;white-space:nowrap}.brand-wordmark small{font-size:.46em;letter-spacing:.22em;margin-top:6px;color:var(--gold)}.brand>svg,.brand>img{flex:none}
.tv-title h1{font-size:clamp(34px,4.6vw,68px);text-wrap:balance}
@media(max-width:540px){.tv-title h1{font-size:34px}}

/* Living cemetery: persistent ambient scenery and individual solved headstones. */
.cemetery-tv{isolation:isolate;padding:28px 4vw 110px;min-height:100svh;background:radial-gradient(ellipse at 50% 25%,#24130d66,transparent 66%),#050607}
.cemetery-tv .tv-header,.cemetery-tv .tv-title,.cemetery-tv .tv-board,.cemetery-tv .tv-footer{position:relative;z-index:2}
.cemetery-tv .tv-title{margin:22px 0 24px}.cemetery-tv .tv-title h1{margin:9px 0 10px}.cemetery-tv .tv-title p{font-size:13px}
.cemetery-tv .tv-board,.cemetery-tv .tv-footer{max-width:1380px}.cemetery-tv .tv-row,.cemetery-tv .tv-row:first-child{grid-template-columns:42px minmax(130px,195px) minmax(0,1fr) 76px;gap:22px;padding:18px 20px;min-height:103px;border:1px solid transparent;border-top-color:#79503a44;background:linear-gradient(90deg,#110e0cdd,#0b0b0ce6);position:relative}
.cemetery-tv .tv-row:first-child{border-color:#c86c394d;background:linear-gradient(90deg,#48281966,#100e0ddd);box-shadow:inset 3px 0 #ed7844,0 0 45px #ed784409}
.cemetery-tv .tv-row+.tv-row{margin-top:7px}.cemetery-tv .tv-name{font-size:clamp(18px,1.7vw,27px);min-width:0;overflow-wrap:anywhere}.cemetery-tv .tv-name small{font-size:11px;line-height:1.4;color:#beafa5}.cemetery-tv .tv-score strong{font-weight:400}.cemetery-tv .tv-score{font-size:38px}.cemetery-tv .tv-score span{font-size:12px}
.headstone-trail{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:5px;align-items:end;position:relative;height:68px;border-bottom:1px solid #70452a50}
.headstone{position:relative;display:block;width:100%;max-width:52px;justify-self:center;transform-origin:50% 100%}.headstone>svg{width:100%;height:auto;max-height:68px;overflow:visible}.stone-face{fill:#17191b;stroke:#55504a;stroke-width:1.2;transition:fill .6s,stroke .6s}.stone-etch{fill:none;stroke:#4f4c47;stroke-width:1}.stone-number{font:10px Georgia,serif;fill:#69615a}.stone-base{fill:#222120;stroke:#51483f;stroke-width:.8}.stone-earth{fill:none;stroke:#544333;stroke-width:1}
.headstone.done .stone-face{fill:#bb642f;stroke:#ffa564;stroke-width:1.4}.headstone.done .stone-etch{stroke:#51270e}.headstone.done .stone-number{fill:#fff2d3;font-weight:bold}.headstone.done .stone-base{fill:#7a3e20;stroke:#ef9a56}.headstone.done>svg{filter:drop-shadow(0 0 5px #f87d3459)}
.headstone.done:before{content:'';position:absolute;bottom:4px;left:3%;width:94%;height:16%;background:#f78627;filter:blur(10px);opacity:.35;animation:grave-embers 5s ease-in-out infinite alternate}.headstone:nth-child(3n):before{animation-delay:-2s}.headstone:nth-child(3n+1):before{animation-delay:-4s}
.stone-soul{position:absolute;left:25%;bottom:70%;width:50%;color:#d4e4df;opacity:0;pointer-events:none;filter:drop-shadow(0 0 9px #d4e4df66)}.stone-soul svg{width:100%}.headstone.new-done{animation:stone-awakens 1.4s cubic-bezier(.2,.8,.25,1) var(--reveal-delay,0ms) both}.headstone.new-done .stone-soul{animation:released-soul 1.4s ease-out var(--reveal-delay,0ms) both}.tv-row.just-progressed{animation:row-discovery 2s ease-out}.treasure-found .tv-name>span{color:#ffd89f}.treasure-found .tv-score{color:#ffbf75}
.cemetery-legend{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:15px;font-size:10px;letter-spacing:.06em;color:#d0b49e}.legend-stone{width:10px;height:14px;border-radius:6px 6px 1px 1px;border:1px solid #ffb27a;background:#ad5728;box-shadow:0 0 9px #ed784466}
.cemetery-tv .tv-footer{margin-top:23px;font-size:11px}.cemetery-tv [data-clock]{color:#ffb482;margin-left:10px;font-variant-numeric:tabular-nums}
.cemetery-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.cemetery-moon{position:absolute;right:3%;top:75px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 65% 35%,#e3d1ac1a 0 10%,transparent 11%),radial-gradient(circle at 30% 70%,#5e503b33 0 18%,transparent 19%),#cdbd9733;box-shadow:0 0 80px 25px #e0b27610;animation:moon-breath 14s ease-in-out infinite alternate}.cemetery-ground{position:absolute;width:100%;height:175px;bottom:0;left:0}
.cemetery-haze{position:absolute;width:150%;height:35%;left:-25%;bottom:-5%;background:radial-gradient(ellipse at 22% 65%,#c4cec21b,transparent 50%),radial-gradient(ellipse at 80% 25%,#b2bcc018,transparent 48%);filter:blur(24px);animation:cemetery-fog 27s ease-in-out infinite alternate}.haze-two{bottom:25%;height:24%;opacity:.55;animation-duration:37s;animation-direction:alternate-reverse}
.cemetery-spirit{position:absolute;bottom:110px;left:1.3%;width:39px;color:#c6e5dc4a;filter:drop-shadow(0 0 15px #b9e0d533);animation:cemetery-haunting 13s ease-in-out infinite}.spirit-two{left:auto;right:1.3%;bottom:37%;width:26px;opacity:.6;animation-delay:-6s;animation-duration:17s}.cemetery-bats{position:absolute;top:130px;left:2%;width:140px;color:#6a544846;animation:bat-drift 19s ease-in-out infinite alternate}
.cemetery-candles{position:absolute;bottom:25px;left:13%;display:flex;gap:12px;align-items:flex-end}.cemetery-candles i{position:relative;display:block;width:10px;height:28px;background:linear-gradient(90deg,#583521,#c18a55,#493020);border-radius:2px}.cemetery-candles i:nth-child(2){height:42px}.cemetery-candles i:before{content:'';position:absolute;width:8px;height:16px;left:1px;top:-19px;background:#ffd99c;border-radius:70% 30% 70% 30%;box-shadow:0 0 15px 4px #ff792d66;transform-origin:50% 100%;animation:tv-flame 1.7s ease-in-out infinite alternate}.cemetery-candles i:nth-child(2):before{animation-delay:-.8s}.candles-right{left:auto;right:13%}
.tv-discovery{position:fixed;z-index:10;bottom:23px;left:50%;transform:translate(-50%,25px);opacity:0;visibility:hidden;display:flex;align-items:center;gap:15px;max-width:calc(100vw - 40px);padding:14px 24px;background:#130e0bf5;border:1px solid #bc713e88;box-shadow:0 0 45px #c86b3022;border-radius:4px;pointer-events:none;transition:opacity .45s,transform .45s,visibility .45s}.tv-discovery.event-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}.tv-discovery p{margin-top:5px;color:#fff1e5;font-size:16px;line-height:1.4}.discovery-mark{color:#ffac72}.discovery-mark .icon{width:30px;height:30px}
@keyframes stone-awakens{0%{transform:translateY(22px) scale(.65);opacity:.2}55%{transform:translateY(-7px) scale(1.12);filter:brightness(1.8)}100%{transform:none;opacity:1;filter:brightness(1)}}
@keyframes released-soul{0%{opacity:0;transform:translateY(16px) scale(.4)}25%{opacity:.85}100%{opacity:0;transform:translate(13px,-55px) scale(1.2)}}
@keyframes row-discovery{0%,35%{box-shadow:inset 3px 0 #ffbd77,0 0 35px #ed784433}100%{box-shadow:inset 0 0 transparent,0 0 transparent}}
@keyframes grave-embers{to{opacity:.16;transform:scaleX(.8)}}@keyframes moon-breath{to{opacity:.5;box-shadow:0 0 100px 30px #e0b27618}}@keyframes cemetery-fog{to{transform:translateX(13%) translateY(-10px)}}@keyframes cemetery-haunting{0%,100%{transform:translateY(8px) rotate(-6deg);opacity:.3}50%{transform:translateY(-27px) rotate(7deg);opacity:.9}}@keyframes bat-drift{to{transform:translate(35px,-20px) rotate(9deg)}}@keyframes tv-flame{0%{transform:rotate(-9deg) scaleY(.88);opacity:.75}60%{transform:rotate(6deg) scaleY(1.08);opacity:1}100%{transform:rotate(-3deg) scaleY(.96);opacity:.9}}
@media(min-width:1600px){.cemetery-tv{padding-top:35px}.cemetery-tv .tv-title{margin:30px 0}.cemetery-tv .tv-row,.cemetery-tv .tv-row:first-child{min-height:124px}.headstone-trail{height:82px}.headstone>svg{max-height:82px}.headstone{max-width:58px}.cemetery-tv .tv-name{font-size:28px}.cemetery-tv .tv-name small{font-size:13px}.cemetery-legend{font-size:12px}}
@media(min-width:850px) and (max-height:800px){.cemetery-tv{padding:18px 3vw 78px}.cemetery-tv .tv-title{margin:12px 0 16px}.cemetery-tv .tv-title h1{font-size:46px}.cemetery-tv .tv-row,.cemetery-tv .tv-row:first-child{min-height:79px;padding:9px 16px}.headstone-trail{height:56px}.headstone>svg{max-height:56px}.cemetery-legend{margin-top:9px}.cemetery-tv .tv-footer{margin-top:16px}.cemetery-ground{height:110px}.tv-discovery{bottom:12px}}
@media(max-width:850px){.cemetery-tv .tv-row,.cemetery-tv .tv-row:first-child{grid-template-columns:30px 130px minmax(0,1fr) 58px;gap:12px;padding:14px 10px;min-height:90px}.headstone-trail{gap:2px}.cemetery-tv .tv-name{font-size:18px}.cemetery-tv .tv-score{font-size:30px}.cemetery-tv .tv-tools{gap:6px}.cemetery-tv .tv-tools>.eyebrow{display:none}}
@media(max-width:600px){.cemetery-tv{padding:22px 18px 110px}.cemetery-tv .tv-header{align-items:flex-start;gap:15px}.cemetery-tv .tv-header .brand{font-size:18px}.cemetery-tv .tv-tools{flex-wrap:wrap;justify-content:flex-end}.cemetery-tv .tv-title h1{font-size:36px}.cemetery-tv .tv-row,.cemetery-tv .tv-row:first-child{grid-template-columns:27px 1fr 62px;gap:9px;padding:14px 12px}.headstone-trail{grid-column:1/-1;grid-row:2;height:auto;min-height:32px}.cemetery-tv .tv-score{grid-column:3;grid-row:1}.cemetery-tv .tv-name{font-size:21px}.cemetery-tv .tv-name small{font-size:10px}.cemetery-tv .tv-footer{flex-wrap:wrap;gap:12px}.cemetery-legend{font-size:9px;letter-spacing:0}.tv-discovery{width:calc(100vw - 30px);padding:12px 16px}.tv-discovery p{font-size:13px}}
@media(min-width:850px){.cemetery-tv{height:100svh;min-height:650px;display:flex;flex-direction:column;padding-bottom:74px}.cemetery-tv .tv-header,.cemetery-tv .tv-title,.cemetery-tv .tv-footer{flex:none}.cemetery-tv .tv-title{margin:16px 0 20px}.cemetery-tv .tv-board{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}.cemetery-tv .tv-row,.cemetery-tv .tv-row:first-child{flex:1;min-height:0;padding:8px 18px}.cemetery-tv .tv-row+.tv-row{margin-top:0}.cemetery-tv .headstone-trail{height:min(68px,7.2vh)}.cemetery-tv .headstone>svg{max-height:min(68px,7.2vh)}.cemetery-tv .tv-footer{width:100%;margin-top:20px}.cemetery-tv .tv-board>.empty{margin:auto}}
