/* Game frontdoor: a viewport scene and compact menu, with optional choices in dialogs. */
.entry-loading,.ts-entry{position:relative;isolation:isolate;min-height:100svh;background:#171c14;color:#eee8d4;font-family:Tahoma,Verdana,"DejaVu Sans","Segoe UI",Roboto,sans-serif;box-sizing:border-box}
.entry-loading>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.65}.entry-loading>div{position:relative;padding:12vh 7vw}.entry-loading h1{font-size:36px;line-height:1;letter-spacing:.03em}.entry-loading a{color:#d8c577}
#ts-entry-root{position:fixed;inset:0;z-index:20;overflow:auto}
.ts-entry *,.ts-entry *::before,.ts-entry *::after{box-sizing:border-box}.ts-entry [hidden]{display:none!important}.ts-entry button,.ts-entry select,.ts-entry input{font:inherit}.ts-entry button,.ts-entry a,.ts-entry select{touch-action:manipulation}.ts-entry button{cursor:pointer}.ts-entry button:disabled{cursor:default;opacity:.45}.ts-entry a{color:inherit;text-decoration:none}.ts-entry :focus-visible{outline:2px solid #d8c577;outline-offset:3px}.ts-entry p{margin:0}.ts-entry h1,.ts-entry h2{color:#eee8d4}
.entry-backdrop{position:fixed;z-index:-2;inset:0;background:#242b1d;overflow:hidden}.entry-backdrop>img,.entry-backdrop>canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.entry-backdrop>img{filter:saturate(.85);opacity:1;transform:scale(1.18)}.entry-backdrop>canvas{pointer-events:none;opacity:0}.entry-backdrop>canvas.entry-preview-active{opacity:1}.entry-shade{position:absolute;inset:0;background:linear-gradient(90deg,#11160ecc,#11160e77 29%,#11160e0d 65%),linear-gradient(0deg,#11160e77,transparent 25%)}
.entry-main{position:relative;width:min(440px,100%);padding:clamp(28px,12vh,110px) 0 54px;margin-left:clamp(24px,7vw,100px)}
.ts-entry .entry-logo{font-size:clamp(26px,3.5vw,46px);font-weight:900;line-height:1;letter-spacing:-.035em;white-space:nowrap;margin:0 0 38px;text-shadow:0 2px 3px #000b}
.entry-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:250px;max-width:calc(100vw - 48px)}
.entry-actions>button,.entry-actions>a{display:flex;align-items:center;gap:10px;min-height:36px;width:100%;padding:8px 14px;border:1px solid transparent;border-radius:0;background:transparent;color:#eee8d4;text-align:left;font-size:15px;font-weight:700;text-shadow:0 1px 2px #000;line-height:1.2}
.entry-actions>.entry-play{color:#f4df8e;background:#242b1de6;border-color:#768060 #10150e #10150e #a49661;box-shadow:inset 1px 1px #a8a17a22}
.entry-actions>.entry-play::before{content:'';width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid #d8c577}
.entry-actions>button:hover,.entry-actions>a:hover{color:#f4df8e;background:#242b1dcc;border-color:#697555 #10150e #10150e #697555}
.entry-actions .entry-identity img{width:20px;height:20px;border:1px solid #89906e;object-fit:cover}
.entry-match{max-width:300px;margin-top:27px;padding-top:12px;border-top:1px solid #b8bd943d;text-shadow:0 1px 2px #000}
.entry-match strong{font-size:13px;font-weight:700;color:#eee8d4}.entry-match>p{font-size:11px;line-height:1.5;color:#c4c9b3;margin-top:5px}.entry-match .entry-population{font-size:10px;color:#b3baa4}
.entry-status{max-width:300px;margin-top:12px!important;color:#e4ce88;font-size:11px;line-height:1.5}.entry-status:empty{display:none}.entry-status input{display:block;width:100%;background:#171c14;color:#eee8d4;padding:8px;border:1px solid #87906c;margin-top:5px}.entry-retry{background:#303a27;color:#e4ce88;border:1px solid #87906c;padding:7px 16px;margin-top:7px}
.entry-preview-label{position:fixed;right:20px;bottom:16px;max-width:calc(100vw - 40px);padding:5px 8px;background:#171c14b8;color:#c4c9b3;font-size:10px;text-shadow:0 1px #000;line-height:1.4;pointer-events:none}
.entry-picker,.entry-settings{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:20px;overflow:auto;background:#242b1df7;color:#eee8d4;border:1px solid;border-color:#899176 #11170e #11170e #899176;box-shadow:0 12px 50px #0009;font-size:13px}
.entry-picker::backdrop,.entry-settings::backdrop{background:#070a066b}.entry-picker h2,.entry-settings h2{font-size:19px;line-height:1.2;margin:0 0 17px;font-weight:700}
.entry-picker button,.entry-settings button{min-height:34px;padding:8px 17px;border:1px solid;border-color:#899176 #11170e #11170e #899176;background:#37422d;color:#eee8d4;border-radius:0}
.entry-picker button:hover,.entry-settings button:hover{background:#46513a;color:#f4df8e}.entry-picker button.entry-play{background:#d8c577;color:#171c14;border-color:#efe2a7 #736534 #736534 #efe2a7;font-weight:700}
.entry-quick-modes{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px}.entry-picker .entry-quick-modes button{min-height:28px;padding:5px 9px;font-size:11px}.entry-quick-modes button[aria-pressed=true]{color:#f4df8e;background:#4a5033;border-color:#c1b475}
.entry-selected{font-size:11px;color:#d3d7bf;line-height:1.4;margin-bottom:14px!important}
.entry-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.entry-fields>label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#c4c9b3;min-width:0}.entry-fields select,.entry-settings select{width:100%;min-height:34px;background:#171c14;border:1px solid;border-color:#10150e #7d8866 #7d8866 #10150e;color:#eee8d4;padding:7px;font-size:12px;max-width:100%}
.entry-links,.entry-share{display:flex;flex-wrap:wrap;gap:15px;margin-top:15px;align-items:center;font-size:11px;color:#c4c9b3}.entry-link-button{background:transparent;border:0;padding:0;color:inherit}.entry-picker .entry-share button{min-height:0;padding:0;border:0;background:transparent;font-size:11px}.entry-links a:hover,.entry-share a:hover,.entry-link-button:hover{color:#f4df8e;text-decoration:underline}
.entry-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;padding-top:13px;border-top:1px solid #9ba58233}.entry-dialog-actions .entry-play{min-width:120px}
.entry-settings p{font-size:12px;line-height:1.6;color:#c4c9b3}.entry-settings label{display:flex;gap:10px;padding:17px 0;align-items:center;font-size:12px}.entry-settings input{accent-color:#d8c577;width:18px;height:18px}.entry-settings label:has(select){flex-direction:column;align-items:stretch;gap:8px;padding-bottom:0}
@media(max-width:600px){.entry-main{width:calc(100% - 48px);margin-left:24px;padding-top:clamp(30px,9vh,72px)}.ts-entry .entry-logo{font-size:30px;margin-bottom:30px}.entry-shade{background:linear-gradient(90deg,#11160ecc,#11160e33),linear-gradient(0deg,#11160e77,transparent 35%)}.entry-preview-label{right:12px;bottom:12px}.entry-match{max-width:290px}}
@media(max-width:380px){.ts-entry .entry-logo{font-size:26px}.entry-picker,.entry-settings{padding:15px}.entry-fields{gap:10px}}
@media(max-height:450px){.entry-main{padding:18px 0 30px;margin-left:24px;width:calc(100% - 48px)}.ts-entry .entry-logo{font-size:28px;margin-bottom:16px}.entry-actions{width:220px;gap:1px}.entry-actions>button,.entry-actions>a{min-height:29px;padding:6px 11px;font-size:13px}.entry-match{margin-top:14px;padding-top:8px;max-width:330px}.entry-match>p{margin-top:3px;font-size:10px}.entry-match strong{font-size:12px}.entry-preview-label{bottom:10px;right:12px;font-size:9px;max-width:230px}.entry-picker,.entry-settings{padding:14px;max-height:calc(100dvh - 20px)}.entry-picker h2,.entry-settings h2{font-size:17px;margin-bottom:10px}.entry-quick-modes{margin-bottom:9px}.entry-selected{margin-bottom:10px!important}.entry-fields{gap:9px 14px}.entry-fields>label{gap:4px}.entry-fields select{min-height:30px;padding:5px 7px}.entry-links,.entry-share{margin-top:10px}.entry-dialog-actions{margin-top:12px;padding-top:10px}.entry-settings label{padding:12px 0}}
@media(prefers-reduced-motion:reduce){.ts-entry *{scroll-behavior:auto}}

#ts-session-status{position:fixed;z-index:8;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100vw - 32px);margin:0;padding:10px 18px;background:#151d14ed;border:1px solid #adb882;color:#e8dfbb;text-align:center;font:13px/1.5 ui-monospace,monospace;pointer-events:none}

#ts-map-change{position:fixed;z-index:25;left:50%;top:50%;transform:translate(-50%,-50%);width:min(390px,calc(100vw - 48px));box-sizing:border-box;padding:24px;background:#151d14f5;border:1px solid #adb882;color:#e8dfbb;font:14px/1.6 system-ui,sans-serif;box-shadow:0 15px 70px #000a}#ts-map-change button{display:block;width:100%;padding:13px;background:#ddc17a;color:#17220f;border:1px solid #f4d998;cursor:pointer;font:700 13px ui-monospace,monospace}#ts-map-change a{display:block;margin-top:16px;color:#d8c58c}#ts-map-change :focus-visible{outline:2px solid #f4d998;outline-offset:4px}

