/* Original block-game title treatment. All controls also work with keyboard and touch. */
.game-account #game-account-content{display:grid;gap:14px;line-height:1.55}.game-account p{margin:0}.game-account form,.game-account label{display:grid;gap:8px}.game-account form{gap:16px}.game-account input{width:100%;min-height:46px;padding:10px;border:1px solid #839983;border-radius:3px;background:#fffdf5;color:#263c35;font:inherit;box-sizing:border-box}.game-account .block-button{text-align:center;text-decoration:none}.game-account #game-account-status{min-height:1.5em;color:#674421}.game-account button:focus-visible,.game-account a:focus-visible{outline:3px solid #997126;outline-offset:3px}.game-account-identity{overflow-wrap:anywhere}.game-account #online-connection,.game-account .online-account{display:grid;gap:14px}.game-account h2{max-width:100%}.title-screen .title-account-row{margin-top:12px}.title-screen .title-account-row button,.title-screen .title-account-row a{font-size:13px;min-height:36px;padding:7px 13px}.title-account-row a{display:inline-block;color:#f5e5b8}.game-account button:disabled{opacity:.55;cursor:wait}
.game-account button:not(.block-button){padding:10px 14px;border:1px solid #9baa8b;background:#e7e6d8;color:#354a3a;font:600 14px/1.3 system-ui}.game-account button:not(.block-button):hover{background:#f1e5c0}
body.at-title {background:#233e37;overflow:hidden}
body.at-title>header,body.at-title>.world-shell {visibility:hidden}
.title-screen {position:fixed;inset:0;z-index:200;display:grid;place-items:center;isolation:isolate;color:#fff9e8;overflow:auto;padding:36px 24px 72px;background:#375b4d}
.title-screen::before {content:'';position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#1b38353d,#152e35a1 65%,#122623e6),url('title-town.png') center 55%/cover;filter:blur(2px);transform:scale(1.025)}
.title-screen::after {content:'';position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 38%,transparent 20%,#14272070);pointer-events:none}
.title-center {width:min(100%,510px);text-align:center;padding:18px 0}
.title-eyebrow {font:700 12px/1.6 monospace;letter-spacing:.27em;color:#f5e5b8}
.town-wordmark {margin:18px -40px 8px;font:1000 clamp(38px,6vw,72px)/.92 Impact,'Arial Black',sans-serif;letter-spacing:.02em;text-transform:uppercase;color:#f7edcf;text-shadow:0 3px 0 #aba17f,0 6px 0 #5b6450,3px 9px 0 #142725;transform:perspective(550px) rotateX(8deg)}
.town-wordmark span {display:block;font-size:1.36em;letter-spacing:.13em;padding-left:.13em;color:#eacb73}
.title-tagline {font-size:14px;color:#e9ecd7;margin:23px 0 28px;letter-spacing:.025em}
.title-actions {display:grid;gap:12px;width:min(100%,350px);margin:auto}
.title-screen button,.block-button {border:2px solid #182b26;border-radius:2px;box-shadow:inset 0 3px #ffffff3a,inset 0 -4px #0003,0 4px #1627249c;background:#eee7cf;color:#253b31;font:700 16px/1.25 system-ui;min-height:48px;padding:12px 20px;cursor:pointer}
.title-screen button:hover,.block-button:hover {background:#fff7dc;transform:translateY(-1px)}
.title-screen button:active,.block-button:active {transform:translateY(2px)}
.title-screen .play-button {background:#e2bc62;color:#26362b;min-height:56px;font-size:19px}
.title-screen button:disabled {opacity:.55;cursor:wait;transform:none}
.title-screen .title-player {font-size:13px;margin:24px 0 0;color:#f0eacb}
.title-player b {color:#fff9e9}
.title-foot {position:fixed;bottom:18px;left:25px;right:25px;display:flex;justify-content:space-between;gap:12px;font:11px/1.5 monospace;letter-spacing:.04em;color:#dfdfc5}
.title-clock {position:fixed;right:22px;top:20px;text-align:right;font:12px/1.6 monospace;color:#e9e8d4}
.title-clock button {font:inherit;background:transparent;border:0;box-shadow:none;padding:0;color:inherit;min-height:32px}
.welcome-dialog {width:min(680px,calc(100vw - 28px));max-height:calc(100dvh - 36px);overflow:auto;padding:30px;border:2px solid #627a61;border-radius:4px;background:#f6f2e5;color:#263c35;box-shadow:0 18px 90px #10282270}
.welcome-dialog::backdrop {background:#102c33aa;backdrop-filter:blur(5px)}
.welcome-dialog h2 {margin:5px 0 10px;font-size:28px;line-height:1.15}
.welcome-dialog small,.welcome-dialog-head small {font:700 10px/1.5 monospace;letter-spacing:.12em;color:#63766b}
.welcome-dialog-head {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.welcome-dialog button {border-radius:3px;min-height:42px;cursor:pointer}
.welcome-dialog-head>button {padding:8px 13px;background:#e7e6d8;color:#354a3a;border:1px solid #a2b29c}
.welcome-form {display:grid;gap:16px;margin:20px 0}
.welcome-form label {display:grid;gap:6px;text-align:left;font-weight:650;font-size:14px}
.welcome-form input,.welcome-form select {width:100%;box-sizing:border-box;border:1px solid #a5b2a0;border-radius:3px;background:#fffdf3;padding:12px;color:#243d32;font:16px system-ui;min-height:47px}
.welcome-recommend {padding:14px 16px;background:#e3e9d7;border-left:3px solid #77986b;font-size:14px;line-height:1.6}
.welcome-note {font-size:12px;line-height:1.65;color:#617166}
.welcome-status {color:#a13a2d;font-size:14px;line-height:1.6;min-height:1em}
.player-list {display:grid;gap:10px;margin:20px 0}
.player-card {display:flex;align-items:center;gap:14px;padding:14px;text-align:left;background:#eeeedf;border:1px solid #acb8a0;color:#304834}
.player-card[aria-pressed="true"] {outline:2px solid #748b52;background:#e7ead4}
.player-card>span:first-child {font:700 22px monospace;background:#d4dfbe;padding:10px}
.player-card small {display:block;margin-top:4px;letter-spacing:0}
.welcome-button-row {display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.welcome-button-row>* {flex:1}
.welcome-dialog .danger-button {border-color:#783e37;background:#f1ded8;color:#6f2e28}
.welcome-dialog .danger-button:hover:not(:disabled) {background:#f8cbc1}
.welcome-dialog .danger-button:disabled {opacity:.5;cursor:not-allowed;box-shadow:none}
.tutorial-picture {background:#e4e8d6;display:flex;align-items:center;justify-content:center;gap:15px;padding:26px 16px;margin:18px 0;border-bottom:4px solid #bdcba5;min-height:84px}
.tutorial-picture kbd {font:700 20px monospace;background:#fffbea;color:#445842;border:1px solid #a5b394;box-shadow:0 4px #abb99a;padding:12px;min-width:24px;text-align:center;border-radius:2px}
.tutorial-picture .tutorial-symbol {font-size:47px;line-height:1}
.tutorial-body {font-size:16px;line-height:1.75}
.tutorial-body p {margin:10px 0}
.tutorial-es {font-size:14px;color:#627061}
.tutorial-dots {display:flex;gap:7px;margin-bottom:20px}
.tutorial-dots span {width:28px;height:5px;background:#d2d8c5}
.tutorial-dots span.done {background:#7b9862}
.calendar-nav {display:flex;justify-content:space-between;gap:10px;margin:18px 0}
.calendar-nav button {border:1px solid #b4c0a4;background:#e7ebd9;color:#304737;padding:8px 15px}
.calendar-grid {display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.calendar-grid>* {padding:11px 3px;font-size:14px}
.calendar-grid b {font:700 11px monospace;color:#697e68}
.calendar-grid [aria-current="date"] {background:#668955;color:#fff;border-radius:3px;font-weight:800}
.calendar-facts {display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0;padding-top:20px;border-top:1px solid #d3dac7}
.calendar-facts div>* {display:block}
.calendar-facts b {font-size:15px;line-height:1.7;margin-top:4px}
.calendar-facts span {font-size:12px;color:#6c7c69}
.madrid-clock {cursor:pointer}
.star-level-5,.difficulty-5 {color:#8652b7!important}
.welcome-loading {padding:14px;min-height:22px;font-size:14px;color:#ffedb8}
.welcome-route {position:absolute;left:20px;top:110px;z-index:5;background:#f7f0dce8;border:1px solid #94a786;padding:10px 14px;max-width:260px;color:#2a4335;font-size:13px;border-radius:3px;text-align:left}
.welcome-route b {display:block;margin:4px 0}
button:focus-visible,input:focus-visible,select:focus-visible {outline:3px solid #de9d31;outline-offset:3px}
@media(max-width:600px){.welcome-dialog{padding:20px}.title-screen{padding:90px 20px 70px}.town-wordmark{margin-left:0;margin-right:0}.title-foot{font-size:9px;left:14px;right:14px}.title-clock{font-size:11px}.calendar-facts{gap:8px}.calendar-facts b{font-size:13px}.tutorial-picture{gap:9px;padding:20px 10px}.tutorial-picture kbd{font-size:17px;padding:9px}.welcome-route{top:140px;left:12px;max-width:210px}}
@media(prefers-reduced-motion:reduce){.title-screen button,.block-button{transform:none!important}}

/* Physical actions keep the world visible and leave a readable, non-color-only confirmation. */
#physical-feedback{position:absolute;left:50%;bottom:120px;transform:translateX(-50%);z-index:45;display:flex;align-items:center;gap:24px;max-width:calc(100% - 32px);padding:16px 22px;border:1px solid #d9d6bf;border-radius:2px;background:#f9f4e9f5;color:#314b40;box-shadow:0 12px 45px #18332e44;font:600 16px/1.4 system-ui}
#physical-feedback[hidden]{display:none}#physical-feedback button{white-space:nowrap;border:0;border-radius:2px;padding:12px;background:#3d6d59;color:white;font:600 14px system-ui}
@media(max-width:600px){#physical-feedback{bottom:185px;gap:10px;padding:12px;font-size:13px}#physical-feedback button{padding:9px}}
