/* Existing KTO1 palette and original assets; changes limited to product flow. */
#welcome .daily-label{font-size:.75rem;letter-spacing:.12em;font-weight:800;color:#0b493c;margin:0 0 8px}
#welcome .daily-promise{font-size:1rem;color:#312c20;margin:10px 0 14px}
.intro-mode #welcome{min-height:0;padding:34px 28px 28px}
.intro-mode #welcome .intro-shortcuts{margin:24px 0 0}
.intro-mode #welcome #intro-slide{font-size:clamp(30px,4.5vw,48px)}
.intro-mode #welcome #start{width:100%;max-width:360px}
#welcome #brand-welcome-board{width:170px;height:145px;right:-20px;bottom:155px;opacity:.1;z-index:-1}
#welcome .hub-games{position:relative;z-index:2}
#welcome .daily-promise{text-align:left}
#welcome #start{display:block;min-height:52px;width:min(100%,360px);margin:0 auto;background:#0b493c;color:#fff;border:2px solid #0b493c;border-radius:12px;font-size:1.15rem;font-weight:800}
.hub-games{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px auto 0;max-width:500px;text-align:left}
.hub-game{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px;border:1px solid #b19a60;border-radius:12px;text-decoration:none;color:#173a2e;background:#fff7e5;min-height:70px}
.hub-game strong{font-size:1rem}.hub-game span{font-size:.76rem}.hub-game:focus-visible{outline:3px solid #0b493c;outline-offset:3px}
.saved-session{font-size:.8rem;padding:10px;margin:10px auto;color:#35413c}.saved-session a{color:inherit;text-decoration:underline}
#welcome .intro-actions{display:flex;flex-direction:column}.intro-actions #invite-game{order:2;margin-top:8px}
.playing-mode #board .tile.active-word:not(.given){background:#f7e8cf!important;outline:2px solid #0b493c;outline-offset:-2px}
.playing-mode #board .tile.given{background:#e5b94e!important;box-shadow:inset 0 0 0 2px #6c501a!important}
.playing-mode #board .tile.given .cross-mark{display:block!important;background:#0b493c;width:4px;height:4px;transform:rotate(45deg);right:2px;bottom:2px}
.final-transfer{width:min(100%,520px);margin:12px auto}.transfer-board{display:grid;grid-template-columns:repeat(var(--transfer-cols),1fr);grid-template-rows:repeat(var(--transfer-rows),1fr);gap:2px;width:min(52vw,210px);aspect-ratio:var(--transfer-cols)/var(--transfer-rows);margin:0 auto 14px}
.transfer-cell{display:flex;align-items:center;justify-content:center;min-width:0;background:#f7e8cf;color:#233b31;border-radius:2px;font-size:clamp(7px,2.3vw,14px);font-weight:800}.transfer-cell.special{background:#e5b94e;box-shadow:inset 0 0 0 1px #795a1e}.transfer-cell.space{background:#9b9b96}.transfer-cell.sending{outline:3px solid #0b493c;z-index:1}
.transfer-phrase{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.transfer-word{display:flex;gap:3px}.transfer-slot{display:flex;align-items:center;justify-content:center;width:clamp(17px,4.8vw,26px);height:32px;border:1px solid #927d51;border-radius:4px;background:#fffbf1;font-size:17px;color:#173a2e;font-weight:800}.transfer-slot.revealed{background:#e5b94e}
.transfer-flight{position:fixed;z-index:1000;display:flex;align-items:center;justify-content:center;color:#0b493c;background:#e5b94e;font-weight:900;border-radius:4px;pointer-events:none;transform-origin:top left}
[data-transfer-status]{font-size:.8rem;min-height:2.5em;color:#344c40;margin:10px 0 4px}[data-transfer-skip]{min-height:36px;font-size:.8rem}
.final-intro-mode #final-intro .presenter-frame{height:auto;min-height:0}.final-intro-mode:not(.countdown-mode) #final-intro .final-brand-logo{max-height:60px;width:auto;margin:0 auto}
.final-intro-mode:not(.countdown-mode) #final-intro .presenter-frame{margin:0}
.final-intro-mode:not(.countdown-mode) #final-intro .presenter-frame img{height:60px!important;max-height:60px!important}
.countdown-mode .final-transfer{display:none}.final-intro-mode #final-intro{padding:18px!important}.final-intro-mode #final-intro h2{font-size:1.5rem;margin:6px 0}
.final-intro-mode #final-intro>p{font-size:.85rem;margin:8px 0}
#final-intro #final-intro-rule{font-size:14px;line-height:1.4;margin:8px 0 10px;max-width:300px}
#final-intro #final-host-line{font-size:17px;margin:4px 0}
#final-intro [data-transfer-status]{font-size:13px;line-height:1.4;min-height:36px;margin:10px 0}
#final-intro [data-transfer-skip]{color:#0b493c;font-size:13px}
#final-intro .transfer-phrase{column-gap:14px;row-gap:8px}
#final-intro .transfer-board{width:min(48vw,180px)}
#final-hint{min-height:48px;font-weight:800;font-size:1rem;border:2px solid #e5b94e;background:#e5b94e;color:#133c30;border-radius:12px;padding:10px 22px}
#final-hint:disabled{opacity:.45}
.result-next-game{display:block;text-decoration:none;margin:14px auto 8px;padding:15px 20px;min-height:50px;background:#0b493c!important;color:#fff!important;border-radius:12px;text-align:center;font-weight:800}
#result #register-record{background:transparent!important;color:#0b493c!important;border:1px solid #827249!important;font-size:.9rem;padding:9px 16px;min-height:42px}
#result-victory{font-size:1.4rem!important;font-weight:800;margin:10px 0!important;color:#0b493c}
.result-install{margin-top:16px;font-size:.85rem}.result-install p{margin:6px 0}.result-install button{min-height:44px}
#result .result-login-note{font-size:.8rem}.result-next{margin-top:18px}

#result .result-install button,#result #result-options summary{color:#0b493c}
/* One celebration, one primary invitation; details stay available on demand. */
#result #photo-result{display:block!important;width:100%;min-height:58px;margin:20px auto 6px;background:#0b493c!important;color:#fff!important;border-radius:14px;font-size:1.1rem;font-weight:800}
#result .photo-result-promise{font-size:.85rem;color:#354b3b;margin:8px 0 16px}
#result .result-next-game{background:transparent!important;color:#0b493c!important;border:1px solid #9e8a57;margin:8px auto;font-size:1rem}
#result #result-victory{font-size:clamp(26px,5vw,40px)!important;line-height:1.1;margin:12px 0!important;max-width:480px}
#result.is-win .result-time{animation:kto1-win .7s cubic-bezier(.2,.8,.3,1) both}
#result .result-headline h2{font-size:15px!important;margin:8px 0 0}#result .result-time{font-size:clamp(58px,12vw,96px)!important;line-height:1.05}
#result #result-more,#result #result-options{text-align:left;margin:14px 0 0;color:#0b493c}#result summary{cursor:pointer;padding:10px 0;font-size:14px}
#result .result-next{margin-top:16px;padding-top:12px;border-top:1px solid #d7c89c}#result .result-next h3{font-size:15px!important;margin:3px 0}#result #next-round-countdown{font-size:18px;margin:4px 0}
@keyframes kto1-win{0%{transform:scale(.7);opacity:0}65%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){#result.is-win .result-time{animation:none}}
