/* Entry screens: original town renderer and existing wood/flower UI assets. */
.tcq-welcome #accountGate{position:absolute;inset:0;z-index:250;display:grid;place-items:safe center;overflow:auto;padding:32px;box-sizing:border-box;background:#739748!important;backdrop-filter:none!important;color:#563521;isolation:isolate}
.tcq-welcome #accountGate[hidden],.tcq-welcome #accountGate [hidden]{display:none!important}
.welcome-world{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover;image-rendering:pixelated;border:0!important;border-radius:0!important;z-index:-2;pointer-events:none;background:#739748!important;box-shadow:none!important}
.tcq-welcome #accountGate::before{content:'';position:fixed;inset:0;background:#20392355;z-index:-1;pointer-events:none}
.welcome-home{width:min(1160px,100%);display:grid;grid-template-columns:480px 1fr;gap:60px;align-items:end}
.welcome-copy{position:relative;text-align:center;background:#ffe8c7;border:34px solid transparent;border-image:url('../ui/v060/blank_panel.png') 80 65 48 65 fill / 48px 38px 34px 38px / 0 stretch;padding:30px 5px 18px;filter:drop-shadow(0 9px 0 #23331d55)}
.welcome-kicker{font-size:10px;font-weight:800;letter-spacing:2px;color:#815b3a}
.welcome-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:62px;letter-spacing:-3px;line-height:.98;margin:27px 0 18px;color:#553422;text-shadow:2px 2px #fff4d6}
.welcome-copy h1 em{display:block;font-size:82px;font-style:normal;color:#477342;letter-spacing:-2px}
.welcome-divider{display:flex;align-items:center;gap:12px;justify-content:center;color:#b14e65;font-size:23px}.welcome-divider::before,.welcome-divider::after{content:'';height:2px;background:#b88c59;width:50px}
.welcome-copy p{font-size:15px;line-height:1.8;margin:14px 0 22px;color:#755138}
.welcome-actions{display:grid;gap:12px}.welcome-actions button,.tcq-welcome #accountForm .account-actions button,.welcome-back{font:700 14px system-ui;cursor:pointer;min-height:48px;border:2px solid #643c25;border-radius:8px;background:#fff0d0;color:#563521;box-shadow:0 4px 0 #714729;padding:12px 16px}
.welcome-actions #welcomeStart{background:#4b7848;color:#fff6dc;box-shadow:inset 0 2px #92b776,0 4px #304b2e;border-color:#304b2e;font-size:16px}.welcome-actions #welcomeStart span{float:right;font-size:22px;line-height:18px}.welcome-actions #welcomeLogin{font-size:12px;background:#fff1d7}
.welcome-pastimes{display:flex;justify-content:space-around;gap:8px;margin-top:24px;padding-top:14px;border-top:1px solid #bf9868}.welcome-pastimes span{display:flex;flex-direction:column;align-items:center;font-size:11px;font-weight:700;gap:5px}.welcome-pastimes img{height:44px;width:56px;object-fit:contain;image-rendering:pixelated}
.welcome-postcard{margin:0 0 18px auto;padding:20px 24px;border-left:4px solid #ffdb86;background:#263f2dea;color:#fff1cf;max-width:350px;box-shadow:6px 6px #1c352c66}.welcome-postcard>span{font-size:9px;letter-spacing:2px;color:#c8d6ab;font-weight:800}.welcome-postcard strong{display:block;font:28px/1.3 Georgia,serif;margin:12px 0}.welcome-postcard small{font-size:11px;line-height:1.7;color:#d9e1c5}
.tcq-welcome #accountForm{position:relative;width:min(900px,100%)!important;max-height:none!important;box-sizing:border-box;padding:26px 32px 22px!important;border:16px solid transparent!important;border-image:url('../ui/v060/blank_panel.png') 80 65 48 65 fill / 40px 32px 28px 32px / 0 stretch!important;border-radius:0!important;background:#ffe8c7!important;color:#563521!important;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:30px;box-shadow:0 10px 0 #24392166!important}
.tcq-welcome #accountForm>.welcome-back{grid-column:1/-1;justify-self:start;min-height:44px;padding:8px 12px;box-shadow:none;background:#fff3d6;margin:0 0 12px;font-size:12px}
.tcq-welcome #accountForm>.account-brand{grid-column:1/-1;font-size:10px;letter-spacing:2px;color:#9a4860;margin:0 0 8px}
.tcq-welcome #accountForm>h1{grid-column:1/-1;font-family:Georgia,serif;font-size:30px;line-height:1.2;margin:0 0 10px;color:#513725}
.tcq-welcome #accountForm>p:not(#accountGateStatus){grid-column:1/-1;font-size:13px;margin:0 0 22px;color:#806043}
.welcome-credentials{grid-column:1;grid-row:5;align-self:start;padding:18px;background:#f6deb4;border:1px solid #c7a371;border-radius:8px}
.tcq-welcome #accountForm h2{font-size:15px;line-height:1.3;margin:0 0 14px;color:#674327}
.tcq-welcome #accountForm label{display:block;margin:12px 0 0;font-size:12px;font-weight:700;color:#674327}
.tcq-welcome #accountForm input{display:block;min-height:46px;width:100%;box-sizing:border-box;border:2px solid #b88e61;border-radius:6px;padding:10px;background:#fff8e9;color:#513725;margin-top:6px;font-size:16px;box-shadow:inset 0 2px #e6d2b0}
.welcome-account-hint{font-size:12px;line-height:1.7;color:#876646;margin:18px 0 0}
.character-setup{grid-column:2;grid-row:5;border-left:1px solid #cba979;padding-left:28px;min-width:0}
.character-setup>small,.starter-note{display:block;font-size:10px;line-height:1.5;color:#816041;margin:5px 0}.character-setup fieldset{display:flex;gap:12px;margin:16px 0;border:0;padding:0}.character-setup legend{font-size:12px;font-weight:700;margin-bottom:5px}.tcq-welcome #accountForm fieldset label{display:flex;align-items:center;gap:7px;margin:0;border:1px solid #bc9265;border-radius:6px;padding:8px 18px;background:#fff1d7;min-height:28px}.tcq-welcome #accountForm fieldset label:has(:checked){background:#dce7b6;border-color:#5d804c;color:#3d602d}.tcq-welcome #accountForm input[type=radio]{width:18px;min-height:18px;box-shadow:none;margin:0;accent-color:#577943}
.character-setup h3{font-size:12px;margin:12px 0 8px}.starter-outfits{display:grid;grid-template-columns:1fr 1fr;gap:12px}.starter-choice{position:relative;display:flex;flex-direction:column;align-items:center;border:2px solid #b58b58;border-radius:9px;background:#ead09e;padding:0 8px 9px;color:#674327;cursor:pointer;min-width:0}.starter-choice canvas{display:block;position:static!important;width:110px!important;height:124px!important;max-width:100%;object-fit:contain;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;image-rendering:pixelated;pointer-events:none}.starter-choice strong{font-size:12px;margin-top:5px}.starter-choice[aria-pressed=true]{background:#dce8b9;border-color:#5c7941;box-shadow:0 3px #5c7941}.starter-choice[aria-pressed=true]::after{content:'✓';position:absolute;top:7px;right:7px;background:#55783f;border-radius:50%;width:19px;height:19px;color:#fff;font-size:12px;line-height:19px}
.tcq-welcome #accountForm>.account-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px;padding-top:18px;border-top:1px solid #bf976a;margin:22px 0 0}.tcq-welcome #accountForm .account-actions #accountRegister{background:#4b7848!important;color:#fff6dc!important;border-color:#304b2e!important;box-shadow:inset 0 2px #92b776,0 4px #304b2e!important}.tcq-welcome #accountForm .account-actions #accountLogin{background:#fff1d7!important;color:#674327!important}
.tcq-welcome #accountGateStatus{grid-column:1/-1;font-size:12px;margin:10px 0 0;color:#9c3549;overflow-wrap:anywhere}.tcq-welcome #accountGateStatus:empty{display:none}.tcq-welcome #accountForm>small{grid-column:1/-1;font-size:10px;color:#896747;margin-top:10px;text-align:right}
.tcq-welcome #accountGate button:focus-visible{outline:3px solid #be4275;outline-offset:3px}.tcq-welcome #accountGate button:active{transform:translateY(2px)}
.tcq-welcome #accountGate[data-mode=login] #accountForm{width:min(470px,100%)!important;display:block}.tcq-welcome #accountGate[data-mode=login] .welcome-credentials{padding:0;border:0;background:none}.tcq-welcome #accountGate[data-mode=login] .welcome-credentials h2,.tcq-welcome #accountGate[data-mode=login] .welcome-account-hint{display:none}.tcq-welcome #accountGate[data-mode=login] #accountForm>.account-actions{flex-direction:column}.tcq-welcome #accountGate[data-mode=login] #accountForm #accountLogin{background:#4b7848!important;color:#fff6dc!important}
@media(max-width:760px){.tcq-welcome #accountGate{padding:16px;place-items:safe center}.welcome-home{grid-template-columns:1fr;max-width:420px;gap:18px}.welcome-copy{padding:18px 0 12px;border-width:27px}.welcome-copy h1{font-size:49px;margin:20px 0 12px}.welcome-copy h1 em{font-size:64px}.welcome-copy p{font-size:13px;margin:10px 0 18px}.welcome-kicker{font-size:8px;letter-spacing:1.5px}.welcome-postcard{display:none}.welcome-pastimes{margin-top:20px}.tcq-welcome #accountForm{display:block;padding:22px 14px 18px!important;border-width:12px!important;max-width:440px}.tcq-welcome #accountForm>h1{font-size:26px}.welcome-credentials{padding:14px}.character-setup{border:0;border-top:1px solid #bf976a;padding:18px 0 0;margin-top:20px}.tcq-welcome #accountForm>.account-actions{flex-direction:column-reverse;margin-top:18px}.tcq-welcome #accountForm .account-actions button{width:100%;font-size:12px}.tcq-welcome #accountForm>small{text-align:center}.starter-choice canvas{height:120px!important}.tcq-welcome #accountGate[data-mode=login] #accountForm>.account-actions{flex-direction:column}}
.welcome-world{max-height:none!important;max-width:none!important;display:block!important}

.welcome-copy{background:transparent!important;image-rendering:pixelated;padding-top:48px}.tcq-welcome #accountForm{background:transparent!important;image-rendering:pixelated}.welcome-kicker{color:#674327}

.welcome-copy .welcome-logo{margin:22px -12px 12px;line-height:0}.welcome-logo img{display:block;width:100%;height:auto;image-rendering:pixelated;object-fit:contain}@media(max-width:760px){.welcome-copy .welcome-logo{margin:20px -12px 12px}}
