:root{--ink:#17352c;--green:#174f3b;--green2:#287459;--cream:#f5f1e7;--paper:#fffdf7;--orange:#ed7b4f;--yellow:#f0bd4f;--line:#dcd8ca;--muted:#6f7973;--shadow:0 18px 50px #163d2d14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{height:82px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9d4c8;background:#f8f5edcc;backdrop-filter:blur(10px);position:relative;z-index:5}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand strong{font-family:Georgia,serif;font-size:21px}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.08em;margin-top:2px}.logo{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:var(--green);color:#fff;font-family:Georgia,serif;font-weight:bold}.header-actions{display:flex;gap:9px}.topbar button,.modes button,.map-card button,.bottom-note button,dialog button,.file-btn{min-height:48px;border:0;font:inherit;cursor:pointer}.icon-btn{width:48px;border-radius:50%;background:#ebe7dc}.manage{padding:0 20px;border-radius:13px!important;background:var(--green);color:#fff}main{max-width:1500px;margin:auto;padding:38px clamp(18px,5vw,74px) 28px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.18em}.intro h1{font:500 clamp(34px,5vw,64px)/.98 Georgia,serif;margin:12px 0 16px}.intro h1 em{color:var(--green2);font-weight:500}.intro p{margin:0;color:var(--muted);font-size:17px}.stats{display:flex;border:1px solid var(--line);border-radius:18px;background:#faf7ef}.stats div{padding:15px 24px}.stats div+div{border-left:1px solid var(--line)}.stats b{font:600 25px Georgia,serif;display:block}.stats span{font-size:11px;color:var(--muted)}.modes{display:flex;gap:10px;margin:0 0 16px}.mode{flex:0 1 235px;text-align:left;padding:10px 15px;border-radius:14px;background:transparent;color:var(--ink);display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;align-items:center}.mode>span{grid-row:1/3;width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#e5e1d6}.mode b{font-size:14px}.mode small{font-size:11px;color:var(--muted)}.mode.active{background:var(--green);color:white;box-shadow:0 8px 20px #174f3b2a}.mode.active>span{background:#ffffff24}.mode.active small{color:#cfe1da}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;border:1px solid var(--line);border-radius:22px;background:var(--paper);overflow:hidden;box-shadow:var(--shadow);min-height:520px}.map-card{min-width:0}.map-toolbar{height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:13px}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#52a276;margin-right:8px;box-shadow:0 0 0 5px #52a27620}.text-btn{padding:0 10px;background:transparent;color:var(--green);font-weight:700}.game-stats{display:flex;gap:18px}.game-stats span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.game-stats b{font-size:16px;color:var(--ink);margin-left:4px}.hidden{display:none!important}.map-wrap{height:410px;position:relative;overflow:auto;background:radial-gradient(circle at 50% 45%,#eff4e9,#faf8f1 67%)}#mapObject{display:block;width:100%;height:100%;min-width:720px;position:relative;z-index:1}#mapLoading{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}.legend{height:50px;padding:0 18px;display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.legend span:last-child{margin-left:auto}.dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px}.dot.green{background:#a7cab1}.dot.orange{background:var(--orange)}.detail-panel{border-left:1px solid var(--line);background:#f8f5ed;padding:28px;position:relative}.empty-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state>span{font-size:30px;color:var(--yellow)}.empty-state h2{font:500 25px Georgia,serif;margin:14px 0 5px}.empty-state p{color:var(--muted);line-height:1.6;font-size:13px}.province-detail .tag{font-size:10px;letter-spacing:.15em;font-weight:800;color:var(--orange)}.province-detail h2{font:500 30px Georgia,serif;margin:8px 0 23px}.fact{padding:14px 0;border-top:1px solid var(--line)}.fact span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);display:block}.fact b{display:block;margin-top:5px;font-size:17px}.fact small{display:block;color:var(--muted);margin-top:4px}.game-message{text-align:center;padding-top:50px}.game-message .result{font-size:42px}.game-message h2{font:500 29px Georgia,serif}.game-message p{color:var(--muted)}.bottom-note{margin-top:17px;border:1px solid var(--line);border-radius:15px;padding:13px 17px;display:flex;justify-content:space-between;align-items:center;background:#ebe8dc}.bottom-note b{font-size:13px}.bottom-note p{display:inline;margin-left:10px;font-size:12px;color:var(--muted)}.bottom-note button{background:transparent;color:var(--green);font-weight:800}body>footer{text-align:center;padding:18px;color:var(--muted);font-size:11px}body>footer span{margin:0 8px}dialog{width:min(900px,94vw);max-height:90vh;border:0;border-radius:20px;padding:0;color:var(--ink);box-shadow:0 30px 90px #102b22aa}dialog::backdrop{background:#102b2299;backdrop-filter:blur(4px)}.dialog-shell>header,.dialog-shell>footer{padding:20px 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-shell>header h2{font:500 29px Georgia,serif;margin:3px 0}.dialog-shell .close{font-size:28px;background:transparent}.dialog-body{padding:22px 26px;overflow:auto;max-height:65vh}.dialog-body label{font-size:12px;font-weight:700;display:grid;gap:7px}.dialog-body input,.dialog-body select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:10px;background:#faf9f4;padding:9px 12px;font:inherit;color:inherit}.base-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:16px}.field-head{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.field-head h3,.data-tools h3{font:500 18px Georgia,serif}.field-head button,.data-tools button,.file-btn{padding:0 13px;border-radius:10px;background:#eae6da}.custom-row{display:grid;grid-template-columns:1.2fr 1fr .8fr .7fr 1fr 38px;gap:7px;margin-bottom:8px}.custom-row .remove{min-height:44px;background:#f5ded8;color:#9d3924;border-radius:9px}.data-tools{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.data-tools>div{display:flex;gap:8px;flex-wrap:wrap}.file-btn{display:inline-grid;place-items:center}.danger{color:#9d3924!important}.dialog-shell>footer{border-top:1px solid var(--line);border-bottom:0}.dialog-shell>footer button{padding:0 18px;border-radius:11px}.primary{background:var(--green)!important;color:white}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;z-index:20;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:850px){.brand small{display:none}.intro{align-items:flex-start}.stats{display:none}.workspace{grid-template-columns:1fr}.detail-panel{border-left:0;border-top:1px solid var(--line);min-height:260px}.map-wrap{height:330px}.modes{overflow:auto}.mode{min-width:180px}.base-fields{grid-template-columns:1fr}.custom-row{grid-template-columns:1fr 1fr}.legend span:last-child{display:none}}
@media(max-width:540px){.topbar{height:68px;padding:0 14px}.manage{font-size:0;width:48px;padding:0}.manage:first-letter{font-size:18px}.intro h1{font-size:38px}.intro p{font-size:14px}.intro{margin-bottom:20px}.modes{margin-right:-18px}.mode{min-width:158px}.workspace{border-radius:16px}.map-toolbar{padding:0 10px}.map-toolbar>div:first-child{max-width:180px}.bottom-note p{display:none}main{padding-top:28px}.custom-row{grid-template-columns:1fr}.dialog-body{padding:18px}}
body.splash-open{overflow:hidden}.splash-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#fff8dc 0%,#e1f4d7 47%,#b9e5d0 100%);transition:opacity .55s ease,visibility .55s}.splash-screen.leaving{opacity:0;visibility:hidden}.splash-content{position:relative;z-index:2;width:min(580px,88vw);text-align:center}.splash-logo{width:82px;height:82px;margin:0 auto 22px;border-radius:27px;display:grid;place-items:center;background:var(--green);color:#fff;font:700 34px Georgia,serif;box-shadow:0 15px 0 #123e2f2b;transform:rotate(-4deg)}.splash-kicker{color:#d65d35;font-size:12px;font-weight:900;letter-spacing:.19em}.splash-content h1{margin:12px 0 16px;font:600 clamp(52px,10vw,90px)/.83 Georgia,serif;letter-spacing:-.04em}.splash-content h1 em{color:var(--green2);font-weight:inherit}.splash-content p{max-width:440px;margin:0 auto 26px;color:#49665d;font-size:clamp(16px,2vw,20px);line-height:1.55}.splash-content button{border:0;border-radius:18px;padding:17px 28px;background:var(--orange);color:#fff;font:800 16px inherit;cursor:pointer;box-shadow:0 9px 0 #ba4d2c,0 18px 35px #a8492533;transition:transform .15s,box-shadow .15s}.splash-content button:hover{transform:translateY(-3px);box-shadow:0 12px 0 #ba4d2c,0 21px 38px #a8492533}.splash-content button:active{transform:translateY(5px);box-shadow:0 4px 0 #ba4d2c}.splash-content button span{margin-left:10px}.splash-content>small{display:block;margin-top:22px;color:#608075;font-weight:700}.splash-blob{position:absolute;border-radius:50%;opacity:.65}.blob-one{width:38vw;height:38vw;left:-13vw;top:-16vw;background:#f7cd59}.blob-two{width:42vw;height:42vw;right:-17vw;bottom:-20vw;background:#49a982}.splash-islands{position:absolute;bottom:8%;color:#247357;font-size:clamp(18px,3vw,34px);letter-spacing:.3em;opacity:.45}.menu-intro{margin-bottom:20px;padding:22px 25px;border:1px solid #eadca9;border-radius:22px;background:linear-gradient(105deg,#fff7d5,#f8f3e6);box-shadow:0 8px 0 #e9dfbf}.menu-intro h1{font-size:clamp(28px,4vw,48px);margin:8px 0 10px}.modes .mode{flex:1;padding:14px 17px;border:2px solid #e4ddc8;border-radius:18px;background:#fffdf7;transition:transform .2s,box-shadow .2s}.modes .mode:hover{transform:translateY(-3px);box-shadow:0 8px 18px #17352c17}.modes .mode.active{border-color:var(--green);background:var(--green)}
@media(max-width:540px){.splash-logo{width:68px;height:68px;border-radius:22px}.splash-kicker{font-size:9px}.menu-intro{padding:18px}.menu-intro h1{font-size:32px}.splash-islands{bottom:5%}}

/* Separate menu and full-map views */
body.menu-view{height:100vh;overflow:hidden;background:linear-gradient(145deg,#fff8dc,#e5f2df)}body.menu-view main{position:relative;isolation:isolate;height:calc(100vh - 82px);padding:clamp(28px,6vh,70px) clamp(18px,8vw,120px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}body.menu-view main::before{content:"";position:absolute;z-index:-2;inset:2% 5%;background:url('../svg/indonesia.svg') center/contain no-repeat;opacity:.13;filter:saturate(.5)}body.menu-view main::after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at center,#fffdf7aa 0 28%,transparent 68%)}body.menu-view .menu-intro{width:min(900px,100%);margin:0 auto 28px;background:#fffdf7df;backdrop-filter:blur(5px)}body.menu-view .modes{width:min(900px,100%);margin:0 auto;gap:16px}body.menu-view .workspace,body.menu-view .bottom-note,body.menu-view>footer{display:none}
body.map-view{height:100vh;overflow:hidden;background:var(--paper)}body.map-view .topbar,body.map-view .intro,body.map-view .modes,body.map-view .bottom-note,body.map-view>footer{display:none}body.map-view main{max-width:none;height:100vh;padding:0}body.map-view .workspace{display:block;width:100%;height:100vh;min-height:0;border:0;border-radius:0;box-shadow:none;position:relative}body.map-view .map-card{height:100%}body.map-view .map-toolbar{height:64px;padding:0 20px;background:#fffdf7;gap:16px}body.map-view .map-toolbar>div:first-of-type{margin-right:auto}body.map-view .map-wrap{height:calc(100vh - 114px);overflow:auto}body.map-view #mapObject{min-width:900px}body.map-view .detail-panel{position:absolute;z-index:4;right:18px;top:82px;bottom:68px;width:320px;overflow:auto;border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 45px #17352c2b}body.map-view .legend{height:50px;background:#fffdf7}.back-btn{flex:none;min-height:42px!important;padding:0 16px;border:0;border-radius:12px;background:var(--green);color:#fff;font:800 13px inherit;cursor:pointer}
@media(max-width:700px){body.menu-view main{height:calc(100vh - 68px);padding:20px 14px;justify-content:flex-start;overflow:auto}body.menu-view .menu-intro{margin-bottom:18px}body.menu-view .modes{margin-right:0;flex-direction:column;overflow:visible;gap:10px}body.menu-view .mode{width:100%;min-width:0}body.map-view .map-toolbar{padding:0 9px;gap:7px}body.map-view .map-toolbar>div:first-of-type{font-size:11px;max-width:130px}body.map-view .back-btn{padding:0 11px}body.map-view .text-btn{font-size:0}body.map-view .text-btn:first-letter{font-size:18px}body.map-view .detail-panel{top:auto;left:10px;right:10px;bottom:58px;width:auto;max-height:38vh;min-height:0;padding:18px;border-radius:17px}body.map-view .map-wrap{height:calc(100vh - 114px)}}
.province-picker{display:flex;align-items:center;gap:8px;min-width:210px}.province-picker span{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted);white-space:nowrap}.province-picker select{width:160px;height:40px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:11px;background:#f8f5ed;color:var(--ink);font:700 12px inherit;cursor:pointer}.province-picker.hidden{display:none}
@media(max-width:700px){.province-picker{min-width:0}.province-picker span{display:none}.province-picker select{width:128px}.game-stats{gap:7px}}
.legend{position:relative;transition:height .2s,border .2s,opacity .2s}.legend-close{min-height:30px!important;width:30px;margin-left:2px;border:0;border-radius:9px;background:#e8e3d7;color:var(--ink);font:700 20px/1 inherit;cursor:pointer}.legend.closed{height:0!important;padding:0;border:0;opacity:0;overflow:hidden;pointer-events:none}body.map-view:has(.legend.closed) .map-wrap{height:calc(100vh - 64px)}body.map-view:has(.legend.closed) .detail-panel{bottom:14px}
@media(max-width:700px){body.map-view:has(.legend.closed) .map-wrap{height:calc(100vh - 64px)}}
.detail-panel{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--green2) transparent}.detail-panel.closed{display:none}.detail-close{position:absolute;z-index:2;right:14px;top:14px;width:34px;min-height:34px!important;border:0;border-radius:10px;background:#e8e3d7;color:var(--ink);font:700 22px/1 inherit;cursor:pointer}.province-detail{padding-right:4px}.province-detail h2{padding-right:38px;margin-bottom:18px}.province-detail .facts{border-top:1px solid var(--line)}.province-detail .fact{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(130px,1.35fr);gap:16px;align-items:start;padding:15px 0}.province-detail .fact>span{padding-top:3px;line-height:1.35}.province-detail .fact b{margin:0;line-height:1.4;font-size:15px}.province-detail .fact small{line-height:1.45}.zoom-controls{display:flex;flex:none;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#f8f5ed}.zoom-controls button{width:40px;min-height:40px!important;border:0;background:transparent;color:var(--green);font:800 22px/1 inherit;cursor:pointer}.zoom-controls button+button{border-left:1px solid var(--line)}.zoom-controls button:hover{background:#e8efe8}
@media(max-width:700px){.zoom-controls button{width:34px}.province-detail .fact{grid-template-columns:minmax(82px,.75fr) minmax(120px,1.25fr);gap:12px}.province-detail .fact b{font-size:14px}}
.detail-panel .detail-close{display:grid!important;place-items:center;position:absolute;z-index:10;right:14px;top:14px;width:38px;height:38px;min-height:38px!important;padding:0;border:1px solid #d8d1c3;border-radius:11px;background:#fff;color:#9d3924;font:800 24px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 4px 12px #17352c1f}
.timezone-picker{display:flex;align-items:center;gap:8px}.timezone-picker span{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted);white-space:nowrap}.timezone-picker select{height:40px;padding:0 28px 0 10px;border:1px solid var(--line);border-radius:11px;background:#f8f5ed;color:var(--ink);font:800 12px inherit;cursor:pointer}.timezone-picker.hidden{display:none}.detail-panel.closed:has(.game-message){display:block}@media(min-width:701px){body.map-view .detail-panel.panel-left{left:18px;right:auto}}@media(max-width:700px){.timezone-picker span{display:none}.timezone-picker select{width:88px}.province-picker{display:none}}
@media(max-width:700px){body.map-view .map-toolbar>div:first-of-type{display:none}}
.splash-identity{display:flex;justify-content:center;align-items:center;gap:10px;margin:18px auto 0;color:#49665d;font-size:13px}.splash-identity strong{font-family:Georgia,serif;font-size:15px}.splash-identity a{padding-left:10px;border-left:1px solid #7fa095;color:var(--green);font-weight:800;text-decoration:none}.splash-identity a:hover{text-decoration:underline}@media(max-width:420px){.splash-identity{flex-direction:column;gap:4px}.splash-identity a{padding-left:0;border-left:0}}
.map-question{position:absolute;z-index:3;top:22px;right:28px;width:min(430px,42vw);padding:18px 22px;border:2px solid #e1a735;border-radius:18px;background:#fff9dcf2;box-shadow:0 9px 0 #d7bd6c66,0 18px 35px #17352c24;text-align:center}.map-question span{display:block;margin-bottom:5px;color:#a65a2c;font-size:11px;font-weight:900;letter-spacing:.17em}.map-question strong{display:block;color:var(--ink);font:700 clamp(24px,2.5vw,38px)/1.1 Georgia,serif}.game-stats{gap:8px}.game-stats span{min-width:86px;padding:7px 12px;border-radius:11px;background:#e7f1eb;text-align:center;font-size:10px!important;font-weight:900;letter-spacing:.12em!important}.game-stats span:last-child{background:#fff0cd}.game-stats b{display:block;margin:1px 0 0!important;font-size:24px!important;line-height:1;color:var(--green)!important}.time-up-dialog{width:min(430px,92vw);padding:0;border-radius:26px;background:transparent;overflow:visible}.time-up-card{padding:32px;text-align:center;border:3px solid #f0bd4f;border-radius:26px;background:linear-gradient(145deg,#fffdf7,#fff4ca);box-shadow:0 18px 0 #193f3133}.time-up-icon{width:76px;height:76px;margin:-70px auto 16px;display:grid;place-items:center;border-radius:24px;background:var(--orange);font-size:36px;box-shadow:0 9px 0 #b95030}.time-up-card>span{color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.18em}.time-up-card h2{margin:8px 0;font:700 31px Georgia,serif}.time-up-card p{margin:0;color:var(--muted)}.time-up-card>strong{display:block;margin:12px 0 20px;color:var(--green);font:800 54px Georgia,serif}.time-up-card button{width:100%;border:0;border-radius:14px;background:var(--green);color:#fff;font-weight:900}.time-up-dialog::backdrop{background:#102b22aa;backdrop-filter:blur(5px)}@media(min-width:701px){body.map-view .detail-panel:has(.game-message){top:190px}}@media(max-width:700px){.map-question{top:12px;right:12px;width:min(290px,78vw);padding:12px 14px}.map-question strong{font-size:22px}.game-stats span{min-width:60px;padding:6px}.game-stats b{font-size:19px!important}}
.answer-alert{position:fixed;z-index:150;left:50%;top:50%;display:flex;align-items:center;gap:16px;min-width:280px;padding:18px 24px;border:3px solid #fff;border-radius:20px;color:#fff;box-shadow:0 16px 50px #102b2266;opacity:0;pointer-events:none;transform:translate(-50%,-42%) scale(.88);transition:opacity .16s,transform .16s}.answer-alert.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.answer-alert.correct{background:#287fc1}.answer-alert.wrong{background:#d94d45}.answer-alert>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#ffffff2e;font:900 34px/1 Arial}.answer-alert strong,.answer-alert small{display:block}.answer-alert strong{font:800 25px Georgia,serif}.answer-alert small{margin-top:3px;font-size:13px;color:#fff}
.time-up-dialog{width:min(560px,92vw)}.time-up-card{padding:42px}.time-up-card h2{font-size:40px}.time-up-card>strong{font-size:76px}.time-up-card button{font-size:17px;min-height:56px}
.result-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 24px}.result-summary>div{padding:14px;border-radius:14px;background:#e4f2e9}.result-summary>div:last-child{background:#f8dfda}.result-summary span,.result-summary b{display:block}.result-summary span{color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.08em}.result-summary b{margin-top:3px;color:var(--green);font:800 27px Georgia,serif}.result-summary>div:last-child b{color:#b44435}
.settings-screen{display:none;position:fixed;inset:0;z-index:40;overflow:auto;background:linear-gradient(145deg,#fff8dc,#dcefe2);color:var(--ink)}body.settings-view{overflow:hidden}body.settings-view .settings-screen{display:block}.settings-screen>header{min-height:120px;padding:24px clamp(20px,6vw,80px);display:flex;align-items:center;gap:28px;border-bottom:1px solid #d8dfd4;background:#fffdf7cc;backdrop-filter:blur(10px)}.settings-screen>header button{min-height:46px;padding:0 17px;border:0;border-radius:13px;background:var(--green);color:#fff;font:800 13px inherit;cursor:pointer}.settings-screen>header span{color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.18em}.settings-screen>header h1{margin:3px 0 0;font:700 clamp(31px,4vw,46px) Georgia,serif}.settings-grid{width:min(980px,90vw);margin:clamp(35px,7vh,75px) auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.settings-grid>button{min-height:145px;padding:24px;display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto;align-content:center;gap:3px 17px;text-align:left;border:2px solid #e1ddce;border-radius:21px;background:#fffdf7;color:var(--ink);cursor:pointer;box-shadow:0 8px 0 #d8d4c5;transition:transform .18s,box-shadow .18s}.settings-grid>button:hover{transform:translateY(-4px);box-shadow:0 12px 0 #d8d4c5}.settings-grid i{grid-row:1/3;width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:#e8f1e7;font-style:normal;font-size:28px}.settings-grid b{align-self:end;font-size:18px}.settings-grid small{align-self:start;color:var(--muted);font-size:12px}.settings-grid>button:last-child{grid-column:1/-1}.small-dialog{width:min(520px,92vw);padding:0;border-radius:23px}.small-dialog form{position:relative;padding:32px;display:grid;gap:17px}.small-dialog h2{margin:0 0 5px;font:700 30px Georgia,serif}.small-dialog label{display:grid;gap:7px;font-size:12px;font-weight:800}.small-dialog input{width:100%;height:50px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:#faf8f1;color:var(--ink);font:700 16px inherit}.small-dialog .modal-x{position:absolute;right:16px;top:16px;width:38px;min-height:38px;border:0;border-radius:10px;background:#eee9dd;font-size:22px}.small-dialog .primary{min-height:52px;border:0;border-radius:13px;font-weight:900}.about-dialog form{text-align:center}.about-logo{width:68px;height:68px;margin:auto;display:grid;place-items:center;border-radius:20px;background:var(--green);color:#fff;font:800 27px Georgia,serif}.about-dialog p{margin:0;color:var(--muted);line-height:1.65}.about-dialog dl{margin:4px 0;text-align:left;border-top:1px solid var(--line)}.about-dialog dl div{display:grid;grid-template-columns:120px 1fr;padding:12px 0;border-bottom:1px solid var(--line)}.about-dialog dt{color:var(--muted);font-size:12px}.about-dialog dd{margin:0;font-weight:800}@media(max-width:650px){.settings-screen>header{min-height:94px;padding:16px;gap:15px}.settings-screen>header h1{font-size:30px}.settings-grid{grid-template-columns:1fr;margin:25px auto}.settings-grid>button:last-child{grid-column:auto}.settings-grid>button{min-height:120px;padding:18px}.small-dialog form{padding:26px 20px}}
#toast{z-index:200}
.buy-fixed{position:fixed;z-index:210;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;min-width:112px;min-height:52px;padding:0 22px;border:2px solid #fff;border-radius:999px;background:var(--orange);color:#fff;text-decoration:none;font-size:16px;font-weight:900;box-shadow:0 8px 0 #aa4528,0 14px 30px #102b2240;transition:transform .15s,box-shadow .15s}.buy-fixed:hover{transform:translateY(-3px);box-shadow:0 11px 0 #aa4528,0 18px 34px #102b2240}.buy-fixed:active{transform:translateY(4px);box-shadow:0 4px 0 #aa4528,0 9px 20px #102b2238}@media(max-width:540px){.buy-fixed{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));min-width:96px;min-height:46px;padding:0 17px;font-size:14px}}
.purchase-dialog{width:min(470px,92vw);padding:0;border:0;border-radius:26px;background:transparent;overflow:visible}.purchase-dialog::backdrop{background:#102b22aa;backdrop-filter:blur(5px)}.purchase-card{padding:34px;text-align:center;border:2px solid #eadca9;border-radius:26px;background:linear-gradient(145deg,#fffdf7,#fff4ca);box-shadow:0 16px 0 #17352c33,0 28px 60px #102b224d}.purchase-icon{width:72px;height:72px;margin:-70px auto 18px;display:grid;place-items:center;border-radius:23px;background:var(--orange);font-size:34px;box-shadow:0 8px 0 #aa4528}.purchase-card h2{margin:8px 0 12px;color:var(--ink);font:700 34px Georgia,serif}.purchase-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}.purchase-card p strong{color:var(--green)}.purchase-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:27px}.purchase-actions button,.purchase-actions a{min-height:52px;display:grid;place-items:center;padding:0 16px;border-radius:14px;font:900 14px inherit;cursor:pointer;text-decoration:none}.purchase-actions button{border:1px solid var(--line);background:#eee9dd;color:var(--ink)}.purchase-actions a{border:0;background:var(--green);color:#fff;box-shadow:0 6px 0 #10392b}.purchase-actions a:active{transform:translateY(3px);box-shadow:0 3px 0 #10392b}@media(max-width:420px){.purchase-card{padding:30px 20px 24px}.purchase-card h2{font-size:29px}.purchase-actions{grid-template-columns:1fr}.purchase-actions button{order:2}}
.challenge-dialog{width:min(820px,94vw);max-height:90vh;padding:0;border-radius:23px}.challenge-dialog-shell>header{padding:20px 25px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.challenge-dialog-shell>header h2{margin:3px 0 0;font:700 29px Georgia,serif}.challenge-dialog-shell>header button{width:40px;min-height:40px;border:0;border-radius:11px;background:#eee9dd;font-size:23px}.challenge-editor{padding:22px 25px;display:grid;grid-template-columns:1.5fr .8fr;gap:15px;background:#faf8f1}.challenge-editor label{display:grid;gap:7px;font-size:12px;font-weight:800}.challenge-editor textarea,.challenge-editor select{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:inherit;resize:vertical}.challenge-editor select{height:48px}.challenge-editor .primary{grid-column:1/-1;min-height:48px;border:0;border-radius:12px;font-weight:900}.challenge-list-head{padding:18px 25px 10px;display:flex;justify-content:space-between}.challenge-list-head span{color:var(--muted);font-size:12px}.challenge-question-list{max-height:300px;padding:0 25px 24px;overflow-y:auto;overscroll-behavior:contain}.challenge-question-list article{display:grid;grid-template-columns:34px 1fr 38px;gap:12px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}.challenge-question-list article>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e8f1e7;color:var(--green);font-weight:900}.challenge-question-list p{margin:0;line-height:1.45}.challenge-question-list small{display:block;margin-top:6px;color:var(--muted)}.challenge-question-list article>button{width:36px;min-height:36px;border:0;border-radius:10px;background:#f6ddd7;color:#a23d2d;font-size:20px}.challenge-empty{padding:35px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}body.map-view .map-question{max-height:190px;overflow-y:auto}@media(max-width:650px){.challenge-editor{grid-template-columns:1fr;padding:18px}.challenge-editor .primary{grid-column:auto}.challenge-question-list{padding:0 18px 20px}.challenge-dialog-shell>header{padding:17px 18px}}
.challenge-dialog{max-height:none;overflow:visible}.challenge-question-list{max-height:none;overflow:visible;overscroll-behavior:auto}body.map-view .map-question{max-height:none;overflow:visible}
