:root{--ink:#273229;--muted:#737567;--paper:#f7f4eb;--cream:#eeeadf;--line:#d8d7c9;--copper:#98663c;--gold:#c6a571;--green:#354c3b;--board-light:#e3ddc6;--board-dark:#bac4a5;--white-piece:#fffaf0;--black-piece:#304a3b;--danger:#a94732;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:4px}[hidden]{display:none!important}a{color:inherit}button{color:inherit}.site-header{height:78px;padding:0 max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;background:#262d25;color:#f6efdd;border-bottom:1px solid #ffffff19}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font:500 28px Georgia,serif;letter-spacing:.17em}.brand-mark{font-size:36px;letter-spacing:0;transform:rotate(-12deg);color:#caaa75}.brand-sub{font:10px ui-sans-serif,system-ui,sans-serif;letter-spacing:.15em;margin-left:10px;opacity:.65}.header-button{background:none;border:1px solid #d4c6a755;border-radius:6px;color:inherit;font-size:12px;padding:10px 15px}.header-button span{margin-left:15px}.hero{min-height:230px;background:#63543c url('assets/saal-panorama.png') center 48%/cover;position:relative;color:#fff8e9}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1b261ee8 0%,#263023a6 38%,#31342613 78%)}.hero-inner{position:relative;max-width:1200px;margin:auto;padding:24px 24px 22px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.16em;color:var(--copper);text-transform:uppercase}.hero .eyebrow{color:#dec493}.hero h1{font:400 clamp(40px,4vw,52px)/1.05 Georgia,serif;margin:12px 0}.hero p{font:15px/1.65 ui-sans-serif,system-ui,sans-serif;color:#f1e8d4;margin:0 0 15px}.hero-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:1px solid var(--line);background:transparent;text-decoration:none;color:var(--ink);font-size:12px;font-weight:550;border-radius:6px;min-height:42px;padding:11px 16px}.button:hover:not(:disabled){background:#e9e5d8}.button-dark{background:var(--green);color:#fff9e9;border-color:var(--green)}.button-dark:hover:not(:disabled){background:#243b2c}.button-light{background:#f3e9d3;border-color:#f3e9d3;color:#243126}.hero-link{font-size:12px;text-decoration:none;border-bottom:1px solid #ead4ab66;padding:8px 0}.edition{position:absolute;right:24px;bottom:28px;font-size:9px;letter-spacing:.15em;color:#f0e4cd}.section-tabs{display:flex;gap:30px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:28px}.section-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:23px 2px 17px;font-size:13px}.section-tabs button[aria-current=page]{border-color:var(--green);color:var(--green);font-weight:650}.section-tabs span{font-size:10px;margin-left:6px;color:var(--muted);background:var(--cream);padding:3px 5px;border-radius:4px}main{max-width:1200px;margin:auto;padding:0 24px 55px}.arena{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:48px;scroll-margin-top:20px}.board-column{min-width:0;max-width:650px}.table-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.table-heading h2{font:400 28px Georgia,serif;margin:7px 0 0}.icon-button{border:0;background:none;padding:8px;font-size:21px}.icon-button span{font:11px ui-sans-serif,system-ui,sans-serif;vertical-align:middle;margin-left:3px}.player-strip{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);padding:0 2px;margin-bottom:9px}.player-strip>span:first-child{display:flex;align-items:center;gap:7px}.side-dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:1px solid #78836a}.black-dot{background:var(--black-piece)}.white-dot{background:var(--white-piece)}.board-shell{padding:10px;background:#7e6744;border-radius:7px;box-shadow:0 10px 25px #4e3f1e14,inset 0 0 0 1px #fff4cf66}.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #394d3655;gap:1px;background:#7f8b6b}.square{position:relative;aspect-ratio:1;background:var(--board-light);border:0;padding:0;min-width:0;color:#35422e;isolation:isolate}.square.dark{background:var(--board-dark)}.square.selected{box-shadow:inset 0 0 0 3px #a66a26}.square.last{background:#d9c38d}.square.checked{box-shadow:inset 0 0 0 3px var(--danger)}.square:focus-visible{outline-offset:-4px;z-index:5}.coordinate{position:absolute;right:4px;bottom:3px;font-size:10px;color:#4a563ee0;line-height:1;z-index:4}.token{position:absolute;left:17%;top:14%;width:66%;height:66%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(145deg,#fffdf4,#eee7d0);border:1px solid #978b6e;box-shadow:0 3px 0 #8c8163,0 4px 6px #333d2e26;color:#4a513e;z-index:2}.token.black{background:linear-gradient(145deg,#49624c,#263c2e);color:#f3e8ca;border-color:#728566;box-shadow:0 3px 0 #1b3122,0 4px 6px #293b2c33}.token.crown{border-radius:26%}.token.under{top:calc(14% + var(--drop));z-index:1;box-shadow:0 2px 0 #8c8163}.token.under.black{box-shadow:0 2px 0 #1b3122}.piece-art{width:58%;height:58%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.piece-letter{position:absolute;font:500 10px Georgia,serif;bottom:3px;right:6px;opacity:.8}.stack-height{position:absolute;left:4px;top:3px;font-size:10px;font-weight:650;color:#3b472e;z-index:4}.target{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:29px;color:#6b4e17;z-index:4;pointer-events:none}.target.occupied{inset:auto 2px 2px auto;background:#faf1d7;border:1px solid #8e6a2e;width:23px;height:23px;border-radius:50%;font-size:19px;line-height:1}.bottom-strip{margin:12px 0 0}.game-status{font:500 16px Georgia,serif;margin:22px 0 5px;min-height:21px}.board-instruction{font-size:11px;color:var(--muted);margin:0 0 18px}.piece-detail{border-top:1px solid var(--line);display:flex;gap:14px;align-items:flex-start;padding-top:16px;min-height:76px}.detail-icon{font:32px Georgia,serif;color:var(--copper);min-width:32px;text-align:center}.piece-detail strong{display:block;font-size:12px;margin-bottom:5px}.piece-detail span:not(.detail-icon){display:block;font-size:12px;line-height:1.5;color:var(--muted)}.table-sidebar{display:flex;flex-direction:column;gap:16px;padding-top:3px}.sidebar-card{border:1px solid var(--line);border-radius:9px;background:#fcfaf4;padding:22px}.sidebar-card h3{font:400 25px Georgia,serif;margin:8px 0 20px}.sidebar-card label{display:block;font-size:10px;letter-spacing:.03em;margin:15px 0 7px;color:var(--muted)}select{font-size:12px;border:1px solid var(--line);color:var(--ink);background:#f7f4eb;border-radius:5px;min-height:42px;padding:10px;width:100%}.button-pair{display:flex;gap:8px;margin-top:18px}.button-pair .button{flex:1;padding-inline:10px}.text-button{border:0;background:none;color:var(--copper);font-size:11px;line-height:1.5;padding:9px 0;text-align:left;text-decoration:none}.note{font-size:11px;color:var(--muted);line-height:1.6}.sidebar-card .note{margin:8px 0 0}.compact-card{padding:19px 22px}.card-topline{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.card-topline h3{font-size:19px;margin:0}.piece-guide{display:grid;gap:12px;margin:15px 0 4px}.guide-row{display:grid;grid-template-columns:29px 1fr;gap:10px;align-items:center}.guide-row svg{height:25px;width:25px;color:var(--copper)}.guide-row strong{display:block;font-size:11px;font-weight:600}.guide-row span{display:block;font-size:10px;color:var(--muted);line-height:1.5}.inline-link{display:inline-block;margin-top:10px}.move-card summary{font-size:12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.move-card summary span{color:var(--muted);font-size:10px}.move-list{display:grid;gap:5px;font-size:11px;line-height:1.6;color:var(--muted);padding-top:13px;max-height:190px;overflow:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading h2{font:400 28px Georgia,serif;margin:8px 0 0}.section-heading p{font-size:11px;color:var(--muted);max-width:190px;line-height:1.6;margin:0}.puzzle-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:35px}.puzzle-card{background:#fcfaf4;border:1px solid var(--line);border-radius:7px;min-height:112px;text-align:left;padding:14px;position:relative}.puzzle-card:hover{border-color:#a5ae94}.puzzle-card.active{border:2px solid var(--green);padding:13px}.puzzle-card.done::after{content:'✓';position:absolute;top:12px;right:12px;color:var(--green);font-size:12px}.puzzle-card small{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--copper);margin:8px 0}.puzzle-card strong{font:400 17px Georgia,serif;display:block}.puzzle-number{font-size:10px;color:var(--muted)}.puzzle-controls h3{margin-bottom:12px}.puzzle-controls>p{font-size:13px;line-height:1.65}.puzzle-feedback{color:var(--copper);min-height:20px}.puzzle-feedback.success{color:#35633f}.hint{padding:12px;background:#f1e9d7;border-radius:5px;font-size:12px!important}.full-width{width:100%;margin-top:14px}.rules-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin:25px 0 50px}.rules-intro h2{font:400 44px/1.15 Georgia,serif;margin:15px 0}.rules-intro p{font-size:14px;line-height:1.8;color:var(--muted);max-width:450px;margin-bottom:22px}.rules-intro img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.rules-grid article{border-top:1px solid var(--line);padding-top:22px}.rule-number{font:14px Georgia,serif;color:var(--copper)}.rules-grid h3{font:400 24px Georgia,serif;margin:12px 0}.rules-grid p{font-size:13px;line-height:1.8;color:#656c5e}.development-note{background:var(--cream);padding:25px;border-radius:8px;margin-top:40px;font-size:12px;line-height:1.7}.development-note p{margin-bottom:0;color:var(--muted)}.site-footer{max-width:1200px;margin:auto;border-top:1px solid var(--line);padding:27px 24px 35px;display:flex;align-items:center;gap:25px;justify-content:space-between}.site-footer>span{font:20px Georgia,serif;letter-spacing:.15em}.site-footer small{display:block;font:8px ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;margin-top:6px;color:var(--muted)}.site-footer p{font-size:11px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#263c2e;color:#fff8e7;border-radius:8px;box-shadow:0 6px 25px #0003;padding:13px 20px;font-size:12px;z-index:20;max-width:calc(100% - 30px);text-align:center}dialog{border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);max-width:500px;width:calc(100% - 30px);padding:24px}dialog::backdrop{background:#14211699}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading h2{font:25px Georgia,serif;margin:0}dialog p{font-size:12px;color:var(--muted)}dialog textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:5px;background:#fffdf5;padding:12px;font-size:12px;color:var(--ink);margin-bottom:14px}.skip-link{position:absolute;top:-100px;left:15px;z-index:50;padding:15px;background:var(--paper)}.skip-link:focus{top:10px}.noscript{padding:30px;text-align:center}@media(min-width:1100px){.hero-inner{padding-left:0}.hero{min-height:230px}}@media(max-width:950px){.arena{gap:25px;grid-template-columns:minmax(0,1fr) 270px}.sidebar-card{padding:18px}.hero{min-height:230px}.rules-grid{grid-template-columns:repeat(2,1fr)}.brand-sub{display:none}.rules-intro{gap:30px}.board-shell{padding:7px}}@media(max-width:740px){.site-header{height:64px;padding:0 18px}.brand{font-size:24px}.brand-mark{font-size:30px}.header-button{font-size:11px;padding:9px 12px}.header-button span{margin-left:6px}.hero{min-height:230px;background-position:61% center}.hero::before{background:linear-gradient(90deg,#18251ee6,#29312570 70%,#25342620)}.hero-inner{padding:22px 20px 30px}.hero h1{font-size:44px}.hero p{font-size:13px}.edition{font-size:8px;bottom:12px;right:17px}.hero-actions{gap:18px}.hero-link{font-size:11px}main{padding:0 14px 35px}.section-tabs{gap:25px;margin-bottom:22px}.section-tabs button{padding-top:20px}.arena{display:flex;flex-direction:column;gap:18px}.board-column{width:100%;max-width:560px;margin:auto}.table-sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:12px}.move-card{grid-column:1/-1}.table-heading{margin-bottom:17px}.table-heading h2{font-size:25px}.table-heading .eyebrow{font-size:9px}.piece-letter{bottom:2px;right:5px;font-size:9px}.board-shell{padding:7px}.coordinate{font-size:10px}.game-status{margin-top:18px}.section-heading{align-items:start}.section-heading h2{font-size:25px}.section-heading p{display:none}.puzzle-cards{grid-template-columns:repeat(2,1fr);margin-bottom:25px}.puzzle-card{min-height:102px}.rules-intro{grid-template-columns:1fr;gap:25px;margin:20px 0 35px}.rules-intro h2{font-size:37px}.rules-intro img{aspect-ratio:16/8}.rules-grid{gap:25px}.site-footer{flex-wrap:wrap;gap:15px;padding:24px 20px}.site-footer p{order:3;width:100%;margin:0}.site-footer .text-button{margin-left:auto}}@media(max-width:430px){main{padding-inline:10px}.site-header{padding-inline:14px}.hero-inner{padding-left:17px}.hero h1{font-size:40px}.header-button{font-size:10px}.table-sidebar{display:flex;flex-direction:column}.sidebar-card{width:100%}.compact-card .piece-guide{grid-template-columns:1fr 1fr}.board-shell{padding:5px;border-radius:4px}.square{min-height:0}.coordinate{right:2px;bottom:2px;font-size:9px}.token{width:67%;height:67%;left:16.5%;top:12%;border-width:1px}.token.under{top:calc(12% + var(--drop))}.piece-letter{font-size:8px;right:3px;bottom:1px}.piece-art{width:56%;height:56%;margin-top:-2px}.stack-height{font-size:9px;left:2px;top:2px}.target.occupied{width:18px;height:18px;font-size:15px}.player-strip{font-size:10px}.rules-grid{grid-template-columns:1fr}.rules-grid h3{font-size:23px}.section-tabs{gap:23px}.section-tabs button{font-size:12px}.button,.header-button,select{min-height:44px}.icon-button{min-height:44px}.puzzle-card{min-height:108px}.table-heading .icon-button{font-size:18px}.table-heading .icon-button span{font-size:10px}.table-heading h2{font-size:24px}.board-instruction{font-size:10px;line-height:1.7}}
@media(max-width:740px){.arena>.puzzle-controls{padding:15px 17px;width:100%;margin:0}.arena>.puzzle-controls h3{font-size:24px;margin:6px 0 9px}.arena>.puzzle-controls #puzzle-instruction{font-size:12px;line-height:1.6;margin:0 0 12px}.arena>.puzzle-controls .puzzle-feedback:empty{display:none}.arena>.puzzle-controls .button-pair{margin-top:0}.arena>.puzzle-controls .hint{margin-bottom:0}}
/* Accounts and rated tables */
.header-actions{display:flex;align-items:center;gap:14px}.account-chip{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:11px;max-width:230px}.account-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-chip strong{white-space:nowrap;font-size:10px;color:#e4c793;background:#ffffff10;padding:7px 9px;border-radius:5px;font-weight:500}.section-tabs{overflow-x:auto;scrollbar-width:thin}.section-tabs button{flex-shrink:0;white-space:nowrap}.section-intro{font-size:13px;line-height:1.8;color:var(--muted);max-width:760px;margin:0 0 22px}.ranked-lobby{margin-bottom:30px;scroll-margin-top:24px}.join-form{display:grid;gap:8px;max-width:600px}.join-form>label,#profile-form>label{font-size:11px;color:var(--muted);display:block;margin-bottom:7px}.join-form>div,.profile-input{display:flex;gap:9px}.join-form input,.profile-input input{font:12px ui-sans-serif,system-ui,sans-serif;min-width:0;flex:1;min-height:44px;padding:12px;border:1px solid var(--line);border-radius:5px;background:#fffdf6;color:var(--ink)}input:focus-visible{outline:2px solid var(--copper);outline-offset:2px}.form-message{font-size:12px;line-height:1.6;color:#92502f;min-height:0}.form-message:empty{display:none}.active-room-list{display:grid;gap:10px;margin-top:18px}.room-link{display:flex;justify-content:space-between;gap:16px;border:1px solid var(--line);border-left:3px solid var(--green);padding:15px 18px;border-radius:6px;background:#f1efe3;text-decoration:none;font-size:12px}.room-link span{color:var(--muted);font-size:11px}.room-link:hover,.history-row:hover{background:#ece9dc}.online-controls>p{font-size:12px;line-height:1.7}.online-controls h3{margin-bottom:13px}.danger-link{color:#9a4537;margin-top:15px}.rating-result{margin-top:16px;padding:12px;background:#eaf0e3;border-radius:6px}.rating-result p{margin:0 0 8px;font-size:11px}.rating-result p:last-child{margin-bottom:0}.rating-result strong,.rating-result span{display:block;line-height:1.6}.rating-result span{color:var(--muted)}.account-panel{scroll-margin-top:25px}.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:28px}.profile-card{background:#fcfaf4;border:1px solid var(--line);border-radius:9px;padding:28px;min-width:0}.profile-card h3{font:28px Georgia,serif;margin:12px 0}.rating-display{display:flex;align-items:flex-end;gap:16px;margin:20px 0}.rating-display>strong{font:56px/1 Georgia,serif}.rating-display>span{font-size:11px;color:var(--muted);line-height:1.6;padding-bottom:3px;max-width:150px}.account-stats{display:flex;gap:32px;padding:18px 0 24px;margin-bottom:24px;border-block:1px solid var(--line)}.account-stats>div{display:grid;gap:6px}.account-stats strong{font:24px Georgia,serif}.account-stats span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.leaderboard{max-height:390px;overflow:auto;margin-top:20px}.leader-row{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.leader-row strong{font-weight:500;overflow-wrap:anywhere}.leader-rank{font:16px Georgia,serif;color:var(--copper)}.leader-rating{font-size:10px;color:var(--muted);text-align:right}.match-history{margin-top:42px}.history-list{border-top:1px solid var(--line)}.history-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 15px;border-bottom:1px solid var(--line);text-decoration:none;font-size:12px}.history-row strong{font-weight:550;overflow-wrap:anywhere}.history-row small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.history-result{white-space:nowrap;font-size:11px;color:var(--copper)}.session-warning{background:#f0e1cb;border:1px solid #d0b38b;padding:14px 18px;margin:0 0 25px;border-radius:7px;font-size:13px;line-height:1.7}.session-warning a{font-weight:600;margin-left:8px}.detail-icon{flex:0 0 32px;max-width:32px}.detail-icon .piece-art{width:28px;height:32px}.table-sidebar .online-controls .note{font-size:11px}.profile-input .button{flex-shrink:0}.ranked-lobby .section-heading .button{flex-shrink:0}
@media(max-width:740px){.header-actions{gap:10px}.account-chip{max-width:155px;gap:6px}.account-chip span{max-width:85px}.account-chip strong{padding:6px;font-size:9px}.account-grid{grid-template-columns:1fr;gap:16px}.profile-card{padding:22px}.ranked-lobby .section-heading{align-items:flex-start;flex-direction:column;gap:17px}.room-link{flex-direction:column;gap:7px}.section-tabs{gap:20px}.section-tabs button{font-size:12px}.online-controls{grid-column:1/-1}.history-row{padding:16px 8px}.leader-row{grid-template-columns:22px minmax(0,1fr) auto;gap:6px}.leader-rating{max-width:85px;line-height:1.6}.account-panel .section-heading{align-items:center}.account-panel .section-heading .text-button{white-space:nowrap}.account-grid .note{font-size:11px}.section-intro{font-size:12px}}
@media(max-width:430px){.site-header .brand{font-size:21px;gap:8px}.site-header .brand-mark{font-size:27px}.account-chip span{display:none}.account-chip strong{font-size:10px;padding:8px}.header-actions{gap:7px}.header-button{padding-inline:10px}.section-tabs{gap:17px}.section-tabs button{font-size:11px}.section-tabs span{margin-left:3px;font-size:9px}.join-form>div{gap:7px}.join-form .button{font-size:11px;padding-inline:12px}.account-grid{gap:14px}.rating-display{gap:13px}.rating-display>strong{font-size:50px}.profile-card{padding:19px}.history-row{align-items:flex-start}.history-result{font-size:10px}.history-row strong{font-size:11px}.account-stats{gap:35px}.profile-input{gap:7px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
