/* Dochar 4.4 — four tiles, jade discovery, warm gold. */
:root{--paper:#0b1420;--card:#121f2e;--ink:#edf5f3;--muted:#a4b7bd;--line:#2a3e4c;--green:#6ce3ba;--green-light:#183d37;--gold:#edc364;--purple:#c6acf0;--panel-soft:#192c3c;--panel-quiet:#101c2a;--button-ink:#0b2b23;--shadow:0 20px 65px #0003;--radius:24px}
html[data-theme=light]{--paper:#f5f4ee;--card:#fffef9;--ink:#203d37;--muted:#586f67;--line:#d6dfd5;--green:#176a55;--green-light:#e4f1e8;--gold:#956719;--purple:#77519b;--panel-soft:#edf3ec;--panel-quiet:#f8f9f3;--button-ink:#fff;--shadow:0 18px 60px #1d4b3710}
body,html[data-theme=light] body{background:radial-gradient(ellipse at 85% 0,#26736518,transparent 56%),var(--paper)}
#welcomeScreen{display:none}#signedOutScreen{display:none}.game-page{display:none}
html[data-screen=welcome] #welcomeScreen{display:flex}
html[data-screen=play] .game-page{display:block}
html[data-screen=signedout] #signedOutScreen{display:flex}
html[data-screen=signedout] #modalBackdrop{display:none!important}
body,.board,.board-top,.game-hud>div,.entry-card,.v4-dialog,.secondary,.word-input,.word-policy,.menu-item{transition:background-color .2s,color .2s,border-color .2s}
.welcome-screen{padding:40px 32px;min-height:100svh;background:none;align-items:center}
.welcome-shell{width:min(980px,100%);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;margin:auto}
.welcome-identity{text-align:center;position:relative}
.welcome-identity .welcome-theme{position:absolute!important;inset-inline-end:0!important;top:0!important;margin:0;font-size:11px;min-height:40px;background:var(--panel-quiet)}
.welcome-identity h1{font-size:76px;line-height:1.45;letter-spacing:-3px;color:var(--ink)}
.welcome-logo{--logo-size:292px;width:220px;height:220px;position:relative;margin:26px auto 0;overflow:visible}
.welcome-logo img{width:var(--logo-size);height:var(--logo-size);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:none;animation:logo-base .85s both}
.logo-fragment{position:absolute;inset:0;background:url('/brand/dochar-logo.png') center/var(--logo-size) var(--logo-size) no-repeat;pointer-events:none;animation:logo-assemble .8s cubic-bezier(.2,.8,.2,1) both}
.logo-fragment.f1{clip-path:inset(0 50% 50% 0);--dx:-24px;--dy:-18px}
.logo-fragment.f2{clip-path:inset(0 0 50% 50%);--dx:24px;--dy:-18px;animation-delay:40ms}
.logo-fragment.f3{clip-path:inset(50% 50% 0 0);--dx:-20px;--dy:20px;animation-delay:80ms}
.logo-fragment.f4{clip-path:inset(50% 0 0 50%);--dx:20px;--dy:20px;animation-delay:120ms}
@keyframes logo-base{0%,85%{opacity:0}100%{opacity:1}}
@keyframes logo-assemble{0%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(-6deg)}35%{opacity:1}90%{opacity:1;transform:none}100%{opacity:0;transform:none}}
.welcome-tagline{font-size:26px;color:var(--ink);margin-top:4px;letter-spacing:-.6px}.welcome-slogan{font-size:16px;color:var(--green);margin-top:10px}.brand-modes{display:flex;align-items:center;justify-content:center;gap:13px;font-size:11px;color:var(--muted);margin:28px 0 12px}.brand-modes i{width:4px;height:4px;border-radius:50%;background:var(--gold)}
.entry-card{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.entry-eyebrow{color:var(--green);font-size:11px;display:block;margin-bottom:9px}.entry-card h2{font-size:25px;letter-spacing:-.5px;line-height:1.7}.entry-description{font-size:13px;line-height:2;color:var(--muted);margin:10px 0 24px;min-height:26px}.entry-card>.primary,.entry-card>.secondary{min-height:53px;font-size:14px}.entry-card>.text-button{margin-top:12px;font-size:13px;min-height:44px}.entry-card .error:empty{display:none}.entry-card .error{margin:10px 0;min-height:0}.entry-card #quickPlay{margin-top:11px}.welcome-links{border-top:1px solid var(--line);padding-top:14px;gap:4px;margin-top:24px}.welcome-links .text-button{min-height:40px;padding-inline:8px;font-size:11px}
.install-entry{border:0;border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:7px;background:transparent;color:var(--muted);font-size:12px;width:100%;padding:20px 0 0;margin-top:20px;min-height:44px}.install-entry small{width:100%;font-size:10px;direction:ltr;color:var(--muted)}.install-symbol{color:var(--green);font-size:20px;line-height:1}.install-entry:hover{color:var(--green)}
.signed-out-screen{align-items:center;justify-content:center;min-height:100svh;padding:30px 20px}.exit-card{width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:24px;padding:32px;text-align:center}.exit-card img{object-fit:contain}.exit-card h1{font-size:27px;letter-spacing:-.5px;margin-bottom:12px}.exit-card p{line-height:2;font-size:14px;color:var(--muted)}.exit-card button{margin-top:14px}
.menu-dialog{max-width:430px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-item{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel-quiet);border-radius:14px;min-height:67px;padding:13px;font-size:13px;color:var(--ink)}.menu-item:hover{border-color:var(--green);background:var(--green-light)}.exit-action{color:#f3a7a1}.menu-grid .exit-action{grid-column:1/-1}.exit-dialog p{font-size:14px;margin-bottom:15px}.exit-warning{border:1px solid var(--gold);background:var(--panel-quiet);padding:12px;border-radius:13px;color:var(--gold)}.exit-dialog #localExit{margin-top:15px;line-height:1.8;color:var(--muted);font-size:12px}.install-logo{width:70px;height:70px;display:block;margin:0 auto 8px}.install-steps{padding-inline-start:24px;font-size:14px;line-height:2.1;margin:18px 0 22px}.install-steps li{padding-inline-start:5px;margin:9px 0}.install-dialog #nativeInstall{width:100%}
.topbar{min-height:84px;padding-block:14px}.top-tools{gap:10px}.header-player{margin-inline-end:10px}.header-player .player-greeting{color:var(--muted)}.subtle-button:hover{background:var(--panel-soft)}.menu-trigger{display:flex;align-items:center;gap:7px}.menu-trigger span{color:var(--green);font-size:17px}
.board-top{padding:18px 24px;background:var(--panel-quiet);border-color:var(--line)}.board-title{font-size:14px}.word-input,.profile-input{background:var(--panel-quiet);color:var(--ink);border-color:var(--line)}.word-input:focus,.profile-input:focus{outline-color:var(--green);outline-width:2px}.primary{background:var(--green);border-color:var(--green);color:var(--button-ink);border-radius:13px}.primary:hover{background:#92edcd;color:#0b2b23}.secondary{border-radius:13px;min-height:44px}.text-button{min-height:40px}.mode-switch{background:var(--panel-quiet);border:1px solid var(--line)}.mode-switch button[aria-pressed=true]{background:var(--green-light);color:var(--green);box-shadow:none}.tag{background:var(--green-light);border:1px solid var(--line);color:var(--green)}.secret-tile{background:var(--panel-soft);color:var(--muted);border-color:var(--line)}.secret-tile.revealed{background:var(--green-light);border-color:var(--green);color:var(--green)}
.game-hud>div{min-width:0}.coin-wallet{display:flex;align-items:center;justify-content:center;min-width:66px;min-height:44px;margin:2px auto;padding:4px 5px;border:1px solid transparent;background:transparent;border-radius:12px;cursor:pointer;color:var(--gold);max-width:100%}.coin-wallet:hover{border-color:var(--line);background:var(--panel-quiet)}.coin-pile{display:flex;justify-content:center;align-items:center;direction:ltr;min-height:30px}.coin-pile img{display:block;width:29px;height:29px;flex-shrink:0;filter:drop-shadow(0 2px 2px #0003)}.coin-pile img+img{margin-left:-9px}.coin-more{display:inline!important;font-size:16px!important;font-weight:700;color:var(--gold)!important;margin-left:3px}.empty-wallet{display:flex!important;align-items:center;gap:6px;font-size:11px!important;color:var(--muted)!important;line-height:1.5}.empty-wallet:before{content:'';display:inline-block;min-width:17px;height:17px;border:1px dashed var(--muted);border-radius:50%;opacity:.7}.mini-wallet{min-width:44px;margin:0;padding:0}.mini-wallet .coin-pile img{width:22px;height:22px}.mini-wallet .coin-pile img+img{margin-left:-10px}.mini-wallet .empty-wallet{font-size:9px!important}.coin-flight{position:fixed;width:32px;height:32px;z-index:120;pointer-events:none}.discovery-particle{position:fixed;width:7px;height:7px;border-radius:2px;z-index:110;pointer-events:none}
.last-result{background:var(--green-light);border-color:var(--line)}.result-code{border-color:var(--line)}.result-text{font-size:13px}.history-row,.history-row:first-child{background:var(--panel-quiet);border-color:var(--line)}.history-row:first-child{background:var(--green-light)}.cell-pop{animation:arrive .2s ease-out}.celebration{animation:none}.game-hud{border-color:var(--line);background:var(--panel-quiet)}.game-hud>div{background:var(--panel-soft)}.game-hud output{color:var(--green)}.game-hud strong{color:var(--ink)}.hint-picker-card{background:var(--panel-quiet);border-color:var(--line)}.hint-picker-card>summary{min-height:46px}.online-state-message{background:var(--panel-soft);color:var(--ink)}.chat-panel{background:var(--card);border-color:var(--line)}.chat-message.mine .chat-bubble{background:var(--green-light);border-color:var(--line)}.chat-message.theirs .chat-bubble{background:var(--panel-soft);border-color:var(--line)}.chat-form textarea{background:var(--panel-quiet);color:var(--ink);border-color:var(--line)}.chat-bubble{font-size:15px;line-height:1.9}.v4-dialog{box-shadow:0 24px 80px #0005}
html[data-theme=light] .exit-action{color:#a63a35}html[data-theme=light] .primary:hover{background:#125843;color:#fff}html[data-theme=light] .welcome-tagline{color:var(--ink)}html[data-theme=light] .secret-tile{background:var(--panel-soft)}html[data-theme=light] .word-input{background:var(--card)}
@media(min-width:781px){.active-game .game-hud{grid-template-columns:repeat(3,minmax(0,1fr))}.active-game .board-top{padding-block:14px}.active-game .topbar{min-height:76px}.active-game .board-body{padding:18px 22px}}
@media(max-width:780px){.welcome-screen{padding:22px 20px 30px;align-items:flex-start}.welcome-shell{grid-template-columns:1fr;gap:20px;max-width:430px}.welcome-identity .welcome-theme{font-size:10px;top:0!important;min-height:34px;padding:5px 10px}.welcome-logo{--logo-size:232px;width:174px;height:160px;margin:15px auto 0}.welcome-identity h1{font-size:53px;line-height:1.4;letter-spacing:-2px}.welcome-tagline{font-size:21px;margin-top:0}.welcome-slogan{font-size:13px;margin-top:4px}.brand-modes{margin:14px 0 0;font-size:10px;gap:10px}.entry-card{padding:24px 22px}.entry-card h2{font-size:22px}.entry-description{font-size:12px;margin-bottom:19px}.entry-eyebrow{font-size:10px}.welcome-links{margin-top:17px;padding-top:12px}.install-entry{margin-top:18px;padding-top:16px}.topbar{align-items:center;gap:10px;min-height:78px;padding-block:12px}.top-tools{gap:6px}.header-player{width:auto;justify-content:initial;margin-inline-end:0}.top-tools>button{font-size:11px;min-height:40px;padding:7px 10px}.header-player #entryPlayerName{max-width:75px;font-size:11px}.header-player .player-initial{display:none}.brand-name{font-size:20px}.brand-logo{width:36px;height:36px}.brand{gap:4px}.board-top{padding:14px 16px}.board-title{font-size:12px}.tag{font-size:9px}.coin-wallet{min-width:52px;padding-inline:2px}.coin-pile img{width:25px;height:25px}.coin-pile img+img{margin-left:-12px}.coin-more{font-size:13px!important}.empty-wallet{font-size:9px!important}.game-hud small{font-size:9px}.v4-dialog{border-radius:20px}.exit-card{padding:27px 22px}}
@media(max-width:359px){.page{padding-inline:11px}.topbar .brand-name{display:none}.top-tools>button{font-size:10px;padding-inline:9px}.entry-card{padding:22px 18px}.welcome-screen{padding-inline:16px}.welcome-links .text-button{font-size:10px;padding-inline:5px}}
html[data-motion=reduced] *,html[data-motion=reduced] *::before,html[data-motion=reduced] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=reduced] .logo-fragment{display:none}html[data-motion=reduced] .welcome-logo img{opacity:1}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.logo-fragment{display:none}.welcome-logo img{opacity:1}}

.game-hud .coin-pile{display:flex}.game-hud .coin-more{display:inline}.coin-wallet .coin-pile{flex-direction:row}

.audit-button{color:var(--green);font-size:12px;min-height:42px}.result-code{color:var(--green)}

.install-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.install-brand img{object-fit:contain;flex-shrink:0}.install-brand strong{font-size:24px}.install-brand p{color:var(--muted);font-size:13px}.exit-dialog .exit-warning{color:var(--gold)}
