:root{color-scheme:dark;--ink:#f4ebd4;--muted:#bbcabd;--gold:#e9bd6b;--felt:#164b3d;--dark:#0b241f;--line:#a68b584d;--seat0:#f0bd63;--seat1:#79c6ed;--seat2:#ed8d91;--seat3:#b6a3ef;--seat4:#a0d980;--seat5:#f3a56e}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 50% 0,#225047 0,#102b25 42%,#081c18 100%);font:16px/1.5 system-ui,Segoe UI,sans-serif;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid #d0b78266;border-radius:8px;padding:9px 16px;color:var(--ink);background:#ffffff0c;transition:background .15s,transform .15s}button:hover{background:#ffffff1e}button:disabled{opacity:.4;cursor:default}button.primary{color:#18281e;background:linear-gradient(135deg,#efd298,#d6a652);border-color:#f2d8a1;font-weight:750}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffe0a4;outline-offset:3px}input,select{border:1px solid #a5b6a969;border-radius:6px;background:#102e27;padding:9px;color:var(--ink);min-height:44px;max-width:100%}a{color:var(--gold)}.mast{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:18px 5vw;background:#061c1799}.brand{font-size:15px;letter-spacing:3px;color:var(--gold);text-decoration:none;font-weight:700}.brand span{display:block;font-size:9px;letter-spacing:4px;color:#a1b7aa}nav{display:flex;gap:8px}nav button{font-size:13px;border:0;padding:8px 12px}.hero{max-width:1200px;margin:auto;padding:56px 26px 32px;display:flex;align-items:center;gap:30px;justify-content:space-between}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:700}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(40px,5vw,70px);margin:14px 0 20px}h2{font-size:30px}h3{font-size:27px;margin:18px 0 12px}.sub{color:var(--muted);max-width:560px}.hero-art{width:275px;flex-shrink:0;transform:rotate(-12deg);filter:drop-shadow(0 24px 20px #0008)}.cards{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:0 26px 35px}.card{padding:22px;background:linear-gradient(145deg,#254b3a,#102f27);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 25px #0002;display:flex;flex-direction:column}.card .preview{height:100px;display:flex;align-items:center;justify-content:center;gap:3px;border-bottom:1px solid var(--line);padding-bottom:16px}.card p{font-size:14px;color:var(--muted);flex:1}.card .meta{color:var(--gold);font-size:11px;letter-spacing:.4px}.card .actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.card button{padding:8px 13px}.bottom-menu{max-width:1150px;margin:0 auto 40px;padding:20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line)}.quiet{font-size:13px;color:var(--muted)}.panel{max-width:880px;margin:28px auto;padding:28px;background:#15382d;border:1px solid var(--line);border-radius:14px}.formrow{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.formrow label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:140px}.seats{display:grid;gap:10px;margin:16px 0}.seatrow{display:grid;grid-template-columns:24px 1fr 1fr;gap:10px;align-items:center}.dot{width:12px;height:12px;background:var(--seat0);border-radius:50%;display:inline-block}.rule-summary{padding:18px;background:#071d1870;border-left:3px solid var(--gold);margin:20px 0;font-size:14px}.tablepage{max-width:1800px;margin:auto;padding:12px 20px}.tabletop{display:flex;align-items:center;justify-content:space-between;gap:15px}.tabletop h2{margin:10px 0}.scorestrip{display:flex;gap:8px;overflow-x:auto;padding:10px 0}.scoreseat{flex:1;min-width:120px;border:1px solid var(--line);border-top:3px solid var(--seat0);border-radius:8px;padding:8px 12px;background:#092a22}.scoreseat.active{background:#345843;box-shadow:inset 0 0 0 1px var(--gold)}.scoreseat b{display:block;white-space:nowrap;font-size:14px}.scoreseat span{font-size:12px;color:var(--muted)}.boardframe{border:12px solid #573524;border-radius:16px;box-shadow:0 2px 0 #b48b52,inset 0 0 24px #0008,0 14px 35px #0004;background:repeating-linear-gradient(35deg,#184c3e,#184c3e 2px,#194d3f 3px,#194d3f 4px);position:relative;overflow:hidden}.board{height:clamp(250px,34vh,460px);width:100%;display:block;touch-action:none;cursor:grab}.board:active{cursor:grabbing}.board text{font-family:system-ui,sans-serif}.board .endpoint{cursor:pointer}.board .endpoint:hover circle{fill:#f4daa4}.board .endpoint:focus{outline:none}.board .endpoint:focus circle{stroke:white;stroke-width:4}.board .placed{animation:place .22s ease-out}.boardtools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0}.boardtools button{padding:7px 12px;font-size:13px}.overview{width:130px;height:48px;margin-left:auto;background:#061e1870;border-radius:5px}.instruction{background:#061e18;border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0;min-height:46px}.instruction strong{color:var(--gold)}.rackarea{position:sticky;bottom:0;background:linear-gradient(#143a30f5,#0a211dfc);padding:12px 0 16px;z-index:2;border-top:1px solid var(--line)}.rackhead{display:flex;align-items:center;gap:10px;justify-content:space-between}.rackhead label{font-size:12px}.rackhead select{padding:4px;min-height:34px}.rack{display:flex;gap:10px;overflow-x:auto;min-height:105px;padding:12px 4px 16px}.tilebutton{padding:0;background:none!important;border:2px solid transparent;min-width:49px;width:49px;height:90px;border-radius:8px;position:relative;flex-shrink:0}.tilebutton svg{width:45px;height:86px;filter:drop-shadow(1px 4px 2px #0008)}.tilebutton.legal:after{content:'•';position:absolute;bottom:-15px;left:0;right:0;color:var(--gold);font-size:25px;line-height:15px}.tilebutton.selected{outline:3px solid var(--gold);transform:translateY(-5px)}.rackactions{display:flex;gap:8px;flex-wrap:wrap}.log{margin-top:14px;padding:10px 14px;background:#061e1866;border-radius:9px;font-size:13px;color:#c6d2c8}.log ol{max-height:160px;overflow:auto;padding-left:22px}.roomcode{font-family:monospace;font-size:36px;letter-spacing:6px;color:var(--gold)}.invite{width:100%;font-size:13px}.lobbyseat{padding:12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}.curtain{text-align:center;padding:50px 20px}.curtain h2{font-size:38px}.curtain .symbol{font-size:50px}.result{padding:22px;border:1px solid var(--gold);border-radius:10px;margin:12px 0;background:#284632}.result h2{margin:0 0 14px}.revealrow{display:flex;gap:4px;overflow-x:auto;padding:6px 0}.revealrow svg{min-width:66px;width:66px;height:34px}dialog{color:var(--ink);background:#15392f;border:1px solid #d2af6c;border-radius:15px;max-width:720px;width:calc(100% - 24px);max-height:90vh;padding:24px;box-shadow:0 25px 90px #0009}dialog::backdrop{background:#00120ee0}dialog h2{margin:5px 0 20px}dialog h3{font-size:22px}.lesson{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px}.lesson svg{width:90px;flex-shrink:0}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 22px;border-radius:10px;background:#f0d8a5;color:#182e23;box-shadow:0 8px 35px #0006;z-index:20;max-width:90vw;display:none}.contrast{--muted:#fff;--gold:#ffde78;--line:#dfd1aa;background:#00140d}.contrast .boardframe{background:#003c26}.reduce *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@keyframes place{from{opacity:.5}to{opacity:1}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.hero-art{width:200px}}@media(max-width:600px){.mast{padding:12px;gap:8px}.brand{font-size:11px;letter-spacing:2px}.brand span{font-size:7px;letter-spacing:2px}nav{gap:0}nav button{padding:7px;font-size:11px}.hero{padding:30px 20px 20px}.hero-art{display:none}h1{font-size:43px}.cards{padding:0 14px 20px;gap:10px}.card{padding:15px}.card h3{font-size:25px}.card p{font-size:13px}.card .preview{height:85px}.card .actions{display:grid}.panel{margin:12px;padding:18px}.tablepage{padding:8px}.tabletop h2{font-size:23px}.tabletop .quiet{font-size:11px}.scoreseat{min-width:106px;padding:6px 9px}.boardframe{border-width:7px}.board{height:33vh;min-height:230px}.overview{width:75px}.rackarea{padding-bottom:8px}.rackhead{font-size:13px}.instruction{font-size:13px}.rackactions button{font-size:13px;padding:8px 12px}.seatrow{grid-template-columns:14px minmax(0,1fr) minmax(0,1fr)}.seatrow input,.seatrow select{width:100%;min-width:0}.formrow{gap:8px}.lobbyseat{font-size:13px}}@media(max-height:500px) and (orientation:landscape){.mast{padding:5px 15px}.board{height:250px}.rackarea{position:static}.hero{padding-top:20px}}

.destinations{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.destinations button{min-height:44px;font-size:13px}

.boardframe{border-color:#63412b #392a20 #855634 #543825;box-shadow:0 1px 0 #dbb777,0 3px 0 #221910,inset 0 0 24px #0008,0 14px 35px #0004}

.boardframe{border-color:transparent;background:repeating-linear-gradient(35deg,#184c3e,#184c3e 2px,#194d3f 3px,#194d3f 4px) padding-box,repeating-linear-gradient(3deg,#603e29 0px,#6d4730 4px,#503421 5px,#744e32 8px) border-box}.contrast .boardframe{background:linear-gradient(#003c26,#003c26) padding-box,repeating-linear-gradient(3deg,#603e29 0px,#6d4730 4px,#503421 5px,#744e32 8px) border-box}
