/* Shared spacing and hierarchy, retaining the collection's original boards and materials. */
:root{--ui-ink:#302518;--ui-muted:#66563d;--ui-accent:#265e60;--ui-border:#a68c5c;--ui-paper:#f4e8cc}
*,*::before,*::after{box-sizing:border-box}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #398491;outline-offset:3px}button:disabled{cursor:not-allowed}
.player-appbar{gap:16px;padding-block:12px;box-shadow:0 2px 12px #0003}.player-appbar nav{gap:18px}.player-appbar .account-open{border-radius:999px;padding:6px 14px 6px 6px;box-shadow:none;background:#493827;font-size:14px}.player-appbar .language-control{margin-left:auto}.player-appbar .language-select{min-width:144px;font-size:14px}.player-appbar>button:not(.account-open){font-size:13px;min-height:44px;padding:10px 12px;border-radius:5px;box-shadow:none}.player-brand{flex-shrink:0}.player-appbar nav a{white-space:nowrap}
.account-page{max-width:1120px;padding:28px;border:1px solid #a98b58;border-radius:12px;box-shadow:0 12px 35px #0004}.player-hall{max-width:1200px}.hall-title{margin:28px 0}.hall-title h1{font-size:clamp(30px,4vw,44px)}.account-page .profile-hero{padding-top:0}.account-page .journal-tabs{max-width:640px}.account-journal .journal-card{background:#fffaf0b8;border-color:#b79c6959;border-radius:9px;box-shadow:none}.journal-stats>div{padding:16px;background:#fffaf0b8}.journal-stats strong{font-size:32px}.journal-stats span{font-size:14px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.dashboard-card{margin:0!important;min-width:0;padding:22px!important}.dashboard-wide{grid-column:1/-1}.dashboard-card h3{font-size:22px;margin-bottom:14px}.dashboard-card p{margin:10px 0;line-height:1.55}.dashboard-card small{font-size:13px;line-height:1.5;color:var(--ui-muted)}.dashboard-row{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;border-bottom:1px solid #ab956733;padding:12px 0}.dashboard-row>small{flex-basis:100%;order:3}.dashboard-row>span,.dashboard-row>strong,.dashboard-row>a{flex:1;min-width:120px;overflow-wrap:anywhere}.dashboard-card .dashboard-row button{margin:0}.dashboard-card label{font-size:14px;margin-top:14px}.dashboard-card input{margin-bottom:10px}.dashboard-card progress{width:100%;height:10px;accent-color:var(--ui-accent);margin:4px 0 18px}.lesson-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lesson-progress-item{padding:12px 14px;border:1px solid #c9b688;border-radius:6px;background:#efe4c8}.lesson-progress-item>span{font-size:12px;color:var(--ui-muted)}.lesson-progress-item a{font-weight:600;margin-top:4px}.dashboard-details{margin-top:24px;border-top:1px solid #a98c5955;padding-top:20px}.dashboard-details>summary{font-size:18px;cursor:pointer;min-height:44px}.account-page .journal-panel{min-width:0}
.room-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:16px;align-items:end;margin-top:20px}.room-filters label{display:flex;flex-direction:column;gap:7px;font-size:14px}.room-filters select{width:100%;min-height:46px;border:1px solid var(--ui-border);background:var(--ui-paper);color:var(--ui-ink);border-radius:5px;font:15px Georgia,serif;padding:10px}.room-filters button,.room-card button,.room-empty button{min-height:44px;padding:10px 16px;font-size:14px;border-radius:5px;box-shadow:none}.room-filters button{background:#e8d8b7;color:var(--ui-ink)}#room-filter-status{font-size:14px;min-height:24px;color:#d7c39b;margin:14px 0}.rooms-section #game-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin:0}.room-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:18px;border:1px solid #b19a6b66;border-radius:8px;background:#edddba;color:var(--ui-ink)}.room-card img{width:40px;height:40px;object-fit:contain}.room-card h4{margin:0 0 4px;font-size:19px}.room-card p{margin:3px 0;overflow-wrap:anywhere;font-size:14px}.room-card small{font-size:13px;color:var(--ui-muted)}.room-badge{grid-column:2;color:var(--ui-accent);font-size:12px}.room-card button{grid-column:3;grid-row:1/3;background:var(--ui-accent);color:#fff7df}.room-empty{grid-column:1/-1;text-align:center;padding:30px 20px;border:1px dashed #b99d69;border-radius:8px;background:#f2e2bf0c}.room-empty h4{font-size:22px;margin:0 0 10px}.room-empty p{font-size:15px}.room-empty button{background:#d7c090;color:var(--ui-ink)}
.record-page{max-width:1200px;border:1px solid #a98b58;border-radius:10px;padding:28px;margin:28px auto}.record-page h1{font-size:clamp(28px,4vw,38px);margin:16px 0}.record-page label{display:block;margin:14px 0 8px}.record-page input:not([type=range]):not([type=checkbox]),.record-page textarea{max-width:100%;padding:10px;background:#fffaf0;border:1px solid #a98b58;border-radius:5px;font:16px/1.5 Georgia,serif;color:var(--ui-ink)}.replay-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:24px;align-items:start}.replay-table{min-width:0}.replay-board{margin-top:8px}.match-analysis{padding:20px;background:#fffaf0aa;border:1px solid #b3986755;border-radius:8px;margin-top:8px}.match-analysis h2{margin:4px 0 12px;font-size:25px}.match-analysis h3{font-size:17px;margin:18px 0 10px}.match-analysis p{font-size:15px;margin:10px 0}.match-analysis .analysis-note{font-size:13px;color:var(--ui-muted);padding-bottom:14px;border-bottom:1px solid #b3986755}.match-analysis li{padding:7px 0}.match-analysis li strong{font-size:14px}.match-analysis li small{display:block;font-size:13px;color:var(--ui-muted)}.match-analysis ul{padding-left:20px}.match-analysis .eyebrow{font-size:10px;letter-spacing:.16em;margin:0}.replay-journal{padding:20px;background:#fffaf080;border:1px solid #b3986755;border-radius:8px}.replay-journal input:not([type=checkbox]),.replay-journal textarea{width:100%}.record-page .replay-controls{gap:6px}.replay-controls button{padding:9px 12px;font-size:14px}.replay-controls #replay-play{background:var(--ui-accent);color:#fff7df}.replay-controls #record-download,.replay-controls #record-keep{font-weight:400}#replay-actions button{min-height:44px;text-align:left}.record-page [hidden]{display:none!important}
@media(max-width:1000px){.player-appbar{flex-wrap:wrap}.player-appbar nav{order:4;flex-basis:100%;justify-content:center}.rooms-section #game-list{grid-template-columns:1fr}.replay-workspace{grid-template-columns:minmax(0,1fr) minmax(250px,.85fr)}}
@media(max-width:700px){.player-appbar{gap:10px;padding:12px 14px}.player-appbar .language-control{margin-left:0;order:3;flex:1}.player-appbar .language-select{width:100%}.player-appbar>button:not(.account-open){order:3}.player-appbar nav{font-size:14px;gap:10px;justify-content:space-between}.player-appbar .account-open{max-width:62%}.player-hall{padding:0 12px 28px}.account-page{padding:18px;border-radius:8px}.dashboard-grid{grid-template-columns:1fr;gap:12px}.dashboard-wide{grid-column:auto}.dashboard-card{padding:18px!important}.lesson-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-filters{grid-template-columns:1fr;gap:12px}.room-filters button{justify-self:start}.room-card{grid-template-columns:32px minmax(0,1fr) auto;padding:14px;gap:10px}.room-card img{width:32px;height:32px}.room-card h4{font-size:17px}.room-card button{padding:10px;font-size:13px}.replay-workspace{grid-template-columns:1fr;gap:12px}.record-page{margin:12px;padding:16px;min-height:0}.replay-controls{position:static!important}.replay-controls button{flex:1 1 auto;white-space:normal!important}.match-analysis{margin-bottom:16px}.replay-journal{padding:16px}.record-page #replay-actions{max-height:320px}.profile-hero h3{font-size:26px}.profile-hero>img{width:64px;height:64px}.journal-stats{gap:8px}.journal-stats>div{padding:12px 6px}.journal-stats strong{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#replay-reserves{overflow-wrap:anywhere}.player-appbar .account-open img{flex-shrink:0}.room-card small{overflow-wrap:anywhere}

.record-import{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px}.record-import input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.record-import span{font-size:14px;color:var(--ui-muted)}
