@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Manrope:wght@400;500;600;700;800&family=Prata&display=swap');
:root{color-scheme:dark;--bg:#102321;--panel:#1a302c;--gold:#e5c38b;--text:#f5efdf;--muted:#a1b6ab;--line:#d8ddc51c;--green:#a8ccb6;--pink:#d996ad}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 25% 15%,#26474080,transparent 70%),var(--bg);color:var(--text);font:16px Manrope,system-ui,sans-serif;min-height:100vh}h1,h2,h3,p{margin:0}button,input,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #ddbb77;outline-offset:4px}a{color:var(--gold)}header{height:90px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,serif;font-size:43px}.brand>span{font:800 23px Manrope,sans-serif;letter-spacing:4px;color:var(--text)}.brand small{display:block;font:600 9px Manrope,sans-serif;color:var(--muted);letter-spacing:1.6px;margin-top:4px}.connection{margin-left:auto;font-size:13px;color:var(--muted)}.quiet{border:1px solid #d8ddc530;background:transparent;border-radius:9px;padding:10px 16px}.quiet:hover{background:#ffffff08}.primary{border:1px solid #edcf9a;background:linear-gradient(120deg,#edd2a2,#c9a66b);color:#243c32;font-weight:800;padding:15px 24px;border-radius:10px;box-shadow:0 5px 20px #0002}.primary:hover:not(:disabled){filter:brightness(1.08)}.text-button{border:0;background:none;color:var(--muted);padding:8px;font-size:14px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:2.5px;font-weight:700;color:var(--gold)}h1,h2{font-family:Prata,Georgia,serif;font-weight:400}h1{font-size:44px;line-height:1.4}h2{font-size:29px;line-height:1.45}p{line-height:1.75}.muted{color:var(--muted)}.start{max-width:1250px;margin:0 auto;padding:50px 40px 30px;display:grid;grid-template-columns:1fr 1.1fr;gap:55px;align-items:center}.start h1{margin:15px 0 20px;max-width:550px}.start-intro>p{color:var(--muted);max-width:420px}.start-options{display:flex;gap:10px;margin:28px 0 12px;flex-wrap:wrap}.fine{font-size:13px;color:var(--muted);line-height:1.7}.start-preview{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center}.preview-cards{display:flex;align-items:center;padding:25px}.preview-cards .preview-card{width:150px;aspect-ratio:2/3;border:5px solid #e9ddbe;border-radius:12px;box-shadow:0 20px 45px #0008;transform:rotate(-15deg);margin-right:-40px}.preview-cards .preview-card:nth-child(2){transform:translateY(-25px) rotate(1deg);z-index:2}.preview-cards .preview-card:nth-child(3){transform:rotate(17deg);z-index:3}.preview-caption{position:absolute;bottom:22px;color:var(--muted);font-size:13px;letter-spacing:1px}.feature-line{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);padding-top:24px}.feature-line strong{display:block;margin-bottom:8px;font-size:15px}.feature-line p{font-size:13px;color:var(--muted)}.art{background-image:var(--atlas);background-size:600% 300%;background-position:var(--x) var(--y);background-color:#35574a}.join{max-width:480px;margin:45px auto;padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:20px}.join h1{font-size:32px;margin:12px 0 22px}.field{display:block;font-size:14px;color:var(--muted);margin:18px 0 8px}input{border:1px solid #d8ddc533;border-radius:9px;background:#0e231f;padding:14px;color:var(--text);width:100%;outline:none}input:focus{border-color:var(--gold)}input.code{text-transform:uppercase;letter-spacing:6px;font-size:23px}.pony-picker{display:flex;gap:10px;justify-content:space-between;margin-bottom:26px}.pony-choice{border:2px solid transparent;background:var(--pony);width:49px;height:49px;font-size:30px;border-radius:50%;color:#172721}.pony-choice.selected{border-color:#fff3d5;box-shadow:0 0 0 3px #e5c38b55}.join .primary{width:100%}.join .text-button{width:100%;margin-top:12px}.screen{max-width:1600px;margin:auto;padding:25px 35px 30px}.screen-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.screen-top h1{font-size:28px;margin-top:9px}.screen-top .sub{color:var(--muted);font-size:14px;margin-top:7px}.code-pill{display:flex;align-items:center;gap:12px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:#ffffff04}.code-pill span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.code-pill strong{font-size:22px;letter-spacing:4px;color:var(--gold)}.lobby-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px}.lobby-world{background:radial-gradient(ellipse at center,#35594a,#1b3730 70%);min-height:460px;border:10px solid #67503a;border-radius:100px;box-shadow:inset 0 0 0 2px #a8895555,0 18px 40px #0004;position:relative;padding:42px 35px}.lobby-world:before{content:'';position:absolute;inset:16px;border:1px solid #c3ae7433;border-radius:80px;pointer-events:none}.lobby-world h2{text-align:center;font-size:27px}.seats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:33px}.seat{text-align:center;padding:12px;position:relative}.pony{display:inline-grid;place-items:center;flex-shrink:0;width:55px;height:55px;border-radius:50%;background:var(--pony);color:#22332a;font-size:34px;box-shadow:0 4px 0 #0004;border:2px solid #ffffff50}.seat strong{display:block;font-size:15px;margin-top:10px}.seat small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.seat .empty-pony{display:grid;place-items:center;border:1px dashed #ffffff35;border-radius:50%;width:55px;height:55px;color:#c9d4bc55;font-size:30px;margin:auto}.seat.empty strong{color:#8fa396;font-weight:400}.remove{position:absolute;right:10px;top:10px;border:0;background:#15302588;border-radius:50%;color:var(--muted);font-size:17px}.room-sidebar{background:#19312b;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}.room-sidebar h3{font-size:17px}.qr{width:165px;height:165px;border:9px solid #fff8e8;border-radius:10px;background:#fff8e8}.room-sidebar .primary,.room-sidebar .quiet{width:100%;font-size:14px}.room-sidebar p{font-size:13px;color:var(--muted)}.room-sidebar .join-url{font-size:12px;overflow-wrap:anywhere;color:var(--gold)}.notice{padding:14px 18px;background:#ffffff04;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:13px;line-height:1.7;margin-top:24px}.host-game{display:grid;grid-template-columns:1fr 235px;gap:26px}.shared-table{border:10px solid #6f5238;border-radius:70px;min-height:440px;background:radial-gradient(ellipse,#315e4e,#1b3d33);box-shadow:inset 0 0 0 2px #c3aa6944,0 15px 40px #0003;padding:40px 34px;text-align:center;position:relative}.shared-table .clue{font-family:Prata,Georgia,serif;font-size:30px;margin:15px auto 10px;max-width:760px;overflow-wrap:anywhere}.shared-table>p{font-size:14px;color:#bed1bf}.waiting-art{margin:45px auto 0;display:flex;gap:12px;justify-content:center}.card-back{width:70px;height:105px;border-radius:8px;border:3px solid #c5a86f;background:repeating-linear-gradient(45deg,#233f33 0 8px,#d8bb6f20 8px 9px);display:grid;place-items:center;color:var(--gold);font:38px Georgia,serif}.card-back:nth-child(2){transform:translateY(-10px)}.host-roster{display:flex;flex-direction:column;gap:12px;padding-top:5px}.roster-row{display:flex;align-items:center;gap:10px}.roster-row .pony{width:37px;height:37px;font-size:23px}.roster-row strong{font-size:14px}.roster-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.roster-row .score{margin-left:auto;color:var(--gold);font-size:18px}.roster-row .score small{color:var(--green);font-size:12px;text-align:right}.host-actions{display:flex;justify-content:center;gap:15px;margin-top:23px;align-items:center;flex-wrap:wrap}.host-actions>span{font-size:13px;color:var(--muted)}.cards-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin:30px auto 0;max-width:1000px}.card-wrap{position:relative;min-width:0}.card-button{border:3px solid #d7caa8;background:#19382e;border-radius:11px;aspect-ratio:2/3;width:100%;padding:0;display:block;box-shadow:0 9px 15px #0004;position:relative;overflow:hidden;transition:transform .2s,border-color .2s}.card-button .art{width:100%;height:100%}.card-button:hover:not(:disabled){transform:translateY(-5px)}.card-wrap.chosen .card-button{border-color:var(--gold);box-shadow:0 0 0 3px #e5c38b55;transform:translateY(-6px)}.card-wrap.correct .card-button{border-color:#ffe1a1;box-shadow:0 0 22px #f4d28577}.card-button:disabled{opacity:1;cursor:default}.number{position:absolute;left:7px;bottom:7px;display:grid;place-items:center;border-radius:50%;background:#163229e8;border:1px solid #efd39a99;width:27px;height:27px;color:#ffecd3;font-size:13px}.zoom-card{position:absolute;right:7px;top:7px;border:1px solid #ffffff66;background:#1a302be8;width:30px;height:30px;border-radius:50%;padding:5px;display:grid;place-items:center;font-size:19px}.card-author{font-size:12px;margin-top:12px;line-height:1.5;min-height:20px}.voters{display:flex;justify-content:center;gap:3px;margin-top:5px;flex-wrap:wrap}.vote-dot{background:var(--pony);width:18px;height:18px;border-radius:50%;font-size:9px;color:#15291e;display:grid;place-items:center}.own-ribbon{position:absolute;top:8px;left:6px;background:#17332dec;border-radius:4px;padding:4px;font-size:10px}.progress-strip{display:flex;justify-content:center;gap:30px;padding:20px;color:#789d89;font-size:13px}.progress-strip .current{color:var(--gold)}.board-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.board-heading h2{font-size:24px}.board-heading p{font-size:13px;color:var(--muted)}.board-surface{border:8px solid #81623d;background:#b9c9a1;border-radius:25px;padding:13px;box-shadow:0 15px 40px #0004}.board{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;position:relative}.square{height:48px;background:#f3ead18c;border:1px solid #5e796331;border-radius:7px;position:relative;color:#46614b;padding:5px;font-size:11px}.square:nth-child(3n){background:#b5c8a7}.square:nth-child(7n){background:#dfc394}.square.start-square{background:#284e3d;color:#eed3a3}.square .label{font-size:10px;position:absolute;bottom:5px;right:6px;opacity:.7}.square .mini-token{display:inline-grid;place-items:center;width:22px;height:25px;background:var(--pony);border:1px solid #fff3d9;border-radius:50%;color:#183123;font-size:21px;box-shadow:0 2px 3px #0005;position:relative;z-index:2;animation:land .4s ease-out}.board-note{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;color:var(--muted)}@keyframes land{0%{transform:translateY(-13px) scale(.8)}65%{transform:translateY(2px)}100%{transform:none}}.player-screen{max-width:950px;margin:auto;padding:30px 30px 120px}.player-top{display:flex;align-items:center;gap:12px;margin-bottom:27px}.player-top .pony{width:40px;height:40px;font-size:25px}.player-top h3{font-size:16px}.player-top small{color:var(--muted);font-size:12px}.player-top .my-score{margin-left:auto;color:var(--gold)}.player-screen h1{font-size:30px;margin:12px 0}.player-screen .hint{font-size:15px;color:var(--muted);max-width:600px}.personal-clue{font:24px/1.5 Prata,Georgia,serif;border-left:2px solid var(--gold);padding:12px 18px;background:#ffffff04;margin:24px 0;overflow-wrap:anywhere}.player-screen .cards-grid{grid-template-columns:repeat(3,1fr);max-width:650px;gap:20px;margin-top:27px}.player-screen .card-button{max-height:290px}.player-controls{max-width:650px;margin:28px auto 0}.player-controls input{margin:10px 0}.player-controls .primary{width:100%;margin-top:12px}.selected-note{font-size:13px;color:var(--gold);text-align:center;min-height:20px}.waiting-panel{border:1px solid var(--line);background:#ffffff04;border-radius:17px;text-align:center;padding:35px;margin-top:28px}.waiting-panel .big-pony{font-size:65px;color:var(--gold)}.waiting-panel h2{font-size:25px;margin:12px 0}.waiting-panel p{font-size:14px;color:var(--muted)}.player-lobby{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.player-lobby .seat{padding:12px 2px;background:#ffffff04;border-radius:12px}.finish{text-align:center;padding:35px}.finish .trophy{font-size:80px;color:var(--gold)}.finish h1{margin:14px}.podium{max-width:620px;margin:25px auto;display:grid;gap:10px;text-align:left}.podium-row{display:flex;align-items:center;gap:18px;padding:15px 20px;background:#ffffff06;border:1px solid var(--line);border-radius:12px}.podium-row:first-child{border-color:#e5c38b88;background:#e5c38b12}.podium-row strong{margin-left:auto;color:var(--gold);font-size:23px}.podium-row .pony{width:40px;height:40px;font-size:26px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#f0d5a5;color:#25382c;border:1px solid #fff3d7;border-radius:12px;padding:13px 20px;max-width:90vw;z-index:100;box-shadow:0 8px 25px #0007;font-size:14px;display:none}#toast.show{display:block}dialog{background:#1a332c;color:var(--text);border:1px solid #d2b87755;border-radius:16px;padding:30px;max-width:600px;width:calc(100% - 30px)}dialog::backdrop{background:#081812df;backdrop-filter:blur(7px)}dialog h2{margin:10px 0 20px}dialog p,dialog li{font-size:14px;line-height:1.8}dialog ol{padding-left:20px}dialog li{margin:12px 0}dialog .primary{margin-top:20px}.close{position:absolute;top:9px;right:13px;border:0;background:#143127b0;border-radius:50%;font-size:30px;width:36px;height:36px;z-index:5}#zoom{width:min(470px,90vw);padding:15px}#zoom-image{aspect-ratio:2/3;border-radius:8px}#zoom p{font-size:12px;text-align:center;margin-top:12px;color:var(--muted)}.error-panel{text-align:center;max-width:600px;margin:60px auto;padding:30px}.error-panel h2{margin-bottom:20px}.error-panel button{margin-top:20px}@media(min-width:1600px){.shared-table{padding:55px;min-height:530px}.square{height:55px}}@media(max-width:1100px){.screen{padding:25px 20px}.host-game{grid-template-columns:1fr}.host-roster{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:20px}.shared-table{padding:30px 23px}.lobby-layout{grid-template-columns:1fr 245px}.lobby-world{padding:35px 20px;border-radius:70px}.seats{gap:6px}.room-sidebar{padding:18px}.start{padding:35px 25px;gap:20px}h1{font-size:35px}.preview-cards .preview-card{width:125px}.square{height:43px}}@media(max-width:740px){header{height:75px;padding:0 18px;gap:15px}.brand{font-size:34px;gap:7px}.brand>span{font-size:18px;letter-spacing:3px}.brand small{font-size:7px;letter-spacing:1px}.connection{font-size:10px;max-width:120px;text-align:right}header .quiet{font-size:12px;padding:8px}.start{display:flex;flex-direction:column;padding:30px 25px;gap:10px;align-items:stretch}.start h1{font-size:35px}.start-intro>p{font-size:14px}.start-preview{min-height:290px}.preview-cards .preview-card{width:117px}.preview-caption{font-size:11px;bottom:0}.feature-line{display:block;margin-top:20px}.feature-line>div{margin:0 0 20px}.lobby-layout{grid-template-columns:1fr}.lobby-world{border-radius:55px;min-height:390px;padding:28px 12px}.lobby-world h2{font-size:23px}.lobby-world:before{border-radius:38px}.seat{padding:10px 2px}.seat strong{font-size:13px}.room-sidebar{display:grid;grid-template-columns:130px 1fr;text-align:left;align-items:start}.room-sidebar .qr{grid-row:span 3;width:130px;height:130px}.room-sidebar h3{font-size:15px}.room-sidebar .primary,.room-sidebar .quiet,.room-sidebar .fine,.room-sidebar .join-url{grid-column:1/-1}.screen-top{align-items:flex-start;gap:10px}.screen-top h1{font-size:24px}.screen-top .sub{font-size:12px}.code-pill{padding:8px;display:block;flex-shrink:0}.code-pill span{display:block;font-size:9px;margin-bottom:5px}.code-pill strong{font-size:16px;letter-spacing:2px}.eyebrow{font-size:10px;letter-spacing:1.5px}.shared-table{border-width:7px;border-radius:35px;padding:25px 15px;min-height:350px}.shared-table .clue{font-size:23px}.shared-table>p{font-size:12px}.cards-grid{grid-template-columns:repeat(3,1fr);gap:18px 12px}.host-roster{grid-template-columns:repeat(2,1fr)}.roster-row strong{font-size:13px}.roster-row .score{font-size:16px}.progress-strip{gap:12px;font-size:10px;padding:15px 0}.board-surface{padding:7px;border-width:5px;border-radius:17px}.board{gap:3px}.square{height:40px;padding:3px;font-size:9px}.square .label{display:none}.square .mini-token{width:15px;height:20px;font-size:15px;border-width:1px;margin:-1px}.board-note{font-size:10px}.board-heading{display:block}.board-heading h2{font-size:24px}.board-heading p{font-size:12px;margin-top:5px}.player-screen{padding:22px 20px 65px}.player-screen h1{font-size:27px}.player-screen .cards-grid{gap:17px 11px}.card-button{border-width:2px;border-radius:9px}.zoom-card{width:26px;height:26px;right:5px;top:5px;font-size:16px}.number{height:22px;width:22px;left:5px;bottom:5px;font-size:11px}.player-top{margin-bottom:25px}.player-screen .hint{font-size:14px}.personal-clue{font-size:22px}.join{margin:25px 16px;padding:25px}.join h1{font-size:28px}.pony-picker{gap:8px}.pony-choice{width:43px;height:43px;font-size:26px}.waiting-panel{padding:25px 16px}.card-author{font-size:11px}.start-options .primary,.start-options .quiet{width:100%}.finish{padding:25px 15px}.finish h1{font-size:29px}.podium-row{padding:13px;gap:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.art{background-color:#fff8ed}
.square .tokens{position:absolute;inset:14px 2px 2px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:1px}.square .mini-token{width:17px;height:15px;font-size:14px;line-height:1;margin:0}@media(max-width:740px){.square .mini-token{width:12px;height:12px;font-size:11px}.square .tokens{inset:13px 1px 1px;gap:0}}
#zoom{width:min(470px,90vw,calc((100svh - 90px)*0.6667))}
