:root{font-family:Satoshi,sans-serif;color:#17334b;background:#f4f6f7;--bg:#f4f6f7;--surface:#fff;--ink:#17334b;--muted:#44596b;--line:#d5dde3;--navy:#122e46;--soft:#f5efdf;--gold:#ac8539;--gold-text:#86651f;--gold-tint:rgba(172,133,57,.12);--primary-bg:#122e46;--primary-fg:#fff;--tab-h:64px;font-synthesis:none;-webkit-text-size-adjust:100%}[data-theme=dark]{color:#e3edf4;background:#0c1a26;--bg:#0c1a26;--surface:#1d3547;--ink:#e3edf4;--muted:#b2c2cd;--line:#34506a;--soft:rgba(212,181,106,.14);--gold:#d4b56a;--gold-text:#d4b56a;--gold-tint:rgba(212,181,106,.14);--primary-bg:#d4b56a;--primary-fg:#0e1f2c}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;min-height:44px;display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;padding:10px 14px;background:var(--surface);color:var(--ink);font-size:14px}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.primary,.selected{background:var(--navy);color:#fff;border-color:var(--navy)}header{background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px 32px}.brand{border:0;padding:0;text-align:left;letter-spacing:.12em;font-weight:700}.brand img{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:50%}.brand small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:3px}.header-actions{display:flex;gap:8px}.dev-banner{text-align:center;background:#122e46;color:#e8d29a;padding:8px;font-size:12px;letter-spacing:.02em}main{max-width:1100px;padding:32px 24px;margin:auto}h1{font-size:clamp(22px,3vw,30px);letter-spacing:-.04em;margin:8px 0 12px}h2{font-size:20px;margin:16px 0 12px}h3{font-size:15px;margin-top:24px}p{font-size:15px;line-height:1.65}small,.small{font-size:12px;line-height:1.6}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--gold)}.notice{background:var(--soft);padding:16px;border-radius:8px;line-height:1.6;font-size:14px;margin:20px 0}.card{background:var(--surface);padding:24px;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.page-title,.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row>div{min-width:0}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.badge{padding:4px 8px;background:var(--soft);font-size:12px;border-radius:5px;white-space:nowrap}.parking{display:flex;align-items:flex-start;gap:8px;color:var(--muted);margin:20px 0}.parking p{margin:0}.parking svg{flex-shrink:0;margin-top:4px}.gold{color:var(--gold)}nav{display:flex;gap:8px;margin:24px 0;flex-wrap:wrap}.booking{border-bottom:1px solid var(--line);padding:16px 0;font-size:14px}.booking:last-child{border:0}.booking strong,.booking small,.booking>span{display:block}.booking>span{margin-top:6px}.booking small{color:var(--muted);margin-top:6px}.error,.success{padding:14px 16px;border-radius:8px;font-size:14px;line-height:1.5;margin-bottom:16px;display:flex;justify-content:space-between;gap:12px}.error{background:#faeaea;color:#8a2424}.success{background:#e6f2eb;color:#20533d}.error button,.success button{background:none;border:0;color:inherit;min-height:24px;padding:0 6px;font-size:20px}form{display:grid;gap:16px}label{display:grid;gap:8px;font-size:14px;min-width:0}input,textarea{width:100%;min-width:0;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:12px;font-size:16px}textarea{min-height:100px;resize:vertical}.check{display:flex;gap:8px;align-items:center}.check input{width:18px;height:18px}.member-form{padding:20px 0;border-top:1px solid var(--line)}footer{font-size:12px;color:var(--muted);padding:28px 0}.auth-layout{display:grid;grid-template-columns:.8fr 1fr;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.auth-photo{background:url(../welcome.jpg) center/cover;min-height:300px}.auth-content{padding:32px}.auth-content .primary{width:100%}.auth-content nav{margin:20px 0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#071d32aa;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;z-index:20}.dialog{position:relative;background:var(--surface);padding:28px;border-radius:14px;max-width:520px;width:100%;max-height:90dvh;overflow:auto}.dialog h2{padding-right:32px}.close{position:absolute;right:12px;top:12px;border:0;font-size:24px;background:none}.parking-photo{width:100%;max-height:320px;object-fit:contain;border-radius:8px}.dialog a{color:var(--ink)}.recovery-layout .auth-content{min-width:0}.recovery-layout p{overflow-wrap:anywhere}.recovery-layout h1:focus{outline:none}.recovery-layout button:disabled{cursor:not-allowed}.life-tabs{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.photo-intro{align-items:flex-start;margin:28px 0}.photo-intro h2{display:flex;align-items:center;gap:10px}.photo-intro>.actions{flex-shrink:0}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-tile{display:flex;flex-direction:column;padding:0;overflow:hidden;align-items:stretch;text-align:left;justify-content:flex-start;border-radius:12px;min-width:0}.photo-tile>img,.album-open>img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.photo-tile strong{padding:14px 16px 4px;overflow-wrap:anywhere}.photo-tile>span:not(.album-empty){padding:0 16px 16px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.album-card{padding:0;overflow:hidden;min-width:0}.album-card>p,.album-card>.actions,.album-card>.notice{margin:16px}.album-open{display:flex;flex-direction:column;border:0;width:100%;padding:0;align-items:stretch;justify-content:flex-start;text-align:left}.album-open h3{font-size:18px;margin:16px 16px 8px;overflow-wrap:anywhere}.album-open>span:not(.album-empty){margin:0 16px 16px;font-size:12px;color:var(--muted)}.album-empty{aspect-ratio:4/3;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--gold);text-align:center;padding:16px;width:100%}.photo-view-tabs{margin:24px 0}.photo-form{max-width:780px}.photo-form h2:focus,.photo-viewer h2:focus{outline:none}.photo-form p{overflow-wrap:anywhere}.photo-people{border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0}.photo-people legend{font-size:14px;padding:0 6px}.photo-people>div{max-height:180px;overflow:auto;display:grid;gap:12px}.photo-people .check{min-height:32px}.photo-form .columns,.photo-filters .columns{margin:0}.photo-viewer .row{align-items:flex-start}.photo-viewer h2,.photo-viewer p{overflow-wrap:anywhere}.shared-full{width:100%;max-height:580px;object-fit:contain;display:block;background:var(--soft);border-radius:10px}.photo-tag-list{display:flex;flex-wrap:wrap;gap:8px}.photo-download{margin-top:20px;display:block}.photo-error{white-space:pre-wrap}.photo-grid .card{margin-bottom:0}[data-theme=dark] input[type=time]{color-scheme:dark}.photo-grid .album-card{padding:0}.photo-filters summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px}.photo-filters details[open]>form{margin-top:16px}.check input{flex-shrink:0}@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-intro{flex-direction:column}}@media(max-width:650px){.photo-grid{grid-template-columns:1fr 1fr;gap:10px}.photo-tile strong{font-size:13px;padding:10px 10px 4px}.photo-tile>span:not(.album-empty){padding:0 10px 12px}.album-open h3{font-size:15px;margin:12px 10px 6px}.album-card>.actions{margin:10px;gap:6px}.album-card>.actions button{font-size:12px;padding:8px}.photo-form .columns,.photo-filters .columns{gap:16px}.photo-viewer>.row{flex-direction:column}}.event-intro{margin:28px 0;align-items:flex-start}.event-intro h2{display:flex;gap:10px;align-items:center}.event-intro>button{flex-shrink:0}.event-form{max-width:760px}.event-form h2:focus,.event-detail h2:focus{outline:none}.event-form .columns{margin:0}.calendar-controls{display:flex;align-items:end;gap:14px}.calendar-controls label{flex:1}.calendar-controls button{flex-shrink:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekdays{margin:24px 0 8px;text-align:center;font-size:12px;color:var(--muted)}.calendar-day{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:96px;min-width:0;padding:10px;overflow:hidden;font-size:15px}.calendar-day small{font-size:12px;color:var(--muted)}.calendar-day .day-preview{max-width:100%;font-size:12px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day.chosen-day{border-color:var(--gold);background:var(--soft);box-shadow:inset 0 0 0 1px var(--gold)}.calendar-day.is-today>span:first-child{font-weight:800;text-decoration:underline;text-underline-offset:4px}.calendar-day.other-month{opacity:.45}.event-row{display:flex;width:100%;justify-content:space-between;gap:16px;text-align:left;margin:12px 0;padding:16px}.event-row>div{min-width:0}.event-row strong,.event-row span:not(.badge){display:block;overflow-wrap:anywhere}.event-row span:not(.badge){font-size:12px;margin-top:8px;color:var(--muted)}.event-row.cancelled-event strong{text-decoration:line-through}.event-detail p,.event-detail h2,.event-detail .badge{overflow-wrap:anywhere}.event-detail .badge{white-space:normal;text-align:right}.event-description{white-space:pre-wrap}.event-place,.event-link{display:flex;align-items:center;gap:8px}.event-link{color:var(--ink);font-size:14px}.response-summary{display:flex;flex-wrap:wrap;gap:10px}.no-response{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.no-response summary{cursor:pointer;min-height:44px;font-size:14px}.event-detail h3{padding-top:14px}[data-theme=dark] input[type=month]{color-scheme:dark}@media(max-width:650px){.event-intro{flex-direction:column}.calendar-grid{gap:3px}.event-calendar{padding:12px}.calendar-day{min-height:66px;padding:5px;gap:6px;font-size:13px}.calendar-day small{font-size:12px}.day-preview{display:none!important}.event-form .columns{gap:16px}.event-row{align-items:flex-start}.event-detail>.row{flex-wrap:wrap}.calendar-controls{gap:6px}}.comfort-intro{margin:28px 0;align-items:flex-start}.comfort-intro h2{display:flex;gap:10px;align-items:center}.comfort-intro>button{flex-shrink:0}.comfort-filters form{grid-template-columns:1fr auto;align-items:end;margin-bottom:20px}.comfort-filters .columns{margin-bottom:10px}.comfort-filters .actions{align-items:center;gap:16px}.comfort-item{min-width:0}.comfort-item h2,.comfort-item p{overflow-wrap:anywhere}.comfort-detail{white-space:pre-wrap}.comfort-photo{display:block;width:100%;max-height:240px;object-fit:contain;border-radius:8px;margin-bottom:18px;background:var(--soft)}.comfort-item .badge{white-space:normal}.comfort-form{max-width:720px}.comfort-form h2:focus{outline:none}[data-testid=comforts-page] button:disabled{cursor:not-allowed}.comfort-shopping h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.comfort-shopping .row{align-items:flex-start}.comfort-shopping .row>button{flex-shrink:0}.comfort-shopping fieldset{border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0}.comfort-shopping legend{padding:0 6px;font-size:14px}.shopping-checks{display:grid;grid-template-columns:1fr 1fr;gap:18px}.comfort-shopping p{overflow-wrap:anywhere}@media(max-width:650px){.comfort-shopping>.row{flex-direction:column}.shopping-checks{grid-template-columns:1fr}}@media(max-width:650px){.comfort-intro{flex-direction:column}.comfort-filters .columns{gap:16px}.comfort-filters form{grid-template-columns:1fr}}select{font:inherit;width:100%;padding:12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;min-height:44px}select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[data-theme=dark] input[type=date],[data-theme=dark] input[type=datetime-local]{color-scheme:dark}[data-testid=exercise-page] h2,[data-testid=exercise-page] h3{display:flex;gap:8px;align-items:center;flex-wrap:wrap}[data-testid=exercise-page] .badge{white-space:normal;text-align:right}[data-testid=exercise-page] .card{min-width:0}[data-testid=exercise-page] p{overflow-wrap:anywhere}.exercise-group{margin-top:20px;border-top:1px solid var(--line)}@media(min-width:651px)and (max-width:850px){[data-testid=exercise-page]>.columns{grid-template-columns:1fr}}[data-testid=cabins-page] h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}[data-testid=cabins-page] .badge{white-space:normal;text-align:right}[data-testid=cabins-page] .card{min-width:0}.cabin-note{white-space:pre-wrap;overflow-wrap:anywhere}@media(min-width:651px)and (max-width:850px){[data-testid=cabins-page]>.columns{grid-template-columns:1fr}}@media(max-width:650px){header{padding:14px 16px}main{padding:24px 16px}.columns{grid-template-columns:1fr;gap:0}.auth-layout{display:block}.auth-photo{min-height:180px;max-height:180px;background-position:50% 55%}.auth-content{padding:24px 20px}.card{padding:20px}.page-title{align-items:flex-start}.page-title>button{padding:8px}.dialog{padding:24px 20px}.page-title p{font-size:13px}nav button{padding:10px}.dev-banner{font-size:12px}.brand{font-size:14px}.brand img{width:36px;height:36px}}body{background:var(--bg)}.primary{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg);font-weight:700}.selected{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}button{font-size:15px;border-radius:10px}.eyebrow{color:var(--gold-text)}p{font-size:16px;line-height:1.55}small,.small{font-size:13px}h1{font-size:clamp(26px,4vw,32px);letter-spacing:-.02em;line-height:1.15;margin:4px 0 6px}h2{font-size:21px;letter-spacing:-.01em}.dev-banner{padding:calc(6px + env(safe-area-inset-top)) 16px 6px;font-size:12px;font-weight:500;letter-spacing:.03em}header{padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));position:sticky;top:0;z-index:12}.brand{gap:12px;font-size:15px}.brand img{width:40px;height:40px}.brand small{letter-spacing:.06em;font-size:12px}.icon-btn{width:44px;padding:0}.signout-btn{font-weight:500;padding:10px 16px}.notice{background:var(--gold-tint);border-left:3px solid var(--gold);border-radius:4px 10px 10px 4px;color:var(--ink)}.badge{background:var(--gold-tint);color:var(--gold-text);font-weight:700;font-size:12px;letter-spacing:.04em;border-radius:999px;padding:4px 10px}.card{border-radius:16px;box-shadow:0 1px 2px #17334b0d,0 8px 24px #17334b0d}[data-theme=dark] .card{box-shadow:none}.card-head{display:flex;align-items:center;gap:10px}.card-head h2{margin:0;flex:1;min-width:0}.card-head .gold{flex-shrink:0}.card-actions{display:grid;gap:10px;margin-top:16px}.card-actions .primary{min-height:52px;font-size:16px;width:100%}.quiet{background:transparent;border-color:var(--line);min-height:48px;width:100%;font-weight:500}.empty-line{color:var(--muted);font-size:14px;margin:8px 0 0}.empty{padding:4px 0}.empty strong{display:block;font-size:16px;margin-bottom:4px}.empty p{margin:0;font-size:15px}.meta{color:var(--muted);font-size:14px;margin:0}.page-title{align-items:flex-start;margin-bottom:8px}.refresh-btn{flex-shrink:0;border-color:transparent;background:transparent;color:var(--muted);font-size:13px;padding:8px 10px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{text-align:center}.app-nav{display:flex;flex-wrap:wrap;gap:2px;margin:20px 0 24px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.app-nav button{border-color:transparent;background:transparent;min-height:46px;padding:10px 12px;font-weight:500;color:var(--ink)}.app-nav button.selected{background:var(--primary-bg);color:var(--primary-fg)}.app-nav .count{background:var(--gold);color:#0e1f2c;border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:12px;margin:20px 0}.segmented button{border:0;background:transparent;min-height:44px;font-weight:500}.segmented button.selected{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001f}.auth-content input{min-height:50px}.auth-content .primary{min-height:52px;font-size:16px}.auth-links{display:flex;justify-content:center;margin-top:8px}.link{border:0;background:none;color:var(--ink);text-decoration:underline;text-underline-offset:3px;font-weight:500}.header-actions{display:flex;align-items:center;gap:8px}.icon-btn{position:relative}.icon-btn.on{border-color:var(--gold);color:var(--gold-text)}[data-theme=dark] .icon-btn.on{color:var(--gold)}.dot{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;border-radius:999px;background:var(--gold);color:#0e1f2c;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px;border:2px solid var(--surface);line-height:1}.avatar{width:44px;height:44px;min-height:44px;padding:0;border-radius:999px;justify-content:center;background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg);font-weight:700;font-size:17px}.home-title{margin-bottom:20px}.home-title .eyebrow{display:block;margin-bottom:2px}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.home-tile{flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:6px;min-height:150px;padding:20px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px #17334b0d,0 8px 24px #17334b0d;transition:transform .12s,border-color .12s}[data-theme=dark] .home-tile{box-shadow:none}.home-tile:hover{border-color:var(--gold)}.home-tile:active{transform:scale(.98)}.home-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:var(--gold-tint);color:var(--gold-text);margin-bottom:8px}[data-theme=dark] .home-icon{color:var(--gold)}.home-label{font-size:18px;font-weight:700;color:var(--ink);line-height:1.2}.home-hint{font-size:14px;color:var(--muted);line-height:1.35}.home-tile.has-news .home-hint{color:var(--gold-text);font-weight:700}[data-theme=dark] .home-tile.has-news .home-hint{color:var(--gold)}.back-home{border:0;background:transparent;padding:6px 8px 6px 0;margin:-4px 0 4px;min-height:44px;font-weight:700;font-size:16px;color:var(--ink);gap:2px}.admin-tabs{max-width:420px;margin:4px 0 20px}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:18;background:#071d3299;animation:fade .15s ease-out}.sheet{position:absolute;top:84px;right:16px;width:360px;max-width:calc(100% - 32px);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px 18px 18px;box-shadow:0 20px 50px #00000040}.sheet-grip{display:none}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-head h2{margin:8px 0}.account{padding-top:8px;display:grid;gap:14px}.account strong,.account small{display:block}.account small{color:var(--muted);overflow-wrap:anywhere}.theme-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:12px}.theme-switch button{border:0;background:transparent;font-weight:500;justify-content:center}.theme-switch button.on{background:var(--surface);box-shadow:0 1px 3px #0000001f;font-weight:700}.signout-wide{min-height:52px;width:100%;font-weight:700;font-size:16px;border-color:var(--line);justify-content:center}.confirm{max-width:400px}.confirm h2{margin-top:0}@media(max-width:650px){main{padding:16px 16px calc(32px + env(safe-area-inset-bottom))}.columns{grid-template-columns:1fr;gap:16px}.card{padding:20px}header{gap:8px}.brand{gap:10px;min-width:0}.brand span{font-size:14px;white-space:nowrap}.brand img{width:36px;height:36px}.header-actions{gap:6px}.home-grid{grid-template-columns:1fr 1fr;gap:12px}.home-tile{min-height:148px;padding:16px}.home-label{font-size:17px}.home-hint{font-size:13px}.sheet{top:auto;right:0;left:0;bottom:0;width:auto;max-width:none;border-radius:22px 22px 0 0;border:0;padding:8px 16px calc(24px + env(safe-area-inset-bottom));animation:rise .22s ease-out}.sheet-grip{display:block;width:40px;height:5px;border-radius:9px;background:var(--line);margin:4px auto 6px}.overlay{z-index:20}.auth-layout{grid-template-columns:1fr;border-radius:18px}.auth-photo{min-height:200px}.auth-content{padding:24px 20px}}@media(max-width:360px){.brand small{display:none}.brand span{font-size:12px;letter-spacing:.06em}.brand img{width:30px;height:30px}.header-actions .icon-btn,.avatar{width:40px;height:40px;min-height:40px}}@keyframes rise{0%{transform:translateY(100%)}to{transform:none}}@keyframes fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.sheet,.sheet-overlay,.spin{animation:none}}.games-welcome{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#153c48;color:#f6f0e5;border-radius:18px;padding:2rem;margin-bottom:1.4rem}.games-welcome h2{font-size:clamp(1.5rem,3vw,2.3rem);font-weight:500;letter-spacing:-.04em}.games-welcome p{max-width:580px;line-height:1.65}.games-welcome .eyebrow{color:#e0bd87}.games-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.game-tile{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border-radius:16px;padding:1.5rem;gap:1rem;background:var(--surface);color:var(--ink);min-height:330px;transition:transform .15s}.game-tile:hover{transform:translateY(-3px)}.game-tile strong{font-size:1.6rem;letter-spacing:-.03em}.game-tile>span:not(.eyebrow):not(.game-tile-mark){line-height:1.5}.game-tile-mark{font-size:4.5rem;line-height:1.2;color:#af8246}.game-tile-link{margin-top:auto;font-weight:600}.games-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1rem;align-items:start}.game-back{margin-bottom:1rem}.arcade-hud{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;flex-wrap:wrap}.game-stage{position:relative;max-width:360px;margin:auto;overflow:hidden;border-radius:12px;background:#112e3a}.game-stage canvas{display:block;width:100%;height:auto;outline-offset:-3px}.game-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c293ddd;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:2rem;color:#fff;pointer-events:none}.game-overlay strong{font-size:1.7rem;line-height:1.2}.game-overlay p{color:#d3e1e4}.game-pad{display:flex;gap:.5rem;justify-content:center;margin:1rem 0;touch-action:none;-webkit-user-select:none;user-select:none}.game-pad button{min-height:48px;flex:1;max-width:100px;justify-content:center}.match-row{display:flex;width:100%;flex-direction:column;align-items:flex-start;text-align:left;gap:.3rem;padding:.9rem;margin:.6rem 0}.match-row small{opacity:.75}.earned-crown{display:inline;vertical-align:middle;margin-left:5px}.chess-layout{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:2rem}.chess-board{display:grid;grid-template-columns:repeat(8,1fr);width:100%;aspect-ratio:1;border:5px solid #355254;border-radius:5px;overflow:hidden}.chess-board button{padding:0;min-height:0;border:0;border-radius:0;position:relative;display:grid;place-items:center;aspect-ratio:1;opacity:1!important}.chess-board button.light{background:#dfdac9}.chess-board button.dark{background:#71908c}.chess-board button.chosen{box-shadow:inset 0 0 0 4px #c78b27;background:#e4bc68}.chess-board button.legal{box-shadow:inset 0 0 0 3px #20614b}.chess-board span{font-family:Georgia,Times New Roman,serif;font-size:clamp(23px,4.2vw,43px);line-height:1;z-index:1}.chess-board .white-piece{color:#fffef1;text-shadow:0 1px 1px #152c30,1px 0 1px #152c30,-1px 0 1px #152c30}.chess-board .black-piece{color:#112e38;text-shadow:0 1px 1px #fef8da}.chess-board small{position:absolute;bottom:1px;left:2px;color:#193d3c;font-size:9px;font-weight:600}.chess-board i{width:20%;height:20%;border-radius:50%;background:#24573f99}.chess-history{line-height:2;max-height:220px;overflow:auto;padding:.6rem;border:1px solid var(--line);border-radius:8px;margin-bottom:1rem}.player-stats{padding:1rem 0;border-top:1px solid var(--line);margin-top:1rem}.games .actions{flex-wrap:wrap}@media(max-width:700px){.games-grid,.games-columns,.chess-layout{grid-template-columns:1fr}.games-welcome{padding:1.3rem}.games-welcome>svg{display:none}.game-tile{min-height:0;display:grid;grid-template-columns:1fr auto;gap:.6rem}.game-tile .eyebrow,.game-tile-link,.game-tile>span:not(.game-tile-mark){grid-column:1/-1}.game-tile-mark{grid-row:2;grid-column:2;font-size:3rem}.game-tile strong{grid-row:2;align-self:center}.chess-board span{font-size:clamp(22px,7vw,42px)}.chess-layout{gap:1rem}.games .card{padding:1rem}.game-pad button{font-size:12px;padding:.6rem}.game-stage{max-width:340px}}
