.stories-feed{max-width:900px;margin:auto;padding:12px 0 6px}.stories-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:0 22px 6px}.app-shell .stories-caption h2{color:var(--paper);font-size:17px;margin:0}.stories-scroll-controls{display:flex;gap:5px}.stories-scroll-controls button{display:grid;place-items:center;padding:10px;min-width:44px;min-height:44px;border-radius:8px;color:var(--accent);background:transparent}.stories-scroll-controls button:disabled{opacity:.3}.stories-strip{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:3px 22px 6px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding-inline:22px}.stories-strip::-webkit-scrollbar{display:none}.story-preview{flex:0 0 92px;min-width:0;border:0;border-radius:46px 46px 8px 8px;background:transparent;text-align:left;padding:0;color:var(--paper);scroll-snap-align:start}.story-cover{display:block;position:relative;width:100%;height:102px;border-radius:46px 46px 8px 8px;overflow:hidden;background:#312a20;border:1px solid #ab895799}.story-cover>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 65%}.story-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#09110880,transparent 50%);pointer-events:none}.story-cover-action{display:grid;place-items:center;position:absolute;z-index:1;bottom:14px;right:8px;width:22px;height:22px;border-radius:50%;background:#efe2cbed;color:#342819}.story-cover-progress{display:flex;gap:3px;position:absolute;z-index:1;bottom:7px;left:9px;right:9px}.story-cover-progress i{flex:1;height:2px;border-radius:2px;background:#ffffff65}.story-cover-progress i.seen{background:#e8d5ad}.story-label{display:block;min-height:39px;font-size:11px;line-height:1.4;font-weight:500;padding:8px 2px 0;overflow-wrap:anywhere}.story-label>i{display:inline-block;height:5px;width:5px;background:#e1be80;border-radius:50%;margin:0 5px 2px 0}.story-preview.viewed .story-cover{border-color:#625643}.story-preview.viewed .story-label{color:var(--ink-muted)}.story-preview.viewed .story-cover-action{background:#2c251ce6;color:#e0c79f}.story-preview:hover .story-cover{border-color:#f0d5a4}.story-cover-fallback{height:100%;display:grid;place-items:center;color:#e4d6b8}.stories-overlay{position:fixed;inset:0;z-index:1000;background:#171513;height:100dvh;height:var(--tg-viewport-stable-height,100dvh);outline:none;overscroll-behavior:none;animation:stories-in .16s ease-out}.story-frame{width:100%;height:100%;min-height:0;background:#171513;position:relative;overflow:hidden}.story-top{position:absolute;z-index:3;top:0;left:0;right:0;padding:calc(max(env(safe-area-inset-top,0px),var(--tg-safe-area-inset-top,0px),var(--tg-content-safe-area-inset-top,0px)) + 10px) 12px 16px;background:linear-gradient(#0c0a09b8,transparent)}.story-progress{display:flex;gap:4px}.story-progress span{height:3px;background:#ffffff40;border-radius:4px;flex:1;overflow:hidden}.story-progress i{display:block;height:100%;width:100%;background:#fff;transform-origin:left}.story-toolbar{display:flex;gap:6px;align-items:center;padding-top:8px}.story-toolbar strong{flex:1;font-size:13px}.story-toolbar button{background:#ffffff13;color:#fff;min-height:44px;min-width:44px;padding:8px;border-radius:50%}.story-toolbar button:hover{background:#ffffff25}.story-stage{position:absolute;inset:0;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;background:#171513}.story-backdrop{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(20px) brightness(.45);pointer-events:none}.story-image,.story-video{position:relative;z-index:1;display:block;width:100%;height:100%;min-height:0;object-fit:contain;pointer-events:none}.story-side-controls{position:absolute;z-index:2;inset:50% 18px auto;display:flex;justify-content:space-between;pointer-events:none}.story-side-controls button{pointer-events:auto;min-width:48px;min-height:48px;border-radius:50%;background:#120e0bad;color:#fff;font-size:21px}.story-bottom{position:absolute;z-index:3;bottom:0;left:0;right:0;padding:28px 12px calc(max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px),var(--tg-content-safe-area-inset-bottom,0px)) + 12px);background:linear-gradient(transparent,#0c0a09a8);pointer-events:none}.story-cta{display:block;width:min(100%,520px);margin:0 auto;min-height:48px;background:#dcc398;color:#282015;font-weight:650;pointer-events:auto}.story-fallback{text-align:center;padding:20px;line-height:1.5}.story-play,.story-loading{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px;border-radius:10px;background:#211e19ed;color:#fff;text-align:center}@keyframes stories-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.stories-overlay{animation:none}}@media(max-width:849px){.story-side-controls{display:none}}@media(min-width:850px){.stories-strip{gap:16px}.story-preview{flex-basis:112px}.story-cover{height:116px;border-radius:56px 56px 8px 8px}}@media(max-width:360px){.stories-caption{padding-inline:14px}.stories-strip{padding-inline:14px;scroll-padding-inline:14px}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f3f4f6;background:#0b1020;font-synthesis:none;--witches: #237446;--knights: #f97316;--contested: #c93443}.admin-web{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:#0f172a;border-right:1px solid #253047;padding:28px 18px;display:flex;flex-direction:column;gap:28px}.admin-brand{display:block;text-decoration:none;color:#fff;font-size:22px;font-weight:900;letter-spacing:.08em}.admin-brand span{display:block;margin-top:6px;font-size:12px;letter-spacing:0;color:#94a3b8;font-weight:400}.admin-sidebar nav{display:flex;flex-direction:column;gap:6px}.admin-sidebar nav button{text-align:left;color:#94a3b8;background:transparent;font-weight:550}.admin-sidebar nav button:hover{background:#172b3c;color:#fff}.admin-sidebar nav button.active{background:#12384c;color:#7dd3fc;box-shadow:inset 3px 0 #38bdf8}.admin-identity{margin-top:auto;display:flex;flex-direction:column;gap:10px}.admin-workspace{min-width:0;padding:32px clamp(16px,4vw,56px)}.admin-heading{position:static;height:auto;padding:0 0 24px;margin-bottom:24px;background:transparent;align-items:center}.admin-heading h1{margin:0;font-size:30px}.admin-heading p{margin-bottom:8px}.admin-workspace .page{max-width:1280px;margin:0}.admin-workspace .admin-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.admin-workspace .admin-full,.admin-workspace .admin-wide{grid-column:1}.admin-workspace .panel{padding:24px}.faction-adjustment-scores{display:flex;flex-wrap:wrap;gap:20px;margin:22px 0}.faction-adjustment-scores>div{flex:1 1 260px;padding:16px;border:1px solid var(--line);border-radius:14px}.faction-adjustment-scores h3{margin:0 0 12px}.faction-adjustment-scores p{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin:8px 0}.faction-adjustment-scores small{color:#bdb09b}.faction-adjustment-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.faction-adjustment-form .field:has(textarea){grid-column:1 / -1}.faction-adjustment-form button{justify-self:start}.admin-faction-adjustments td{vertical-align:top}.admin-workspace table{font-size:14px}.admin-redemptions{min-width:0;max-width:1400px}.spending-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end;margin:20px 0}.spending-filters .field{min-width:0;margin:0}.spending-filter-actions{display:flex;flex-wrap:wrap;gap:8px}.spending-summary{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.spending-summary>div{flex:1 1 190px;padding:16px 18px;border:1px solid #325241;border-radius:12px;background:#172b25}.spending-summary strong{display:block;font-size:27px;line-height:1.2;font-variant-numeric:tabular-nums;color:#e9c995}.spending-summary span,.spending-subline{display:block;margin-top:4px;color:#aebcb5;font-size:12px;font-weight:400}.spending-toolbar{gap:14px;flex-wrap:wrap;margin:16px 0}.spending-toolbar p{margin:0}.spending-nowrap{white-space:nowrap}.admin-web a,.admin-login a{color:#7dd3fc}.admin-login .panel{max-width:520px;line-height:1.6}.admin-login .muted{margin-top:20px}.admin-link-button{display:inline-block;border-radius:12px;padding:12px 20px;background:#0369a1;color:#fff!important;text-decoration:none;font-weight:700}.access-editor{padding:20px;border:1px solid #38bdf8;border-radius:12px;margin:20px 0}.access-editor fieldset{border:1px solid #334155;margin-bottom:16px;border-radius:10px}.action-dialog.access-role-dialog{width:min(620px,calc(100% - 24px));overflow-y:auto}.access-role-form{display:grid;gap:14px}.access-role-form fieldset{min-width:0;margin:0;border:1px solid #796344;border-radius:10px}.access-role-form .row{flex-wrap:wrap}.access-role-dialog .access-editor{margin-bottom:0}.access-username{color:#7dd3fc;overflow-wrap:anywhere}.access-telegram-inline{display:none;margin-top:4px;color:#cbd5e1;font-variant-numeric:tabular-nums}.hero-catalog-counts{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.hero-catalog-counts span{padding:8px 12px;border:1px solid #334155;border-radius:9px}.hero-catalog-form{display:grid;gap:14px;margin:20px 0 28px;padding:20px;border:1px solid #334155;border-radius:12px;background:#ffffff06}.hero-catalog-form h3,.hero-catalog-card h3{margin:0}.hero-catalog-form>button{justify-self:start}.hero-catalog-form .muted{margin:0}.hero-catalog-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hero-catalog-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:16px}.hero-catalog-filters .field{flex:1 1 180px}.hero-catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hero-catalog-card{min-width:0;padding:16px;border:1px solid #334155;border-radius:12px;background:#ffffff05}.hero-catalog-card-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:start}.hero-catalog-card-heading span{padding:4px 7px;border-radius:7px;font-size:12px;white-space:nowrap}.hero-catalog-free{background:#14532d;color:#dcfce7}.hero-catalog-taken{background:#713f12;color:#fef3c7}.hero-catalog-card small{display:block;margin-top:5px;color:#94a3b8}.hero-catalog-card p{margin:12px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.report-review{border-top:1px solid #334155;padding:24px 0}.report-proof{white-space:pre-wrap;overflow-wrap:anywhere}.report-media{display:block;max-width:100%;max-height:480px;margin:16px 0}.story-editor{min-width:0;border:1px solid #334155;border-radius:12px;padding:16px;margin:16px 0}.story-file-drop{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin:10px 0 18px;padding:14px;border:2px dashed #64748b;border-radius:12px;background:#172235;color:#cbd5e1}.story-file-drop.is-dragging{border-color:#7dd3fc;background:#12384c}.story-file-drop.is-disabled{opacity:.55}.story-file-drop label{display:inline-flex;position:relative;min-height:44px;align-items:center;padding:10px 14px;border-radius:10px;background:#e2bf8c;color:#17202b;font-weight:700;cursor:pointer}.story-file-drop input{position:absolute;inset:0;width:100%;height:100%;padding:0;opacity:0;cursor:pointer}.story-file-drop:focus-within{outline:2px solid #7dd3fc;outline-offset:2px}.story-file-drop>span{font-size:13px}.story-admin-preview{display:block;max-width:min(100%,220px);max-height:180px;margin:4px 0 16px;border-radius:10px;object-fit:contain;background:#0b1020}@media(max-width:850px){.admin-web{display:block}.admin-sidebar{position:static;height:auto;padding:16px;gap:16px}.admin-sidebar nav{flex-direction:row;overflow-x:auto}.admin-sidebar nav button{white-space:nowrap;flex-shrink:0}.admin-identity{flex-direction:row;align-items:center;flex-wrap:wrap}.admin-workspace{padding:20px 12px}.admin-workspace .panel{padding:16px}.faction-adjustment-form{grid-template-columns:minmax(0,1fr)}.hero-catalog-fields,.hero-catalog-list{grid-template-columns:1fr}.hero-catalog-form{padding:14px}.access-telegram-inline{display:block}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:#0b1020}body{min-height:100vh}button,input,select,textarea{font:inherit}button{border:0;border-radius:12px;padding:12px 16px;background:#f3f4f6;color:#111827;font-weight:750;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.secondary{background:#273248;color:#f9fafb}input,select,textarea{width:100%;border:1px solid #334155;border-radius:10px;padding:11px;background:#111827;color:#f9fafb}textarea{min-height:84px;resize:vertical}h1,h2,h3,p{margin-top:0}header{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#0f172a;border-bottom:1px solid #1f2937;position:sticky;top:0;z-index:20}.app-shell{min-height:100vh;padding-bottom:70px}.app-shell>main{min-height:calc(100vh - 124px)}.nav{position:fixed;z-index:30;bottom:0;left:0;right:0;padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#0f172af5;border-top:1px solid #334155;display:flex;gap:6px;overflow-x:auto}.nav button{flex:1;min-width:72px;background:transparent;color:#94a3b8;padding:10px 8px}.nav button.active{background:#1e293b;color:#fff}.panel{background:#111827;border:1px solid #253047;border-radius:16px;padding:16px;box-shadow:0 18px 50px #0000002e}.page{max-width:900px;margin:16px auto}.center{min-height:100vh;display:grid;place-content:center;text-align:center;padding:24px}.spinner{width:36px;height:36px;border:4px solid #253047;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.map-page{position:relative;height:calc(100vh - 124px);min-height:560px}.explore-map>.map{position:absolute;inset:0}.map-status{position:absolute;z-index:6;top:58px;left:50%;transform:translate(-50%);width:min(420px,calc(100% - 32px));padding:10px 14px;border-radius:12px;background:#0f172aeb;text-align:center;box-shadow:0 8px 24px #00000040}.map-status.error{background:#4c1d1df2}.venue-panel{position:absolute;z-index:10;left:12px;bottom:12px;width:min(430px,calc(100% - 24px));max-height:58vh;overflow:auto}.venue-marker{position:relative;width:60px;height:60px;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none;cursor:pointer}.venue-marker:hover,.venue-marker:focus-visible{z-index:3}.venue-marker:focus-visible{outline:3px solid #181818;outline-offset:3px;background:#fff8}.venue-shield{position:relative;display:block;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 2px 3px #0009)}.venue-marker-link{position:absolute;inset:0;width:60px;height:60px;overflow:visible;pointer-events:none}.venue-marker-link line{stroke:#29231e;stroke-width:2}.venue-marker-link circle{fill:#29231e;stroke:#fff;stroke-width:1.5}.venue-shield-fill{fill:var(--marker-color, #64748b);stroke:#fff;stroke-width:3;stroke-linejoin:round}.venue-shield-art{filter:none}.venue-shield-backing{fill:#f1e5cb}.venue-shield-fallback{fill:#fff;text-anchor:middle;font:700 26px sans-serif}.venue-marker[data-controller=blue] .venue-shield-fallback,.venue-marker[data-controller=red] .venue-shield-fallback{fill:#181818}.row{display:flex;gap:10px}.row>*{flex:1}.between{justify-content:space-between;align-items:center}.between>*{flex:initial}.small{font-size:12px}.icon{padding:0;width:36px;height:36px;background:#1f2937;color:#fff}.muted{color:#94a3b8;font-size:13px}.task{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid #273248;padding:12px 0}.task>div{flex:1}.task .task-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;align-items:stretch;max-width:155px}.task .task-actions button{white-space:normal;padding:10px 12px;font-size:13px}.task-reward{color:#fcd34d;font-size:12px;margin-top:8px}.checkin-hint{margin-top:8px;line-height:1.5}.task button{white-space:nowrap}.scorebar{height:10px;background:#374151;border-radius:999px;overflow:hidden;display:flex;margin:12px 0 6px}.scorebar span{display:block;height:100%}.venue-score .scorebar .red{background:#d45b55}.venue-score .scorebar .blue{background:#49b878}.notice{margin-top:12px;padding:11px 12px;border-radius:10px;background:#263449}.notice.error{background:#4c1d1d}.notice.success{background:#143d2b}.badge{padding:5px 9px;border-radius:999px;font-size:12px;background:#334155}.badge.red{background:#f3f8ef;color:#237446;border:1px solid #bddcc6}.badge.blue{background:#181818;color:#ff9a46;border:1px solid #a65320}.faction-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.faction-card{border-radius:16px;padding:18px;color:#fff;display:flex;justify-content:space-between;align-items:center;min-height:82px}button.faction-card{border:2px solid transparent}.faction-card strong{font-size:24px}.leader-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #243047}.grow{flex:1}.dot{width:10px;height:10px;border-radius:50%;background:#64748b}.dot.red{background:var(--witches);box-shadow:0 0 0 1px #e9f5e9}.dot.blue{background:var(--knights)}.divider{text-align:center;color:#64748b;margin:14px 0}.admin-grid{max-width:1050px;margin:16px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 12px}.admin-grid form{display:flex;flex-direction:column;gap:10px}.admin-grid>.notice{grid-column:1/-1}.modal-backdrop{position:fixed;z-index:100;inset:0;background:#000000b8;display:grid;place-items:center;padding:20px}.modal{background:#fff;color:#111827;border-radius:18px;padding:20px;width:min(360px,100%);text-align:center}.qr{display:inline-block;padding:12px;background:#fff}.qr svg{max-width:100%;height:auto}.modal{max-height:90vh;overflow-y:auto}.dark-modal{background:#111827;color:#f3f4f6;text-align:left;display:flex;flex-direction:column;gap:10px}.dark-modal p{margin-bottom:0}.button-link{display:inline-block;margin-top:10px;padding:12px 16px;border-radius:12px;background:#f3f4f6;color:#111827;font-weight:750;text-decoration:none}.field{display:flex;flex-direction:column;gap:6px;color:#cbd5e1;font-size:13px}.form-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#cbd5e1}.checkbox-label input{width:18px;height:18px;flex:0 0 auto;margin:0}.section-heading{margin-top:24px}.section-heading h3{margin-bottom:0}.admin-wide{grid-column:span 2}.admin-full{grid-column:1 / -1;min-width:0}.admin-grid>*{min-width:0}.admin-list-row,.wallet-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #273248}.admin-list-row>div,.wallet-row>div{min-width:0;overflow-wrap:anywhere}.admin-list-row button{flex:0 0 auto;font-size:12px;padding:10px}.coin-balance{color:#fde68a;background:#443519;padding:8px 12px;border-radius:12px;font-weight:800;white-space:nowrap}.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:24px 0}.shop-item{border:1px solid #5c4725;background:linear-gradient(135deg,#302a21,#172033);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px}.shop-item h2,.shop-item p{margin:0}.shop-symbol{font-size:38px;color:#fbbf24}.coin-price{color:#fde68a;font-size:22px}.positive{color:#6ee7b7}.purchase-preview{background:#172033;border:1px solid #fbbf24;border-radius:14px;padding:18px;margin-top:20px}.submission-card,.campaign{border-top:1px solid #273248;padding:16px 0}.submission-card .muted{margin:8px 0}.status-pill{display:inline-block;border-radius:8px;padding:5px 7px;font-size:11px;background:#334155;white-space:nowrap}.status-pill.approved{color:#a7f3d0;background:#064e3b}.status-pill.rejected{color:#fecaca;background:#7f1d1d}.status-pill.pending{color:#fde68a;background:#713f12}.shop-admin-item{padding:16px 0;border-top:1px solid #273248}.message-preview{margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}summary{cursor:pointer;color:#cbd5e1;margin:12px 0}code{overflow-wrap:anywhere}.analytics-filter{flex-direction:row!important;flex-wrap:wrap;align-items:end;max-width:600px}.analytics-filter .field{flex:1}.analytics-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:20px 0}.analytics-counts>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:#172033}.analytics-counts strong{font-size:22px}.analytics-counts span{color:#94a3b8;font-size:12px;overflow-wrap:anywhere}.analytics-player-matches{display:grid;gap:6px;max-width:600px;margin:12px 0}.analytics-player-matches p{margin:0 0 4px}.analytics-player-matches button{text-align:left;white-space:normal;overflow-wrap:anywhere}.analytics-player-subline{display:block;color:#94a3b8;margin-top:3px;white-space:nowrap}.task-analytics-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end;margin:20px 0}.task-analytics-filter .field{min-width:0;margin:0}.task-analytics table small{display:block;margin-top:4px;color:#94a3b8}.task-analytics .task-link{min-width:44px;min-height:44px;padding:6px 0;text-align:left;background:transparent;color:#f1d3a3;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px;white-space:normal}.task-analytics .task-link:hover,.task-analytics .task-link:focus-visible{color:#fff}.task-pool-state{display:inline-block;padding:4px 9px;border-radius:999px;color:#9ee4b2;background:#173323;white-space:nowrap}.task-pool-state.warning{color:#f7d796;background:#463519}.task-pool-state.urgent{color:#ffc2b8;background:#5a2625}.statistics-metrics>div{padding:0}.statistics-metric-button{display:flex;width:100%;height:100%;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;text-align:left;color:#f5ecdb;background:transparent}.statistics-metric-button:hover,.statistics-metric-button:focus-visible{background:#334155}.statistics-metric-button strong{font-variant-numeric:tabular-nums}.statistics-metric-button span{font-weight:400}.statistics-table-button{min-width:44px;min-height:44px;padding:6px 2px;text-align:left;color:#f1d3a3;background:transparent;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}.statistics-table-button:hover,.statistics-table-button:focus-visible{color:#fff}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th,td{padding:10px;border-bottom:1px solid #273248;vertical-align:top}th{color:#94a3b8;font-weight:600}.event-details{display:block;max-width:340px;min-width:120px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:760px){.page{margin:10px}.admin-grid{grid-template-columns:1fr}.admin-wide{grid-column:auto}.venue-panel{max-height:52vh}}.venue-shield-halo{display:none;fill:none;stroke-linejoin:round;pointer-events:none}.venue-shield-aura{stroke-width:18;opacity:.35}.venue-shield-rim{stroke-width:10}.contested-marker .venue-shield-halo{display:block;stroke:#ff4057;animation:shield-beacon 2.4s ease-in-out infinite}.venue-marker[data-controller=red] .venue-shield-halo,.venue-marker[data-controller=blue] .venue-shield-halo{display:block;stroke:#ffd66b;animation:shield-beacon 2.8s ease-in-out infinite}.venue-marker[data-controller=red] .venue-shield-fill,.venue-marker[data-controller=blue] .venue-shield-fill{stroke:#dfc291}@keyframes shield-beacon{0%,to{opacity:.12}50%{opacity:1}}.control-label{display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;background:#334155}.control-label.red{background:#f3f8ef;color:#237446}.control-label.blue{background:#181818;color:#ff9a46;border:1px solid #a65320}.control-label.contested{background:#8c2430;color:#fff1f2}.territory-history{display:flex;flex-direction:column;gap:8px}.history-row{display:flex;gap:9px;align-items:center;padding:8px 0;border-top:1px solid #243047}.history-row .dot{flex:0 0 auto}.season-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;margin-bottom:18px;border-radius:14px;background:#172033;border:1px solid #29354a}.season-card strong{display:block;font-size:18px;margin-top:4px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.stat-grid>div{background:#172033;border:1px solid #29354a;border-radius:12px;padding:12px;text-align:center}.stat-grid strong{display:block;font-size:22px}.stat-grid span{color:#94a3b8;font-size:12px}.achievement-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.achievement{padding:12px;border:1px solid #374151;border-radius:12px;background:#172033}.achievement strong{display:block;margin-bottom:4px}.achievement span{color:#94a3b8;font-size:13px}.setting-row{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 0 18px}.setting-row>div{flex:1}.season-admin{grid-column:span 2}.season-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #243047}.season-row:last-child{border-bottom:0}.faction-onboarding{min-height:100vh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 8% 18%,rgba(34,197,94,.22),transparent 34%),radial-gradient(circle at 92% 82%,rgba(249,115,22,.18),transparent 36%),#07111f}.faction-welcome{width:min(720px,100%);text-align:center}.game-mark{display:inline-block;margin-bottom:30px;padding:7px 12px;border:1px solid #334155;border-radius:999px;color:#cbd5e1;font-size:12px;font-weight:900;letter-spacing:.16em}.welcome-kicker{margin-bottom:8px;color:#94a3b8}.faction-welcome h1{margin-bottom:12px;font-size:clamp(32px,7vw,52px);line-height:1.03}.welcome-copy{max-width:560px;margin:0 auto 28px;color:#cbd5e1;font-size:16px;line-height:1.55}.faction-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.faction-choice{min-height:190px;padding:22px;color:#fff;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 55px #00000047;transition:transform .16s ease,filter .16s ease,border-color .16s ease}.faction-choice:hover:not(:disabled){transform:translateY(-3px);filter:saturate(1.12);border-color:#ffffff80}.faction-choice:active:not(:disabled){transform:translateY(0)}.faction-symbol{font-size:38px;line-height:1}.faction-choice-copy{display:flex;flex-direction:column;gap:5px}.faction-choice-copy strong{font-size:28px}.faction-choice-copy small{color:#ffffffc7;font-size:13px}.choice-action{align-self:flex-end;padding:7px 11px;border-radius:999px;background:#040f1952;font-size:12px}.choice-warning{max-width:530px;margin:20px auto 0;color:#94a3b8;font-size:12px;line-height:1.45}@media(max-width:760px){.stat-grid{grid-template-columns:repeat(2,1fr)}.season-admin{grid-column:auto}.setting-row{align-items:flex-start;flex-direction:column}.faction-choice-grid{grid-template-columns:1fr}.faction-choice{min-height:145px}}.delete-user-form{display:flex;flex-direction:column;gap:14px}.delete-user-form p{margin:0;overflow-wrap:anywhere}.delete-user-form input{width:100%;min-height:48px;box-sizing:border-box}.delete-user-form .row{flex-wrap:wrap}.delete-user-form .row button{flex:1;min-height:44px}.delete-user-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.delete-user-summary dt{font-size:13px}.delete-user-summary dd{margin:4px 0 0;font-weight:700}.admin-web button.danger,.delete-user-form button.danger{background:#8c2533;color:#fff;min-height:44px}.referral-card{margin:24px 0;padding:22px;border:1px solid rgba(211,177,111,.45);border-radius:18px;background:linear-gradient(140deg,#47321e8c,#171f1be0)}.referral-card h2{margin:8px 0 10px}.referral-card p{max-width:60ch}.referral-card .field{display:block;margin:16px 0 10px}.referral-card .field input{width:100%}.referral-card .identity-age-confirmation{margin:14px 0}.referral-actions{display:flex;gap:10px;flex-wrap:wrap}:root{--surface: #211e19;--line: #615037;--ink-muted: #bdb09b;--paper: #f5ecdb;--accent: #dbb378;--serif: Georgia, "Times New Roman", serif;--header-height: 64px;--nav-height: calc(76px + env(safe-area-inset-bottom,0px)) }html[data-interface=game],html[data-interface=game] body,html[data-interface=game] #root{background:#171513}body{-webkit-font-smoothing:antialiased}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;outline-offset:4px}:focus-visible{outline:2px solid #dfc291}button{transition:background-color .15s,border-color .15s}.app-shell{max-width:1120px;margin:auto;padding-bottom:var(--nav-height);background:#171513;color:var(--paper);min-height:100dvh}.app-shell button,.action-dialog button{min-height:44px}.app-shell button:disabled{cursor:default}.app-shell svg{flex-shrink:0}.game-header{height:var(--header-height);padding:10px 22px;background:#171513f5;border-color:#75614140;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.game-brand{display:flex;align-items:center;gap:10px}.brand-emblem{display:grid;place-items:center;width:34px;height:38px;color:var(--accent)}.game-brand strong{display:block;font-size:15px;letter-spacing:.1em}.game-brand small{display:block;margin-top:4px;color:var(--ink-muted);font-size:8px;letter-spacing:.18em}.header-wallet{display:flex;align-items:center;gap:7px;min-width:44px;max-width:45%;padding:8px 4px;color:var(--accent);background:transparent;font-size:15px;font-variant-numeric:tabular-nums}.header-wallet span{overflow-wrap:anywhere}.header-wallet:hover{color:var(--paper)}.header-balance-group{display:flex;align-items:center;gap:10px;margin-left:auto}.header-balance-group .header-wallet{max-width:none}.header-faction{display:grid;place-items:center;width:34px;height:34px;border-right:1px solid #8a704a;padding-right:8px}.team-badge{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--paper)}.team-badge.red .faction-emblem{color:#9eceab}.team-badge.blue .faction-emblem{color:#ffb375}.app-shell>main{min-height:calc(100dvh - var(--header-height) - var(--nav-height))}.app-shell>.game-page-layout{padding:24px 20px 32px}.app-shell .page{margin:0 auto;max-width:820px}.game-page-layout>.panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.app-shell h1{font-family:var(--serif);font-weight:400;font-size:clamp(30px,5vw,42px);letter-spacing:-.035em;line-height:1.1;overflow-wrap:anywhere}.app-shell h2{font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:-.025em}.app-shell h3{font-family:var(--serif);font-weight:400;font-size:21px}.app-shell p{line-height:1.6}.app-shell .muted{color:var(--ink-muted);line-height:1.6;font-size:14px}.app-shell .eyebrow{display:block;color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.12em;margin-bottom:12px}.page-title{margin-bottom:24px}.page-title h1{margin-bottom:0}.nav{left:50%;right:auto;transform:translate(-50%);width:min(100%,1120px);padding:6px max(12px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#171513f5;border-color:#75614150;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:8px;overflow:visible}.nav button{min-width:0;min-height:63px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 3px;font-size:12px;font-weight:500;color:var(--ink-muted);border-radius:10px}.nav button.active{background:#dbb3780e;color:#e2bf8c}.nav button:hover:not(.active){background:#30291f;color:var(--paper)}.nav button span{line-height:1.1;text-align:center;text-wrap:balance}.nav button svg{width:20px;height:20px}@media(max-width:390px){.nav{gap:2px;padding-inline:max(4px,env(safe-area-inset-left))}.nav button{font-size:10px;padding-inline:1px}}.game-contest-layout{padding:0}.contest-active>main{min-height:calc(100dvh - var(--nav-height))}.contest-frame{display:block;width:100%;height:calc(100dvh - var(--nav-height));border:0;background:#0d1517}.tavern-welcome{max-width:900px;margin:auto}.tavern-hero{box-sizing:border-box;min-height:clamp(430px,135vw,600px);padding:24px 22px 22px;display:flex;flex-direction:column;justify-content:end;background-color:#171513;background-position:center top;background-size:cover;background-repeat:no-repeat}.tavern-hero .eyebrow{font-size:9px;margin-bottom:12px}.tavern-hero h1{font-style:italic;font-size:clamp(32px,5vw,46px);max-width:20ch;text-wrap:balance;margin:0 0 12px}.tavern-hero p{color:#f1e5d4;font-size:12px;margin:0}.home-banner-editor{max-width:780px}.home-banner-editor form{display:grid;gap:16px}.home-banner-preview{box-sizing:border-box;width:min(100%,390px);min-height:500px;padding:20px;display:flex;flex-direction:column;justify-content:end;gap:12px;color:#f5ecdb;background-color:#171513;background-position:center top;background-size:cover;background-repeat:no-repeat;border:1px solid #8a704a;border-radius:12px}.home-banner-preview span{color:#e2bf8c;font-size:10px;letter-spacing:.12em}.home-banner-preview strong{font:italic 35px/1.08 Georgia,serif}.home-banner-preview small{font-size:13px}.jury-admin{display:grid;gap:18px}.jury-applicant-list{display:grid;gap:8px;margin-top:18px}.jury-applicant{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--line)}.jury-applicant>div{display:grid;gap:3px;min-width:0}.jury-applicant span{color:var(--ink-muted);font-size:13px;overflow-wrap:anywhere}.jury-message{padding:14px 0;border-top:1px solid var(--line)}.jury-message p{white-space:pre-wrap}.jury-message small{color:var(--ink-muted)}@media(max-width:600px){.jury-applicant{align-items:flex-start;flex-direction:column}}.player-strip{display:flex;align-items:center;gap:10px;margin:0 22px;padding:12px 0;border-block:1px solid var(--line)}.daily-summary{display:flex;align-items:baseline;gap:9px;margin-left:auto;color:var(--ink-muted);font-size:11px;white-space:nowrap}.daily-summary b{color:var(--paper);font-size:18px;font-weight:500;font-variant-numeric:tabular-nums}.daily-summary small{color:var(--ink-muted);font-size:12px}.daily-pips{display:flex;gap:3px}.daily-pips i{width:4px;height:12px;background:#ffffff26;border-radius:2px}.daily-pips i.is-checked{background:var(--accent)}.explore-content{padding:10px 22px 32px;max-width:900px;margin:auto}.explore-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.explore-toolbar h2{margin:0;font-size:23px}.explore-toolbar h2 span{color:var(--ink-muted);margin-left:6px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;vertical-align:middle}.view-switch{display:flex;gap:2px;flex-shrink:0}.view-switch button{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;min-width:44px;min-height:44px;font-size:11px;border-radius:8px;color:var(--ink-muted);background:transparent;font-weight:500}.view-switch button[aria-pressed=true]{background:#dbb37812;color:#f0d3a5}.venue-list{display:grid;gap:12px}.venue-list-item{display:block;width:100%;min-width:0;text-align:left;padding:14px 16px 0;border:1px solid #75614185;border-radius:12px;background:var(--surface);color:var(--paper);position:relative;font-weight:400}.venue-list-item:before{content:"";position:absolute;right:7px;top:7px;width:10px;height:10px;border-top:1px solid #ac8a5199;border-right:1px solid #ac8a5199;pointer-events:none}.venue-list-item:hover{background:#2c261e;border-color:#a68858}.venue-card-top{display:flex;align-items:center;gap:8px;color:var(--ink-muted);font-size:11px;line-height:1.4}.territory-emblem{display:inline-flex;flex-shrink:0;color:#ccc1ac}.territory-emblem.red{color:#9eceab}.territory-emblem.blue{color:#ffb375}.territory-emblem.contested{color:#ff9ca6}.venue-number{margin-left:auto;font-family:var(--serif);font-size:12px;color:#c4b18f}.venue-list-copy{display:block;min-width:0}.venue-list-copy>strong{font-family:var(--serif);font-size:25px;line-height:1.15;display:block;margin-top:10px;font-weight:400;letter-spacing:-.025em;overflow-wrap:anywhere}.venue-list-copy>span{display:block;font-size:12px;margin-top:6px;color:var(--ink-muted);line-height:1.5}.venue-card-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid #ffffff16;min-height:44px;padding-block:9px;margin-top:14px;color:#e2bf8c;font-size:11px}.venue-card-bottom>span:last-child{display:flex;align-items:center;gap:6px}.venue-card-bottom .visited{color:#b9d3a6}.daily-rule{font-size:12px;color:var(--ink-muted);text-align:center;margin:24px 0 0}.explore-footnote{display:flex;justify-content:center;align-items:flex-start;gap:8px;color:var(--ink-muted);font-size:12px;margin:8px 0 0}.explore-footnote svg{margin-top:2px}.dot.contested{background:var(--contested)}.dot.neutral{background:#94a3b8}.explore-map{position:relative;height:min(65dvh,580px);min-height:340px;border-radius:18px;overflow:hidden;border:1px solid #48503e;background:#263025}.map-key{display:flex;flex-wrap:wrap;gap:12px;position:absolute;z-index:2;left:10px;bottom:38px;padding:10px 12px;border-radius:10px;background:#141c16ed;color:#e2e7dc;font-size:11px;pointer-events:none}.map-key span{display:flex;align-items:center;gap:5px}.map-key .dot{width:7px;height:7px}.map-key-logo{width:21px;height:24px;flex:none}.map-unavailable{position:absolute;top:12px;left:12px;right:52px;z-index:2;padding:12px;border-radius:12px;background:#1b241ced;font-size:12px;line-height:1.5}.map-unavailable button{display:block;background:transparent;color:#eed8af;padding:6px 0;text-decoration:underline}.venue-detail{max-width:760px;margin:auto;padding:16px 22px 32px}.back-button{display:inline-flex;align-items:center;gap:8px;padding:8px 0;background:transparent;color:var(--ink-muted);font-size:14px;margin-bottom:12px}.venue-detail-heading h1{margin:10px 0;outline:none}.venue-detail-heading>p{display:flex;align-items:center;gap:8px;color:var(--ink-muted);font-size:14px;margin-bottom:16px}.venue-score{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin-bottom:16px}.venue-score h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:20px;margin:0 0 8px}.venue-score h2 small{font:11px ui-sans-serif,system-ui,sans-serif;color:var(--ink-muted)}.venue-score-teams{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.venue-score-team{display:flex;flex-direction:column;gap:4px;min-width:0}.venue-score-name{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.35;min-height:34px}.venue-score-name .faction-emblem{flex-shrink:0}.venue-score-team.red .faction-emblem{color:#9eceab}.venue-score-team.blue .faction-emblem{color:#ffb375}.venue-score-team strong{font-size:clamp(25px,7vw,36px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.venue-score-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.venue-score-value strong{min-width:0}.venue-score-team small{color:var(--ink-muted);font-size:12px}.venue-score .scorebar{height:6px;margin:10px 0 8px}.venue-score p{font-size:12px;margin:6px 0 0}.venue-score-leader{color:var(--paper)}.venue-leaders{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.venue-leaders h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0 0 7px;color:var(--paper);font-size:16px}.venue-leaders h3 small{color:var(--ink-muted);font-size:11px;font-weight:400}.venue-leaders .muted{margin:8px 0 0}.venue-leaders .muted button{min-height:32px;margin-left:6px;padding:5px 10px;font-size:12px}.venue-leaders-list{margin:0;padding:0;list-style:none}.venue-leaders-list li{display:grid;grid-template-columns:25px 34px 28px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:43px;border-top:1px solid #ffffff14}.venue-leaders-list li.is-self{background:#dbb37812}.venue-leader-rank{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.venue-leader-faction{display:grid;place-items:center;width:28px;height:28px;color:var(--ink-muted)}.venue-leader-name{min-width:0;overflow-wrap:anywhere;font-size:13px}.venue-leader-name small{margin-left:6px;color:var(--accent);white-space:nowrap}.venue-leaders-list strong{color:var(--paper);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.venue-leaders-list strong small{color:var(--ink-muted);font-size:11px;font-weight:400}.leaderboard-admin-settings{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.leaderboard-admin-settings h2{margin:0 0 6px}.leaderboard-admin-settings .row{align-items:end;max-width:450px;margin-top:12px}.leaderboard-admin-settings .row>button{min-height:46px}.leaderboard-admin-settings .notice{margin-top:10px}.campaign-actions{display:grid;gap:12px}.campaign-actions>button{justify-self:start}.campaign-schedule{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#ffffff08}.campaign-schedule .field{flex:1 1 145px;min-width:0}.campaign-schedule button{flex:0 0 auto;min-height:46px}@media(max-width:500px){.campaign-schedule button{width:100%}}@media(max-width:500px){.leaderboard-admin-settings .row{flex-direction:column;align-items:stretch}.leaderboard-admin-settings .row>*{width:100%}}.territory-tag{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-muted)}.territory-tag .dot{width:7px;height:7px}.visit-card{padding:22px;border-radius:12px;background:#eee2cb;color:#302719;margin-bottom:18px}.visit-symbol{display:flex;float:right;color:#746045;margin-left:10px}.visit-card h2{margin-bottom:10px}.visit-card p{font-size:14px;color:#625039;margin-bottom:20px}.visit-card .checkin-button{display:flex;align-items:center;gap:8px;width:100%;padding:15px 14px;background:#3d3020;color:#fff1da;border-radius:9px;box-shadow:none}.checkin-button>span{flex:1;text-align:left;font-size:14px}.checkin-button>b{white-space:nowrap;font-size:12px;font-weight:550}.visit-card>small{display:block;font-size:11px;color:#625039;text-align:center;margin-top:12px}.visit-card.is-checked{background:#233323;color:#d4e7c5;border:1px solid #4a6140}.visit-card.is-checked p,.visit-card.is-checked .visit-symbol{color:#bdd3ac}.visit-card.is-checked .checkin-button{background:#344d32;color:#cee7bc;opacity:1}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:32px 0 18px}.section-title h2{margin-bottom:6px}.section-title p{font-size:13px;color:var(--ink-muted);margin:0}.section-title>span{color:var(--accent);background:#322a1e;padding:5px 10px;border-radius:6px}.venue-tasks{display:grid;gap:14px}.quest-card{border:1px solid #75614185;border-radius:12px;padding:20px;background:var(--surface)}.task-answer-form{display:grid;gap:12px}.assignment-quests{margin-bottom:18px}.assignment-quests .quest-card{min-width:0;overflow-wrap:anywhere}.assignment-quests .quest-actions,.assignment-quests .task-answer-form{width:100%;min-width:0}.proof-progress{padding-left:0;list-style:none;display:grid;gap:8px;font-size:14px}.policy-fields{border:0;padding:0;margin:0 0 16px;min-width:0}.policy-fields .checkbox-label{display:flex;align-items:center;gap:10px;min-height:44px}.policy-fields .checkbox-label input{flex:0 0 auto}.task-answer-form h3,.task-answer-form p{margin:0}.task-media-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.task-media-action{position:relative;display:grid;place-items:center;min-height:48px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#3a3023;color:var(--paper);font-size:14px;text-align:center;cursor:pointer}.task-media-action:first-child{background:#d9bd90;border-color:#d9bd90;color:#211b15;font-weight:700}.task-media-action:focus-within{outline:2px solid var(--accent);outline-offset:2px}.task-media-action:has(input:disabled){opacity:.6;cursor:not-allowed}.task-media-action input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:inherit}.task-camera{display:grid;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#171512}.task-camera video{display:block;width:100%;max-height:min(60vh,460px);aspect-ratio:3 / 4;object-fit:contain;background:#090909;border-radius:8px}.task-camera-actions{display:flex;flex-wrap:wrap;gap:10px}.task-camera-actions button{min-height:48px;flex:1 1 150px}@media(max-width:390px){.task-media-actions{grid-template-columns:1fr}}.task-answer-form .row{flex-wrap:wrap;overflow-wrap:anywhere}.answer-preview{display:block;max-width:100%;max-height:240px;object-fit:contain;margin-inline:auto;border-radius:10px}.task-instruction{margin-block:12px}.task-instruction audio{max-width:100%}.quest-kind{display:block;color:var(--accent);font-size:11px;margin-bottom:12px}.quest-card h3{margin-bottom:10px}.quest-card>p{color:var(--ink-muted);font-size:14px}.quest-rewards{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.quest-rewards>span{display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:6px;background:#363127;color:#e7dfcc;font-size:12px}.quest-rewards>span:nth-child(2){color:#ecd1a1;background:#3b3425}.quest-rewards small{width:100%;color:var(--ink-muted);font-size:12px}.quest-actions{display:flex;flex-wrap:wrap;gap:8px}.quest-actions button{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;font-size:14px;background:#dcc398;color:#282015;border-radius:9px}.quest-actions button.secondary{background:#3a3023;color:#ead9bb}.venue-about{margin-top:30px}.venue-about p{color:var(--ink-muted);font-size:14px}.territory-details,.wallet-history{border-top:1px solid var(--line);padding-top:8px;margin-top:30px}.territory-details summary,.wallet-history summary{padding:12px 0;font-size:14px;color:#dfd3bd}.territory-details .small{margin-bottom:20px;color:var(--ink-muted)}.empty-state{border:1px dashed var(--line);border-radius:12px;padding:28px 22px;text-align:center;color:var(--paper)}.empty-state h3{margin:12px 0 6px}.empty-state p{margin:0;font-size:14px;color:var(--ink-muted)}.empty-state button{margin-top:16px}.empty-state.compact{padding:24px}.venue-skeleton{padding:36px 20px;border-radius:12px;background:var(--surface);color:var(--ink-muted);text-align:center}.staff-tools{margin:20px 0 28px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.staff-tools button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:16px;background:var(--surface);color:var(--paper);border-radius:0}.staff-tools button+button{border-top:1px solid var(--line)}.staff-tools button span{flex:1;font-size:14px}.staff-tools small{display:block;font-size:12px;color:var(--ink-muted);font-weight:400;margin-top:5px}.app-shell .faction-card{border:1px solid #ffffff18;padding:20px;gap:14px}.game-page-layout .faction-card{margin-bottom:24px}.game-page-layout .faction-cards .faction-card{flex-direction:column;align-items:flex-start;margin:0}.faction-card small{opacity:.85}.rank-position{display:grid;place-items:center;width:30px;height:32px;font-size:13px;color:var(--ink-muted);border-radius:6px;background:#30291f;flex:0 0 auto}.rank-position.rank-top{background:#3f3625;color:#e9ca88}.leader-row{border-color:#53442e;min-height:64px}.leader-row .grow{min-width:0;overflow-wrap:anywhere;font-size:14px}.leader-row>strong{color:var(--paper);font-size:18px}.ranking-scope{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin-bottom:24px}.ranking-period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;margin:0 0 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.ranking-period button{min-width:0;min-height:44px;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:var(--ink-muted);font:inherit;cursor:pointer}.ranking-period button.active{background:#3b3022;color:var(--paper);box-shadow:inset 0 0 0 1px #8e7149}.ranking-period button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ranking-faction-heading small{margin-left:6px;color:var(--ink-muted);font-family:inherit;font-size:.65em;font-weight:400}.ranking-week-dates{margin-top:-6px;color:var(--accent)}.ranking-scope select{width:100%;min-width:0;min-height:48px;background:#30271c;color:var(--paper);border-color:var(--line);text-overflow:ellipsis}.ranking-scope .field{color:var(--paper)}.ranking-scope p{margin-bottom:0}.ranking-title{overflow-wrap:anywhere}.ranking-list{margin:0;padding:0;list-style:none}.ranking-list .leader-self{background:#dbb3780c}.ranking-you{margin-left:8px;color:var(--accent)}.ranking-username{display:block;margin-top:4px;color:var(--ink-muted)}.ranking-player-faction{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px}.ranking-player-unassigned{color:var(--ink-muted)}.ranking-page .notice button{display:block;margin-top:10px}.profile-heading{display:flex;align-items:center;gap:14px}.profile-heading>div{min-width:0}.profile-heading h1{margin:0;overflow-wrap:anywhere}.profile-heading p{margin:4px 0 0;overflow-wrap:anywhere}.ranking-list .grow{min-width:0;overflow-wrap:anywhere}.profile-name-edit{margin-top:8px;min-height:36px!important;padding:6px 10px;font-size:12px}.profile-name-form{display:grid;gap:12px}.profile-name-form .field{display:grid;gap:6px}.profile-name-form input{width:100%;box-sizing:border-box;min-height:48px;font-size:16px}.profile-name-form p{margin:0}.profile-name-form>button{width:100%}.hero-avatar{display:block;flex:0 0 auto;width:100px;height:106px;min-height:0!important;padding:0;border:1px solid #8c7450;border-radius:18px;background:radial-gradient(circle at 50% 75%,#495e52,#2c302b 72%);box-shadow:inset 0 0 18px #1715139c;overflow:hidden;cursor:pointer}.hero-avatar-ranking{width:46px;height:50px;border-radius:12px}.hero-avatar-venue{width:34px;height:36px;border-radius:9px}.hero-avatar-medal-1{border-color:#f3d27f;background:radial-gradient(circle at 50% 68%,#e9c571,#916321 55%,#312313);box-shadow:inset 0 0 12px #fff0b570,0 0 15px #d9a5329c}.hero-avatar-medal-2{border-color:#dce7ed;background:radial-gradient(circle at 50% 68%,#d9e3e8,#788e9a 55%,#25313a);box-shadow:inset 0 0 12px #f6fbff78,0 0 14px #9bbed088}.hero-avatar-medal-3{border-color:#e1a476;background:radial-gradient(circle at 50% 68%,#d99565,#835136 55%,#30201a);box-shadow:inset 0 0 12px #ffc19261,0 0 14px #b76c4388}.hero-avatar-sprite{display:block;width:100%;height:100%;background-repeat:no-repeat;background-size:300% 300%;transform-origin:50% 0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 90%,transparent 100%)}.hero-avatar-preview{width:130px;height:138px}.hero-avatar:disabled{opacity:1;cursor:default}.profile-avatar-choice{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:10px 0 8px;color:var(--ink-muted);font-size:13px}.profile-avatar-choice button{min-height:36px;padding:7px 12px;font-size:12px}.hero-avatar-options{display:grid;gap:12px}.hero-avatar-option{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#30291f}.hero-avatar-option strong{display:block;color:var(--paper)}.hero-avatar-option p{margin:6px 0 0}.hero-avatar-option>button:last-child{grid-column:1 / -1}.avatar-picker-dialog .dialog-heading{position:sticky;top:0;z-index:2;padding-bottom:12px;background:var(--surface);border-bottom:1px solid var(--line)}@media(min-width:700px){.action-dialog.avatar-picker-dialog{width:min(760px,calc(100% - 32px))}.avatar-picker-dialog .hero-avatar-options{grid-template-columns:repeat(2,minmax(0,1fr))}.avatar-picker-dialog .hero-avatar-option{grid-template-columns:100px minmax(0,1fr)}.avatar-picker-dialog .hero-avatar-preview{width:100px;height:106px}}@media(max-width:420px){.profile-heading{align-items:flex-start}.hero-avatar-profile{width:82px;height:88px}.hero-avatar-option{grid-template-columns:100px minmax(0,1fr)}.hero-avatar-preview{width:100px;height:106px}}.profile-meta{margin:14px 0 26px}.game-page-layout h2:not(:first-child){margin-top:28px}.app-shell .stat-grid>div{background:var(--surface);border-color:var(--line);padding:18px 10px}.app-shell .stat-grid strong{color:var(--paper);font-family:var(--serif);font-weight:400;font-size:30px}.app-shell .stat-grid span{color:var(--ink-muted)}.profile-stats-hint{margin:-10px 0 16px;font-size:13px;line-height:1.5}.app-shell .stat-grid>.stat-card{position:relative;min-width:0;min-height:98px;padding:16px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--paper);text-align:left}.app-shell .stat-grid>.stat-card:active{background:#3a3023}.app-shell .stat-grid>.stat-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell .stat-card strong{display:block;font-family:var(--serif);font-size:30px;line-height:1.15;font-weight:400;font-variant-numeric:tabular-nums}.app-shell .stat-card>span:not(.stat-help){display:block;margin-top:9px;padding-right:14px;color:var(--ink-muted);font-size:13px;line-height:1.25}.app-shell .stat-card .stat-help{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;color:var(--ink-muted);font-size:12px}.stat-explanation{display:flex;flex-direction:column;gap:12px}.stat-explanation>strong{font-family:var(--serif);font-size:42px;font-weight:400;line-height:1;font-variant-numeric:tabular-nums}.stat-explanation p{margin:0}.stat-explanation>button{align-self:stretch;margin-top:8px}.app-shell .achievement,.app-shell .submission-card{background:var(--surface);border-color:var(--line)}.app-shell .achievement span{color:var(--ink-muted)}.app-shell button.secondary{background:#3a3023;color:#ead9bb}.wallet-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#e4d4b5;color:#363321;padding:24px;border-radius:12px;margin-bottom:20px}.wallet-summary span{font-size:13px}.wallet-summary strong{display:block;font-size:42px;margin-top:4px;letter-spacing:-.05em}.wallet-summary strong small{font-size:17px;letter-spacing:0;font-weight:500}.app-shell .shop-grid{gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.app-shell .shop-item{background:var(--surface);border-color:var(--line);padding:20px;border-radius:12px;gap:12px}.app-shell .shop-item h2{margin:0}.app-shell .shop-item p{font-size:14px}.reward-art{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:132px;border-radius:70px 70px 8px 8px;background:radial-gradient(ellipse at 50% 90%,#53402a,#30271c 75%);color:#dbc99e;margin-bottom:8px}.reward-art>svg{height:62px}.reward-art span{font-size:10px;letter-spacing:.16em}.reward-art>img{width:100%;height:150px;object-fit:cover;border-radius:68px 68px 6px 6px}.admin-image-field{display:grid;gap:9px;margin:14px 0}.admin-image-preview{display:block;width:min(100%,320px);max-height:220px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#ffffff08}.admin-image-drop{display:grid;gap:8px;padding:16px;border:1px dashed var(--line);border-radius:12px}.admin-image-drop.is-dragging{border-color:#e8c790;background:#e8c79016}.admin-image-field>button{justify-self:start}.campaign-image{display:block;width:min(100%,340px);max-height:230px;object-fit:contain;border-radius:12px;border:1px solid var(--line)}.app-shell .coin-price{color:#e5c99a;font-size:22px}.app-shell .shop-item button{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#dcc398;color:#282015;font-size:15px}.app-shell .shop-item button:disabled{opacity:1;background:#3c3326;color:#c5b79f}.wallet-history summary>span{float:right;color:var(--ink-muted)}.wallet-row{border-color:var(--line);font-size:14px}.wallet-row .muted{font-size:12px}.app-shell .notice button{display:block;margin-top:12px}.action-dialog{width:min(460px,calc(100% - 24px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--line);border-radius:16px;color:var(--paper);background:var(--surface);box-shadow:0 20px 100px #0008;overscroll-behavior:contain}.action-dialog::backdrop{background:#100d09ba;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-content{padding:24px}.dialog-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.dialog-heading h2{flex:1;margin:6px 0 0;font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.2;letter-spacing:-.035em}.dialog-close{display:grid;place-items:center;flex:0 0 44px;padding:8px;background:#3a3023;color:#ead9bb}.action-dialog .field{color:var(--ink-muted);font-size:14px;gap:10px}.action-dialog select,.action-dialog textarea{background:#30271c;color:var(--paper);border-color:#796344;min-height:48px}.action-dialog p{line-height:1.6}.action-dialog .muted{color:var(--ink-muted);font-size:13px}.statistics-players-dialog{width:min(620px,calc(100% - 24px))}.statistics-players-dialog .dialog-content{padding:clamp(16px,4vw,24px)}.statistics-players-summary{padding:12px;border:1px solid var(--line);border-radius:10px;background:#30291f;font-size:13px}.statistics-players-list{list-style:none;margin:0;padding:0}.statistics-players-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #ffffff24}.statistics-players-list li div{min-width:0;overflow-wrap:anywhere}.statistics-players-list li strong{display:block;font-size:14px}.statistics-players-list li small{display:block;color:var(--ink-muted);margin-top:3px}.statistics-players-list li b{flex-shrink:0;font-size:13px;text-align:right;color:#e1c69a}.statistics-players-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;font-size:12px}.statistics-players-pages button{padding-inline:12px}.task-admin-heading{align-items:flex-start;flex-wrap:wrap;gap:12px}.task-admin-heading h2{margin-bottom:4px}.task-admin-heading p{margin:0;max-width:620px}.task-admin-heading>button{flex:0 0 auto}.task-venue-group{border:1px solid var(--line);border-radius:12px;margin-top:12px;background:var(--surface);overflow:hidden}.task-venue-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:16px 18px;color:var(--paper);font-size:18px;font-weight:650}.task-venue-group>summary::marker{color:var(--accent)}.task-venue-group[open]>summary{border-bottom:1px solid var(--line)}.task-venue-content{padding:4px 18px 18px}.task-count{color:var(--ink-muted);font-size:13px;font-weight:400;white-space:nowrap}.task-category-group{margin-top:18px}.task-category-group h3{margin:0 0 4px;font-size:17px;color:var(--paper)}.task-category-group .task-count{margin-left:6px}.task-list-row{flex-wrap:wrap;gap:8px 14px}.task-list-copy{flex:1 1 250px}.task-availability{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--paper);font-size:13px;white-space:nowrap;cursor:pointer}.task-availability input{width:18px;height:18px;accent-color:#84a575}.task-list-footer{margin-top:16px}.action-dialog.task-editor-dialog{width:min(780px,calc(100% - 24px));max-height:calc(100dvh - 24px)}.task-editor-dialog .dialog-content{padding:clamp(16px,3vw,28px)}.task-editor-dialog .dialog-heading{position:sticky;top:0;z-index:2;padding:0 0 12px;background:var(--surface);border-bottom:1px solid var(--line)}.task-editor-dialog form>h3,.task-policy-editor>h3{margin:18px 0 12px;color:var(--paper)}.task-editor-dialog form>button{margin-top:14px}.task-policy-editor{margin-top:24px;padding-top:8px;border-top:1px solid var(--line)}.task-policy-editor .policy-fields{margin-top:16px}.task-policy-editor .row{flex-wrap:wrap;gap:10px}.task-editor-dialog textarea.task-editor-description{min-height:150px;overflow-y:hidden;resize:none}.task-editor-tabs{display:flex;gap:8px;margin-bottom:16px}.task-editor-tabs button{flex:1;min-width:0;padding:10px 12px;background:#352c21;border:1px solid var(--line);color:var(--ink-muted);font-size:14px;transition:none}.task-editor-tabs button.active{background:#dfc398;color:#241b12;border-color:#dfc398}.task-editor-tabs button:disabled{opacity:.5}.policy-layout{display:grid;gap:18px;min-width:0}.policy-main,.policy-details{display:grid;align-content:start;gap:12px;min-width:0}.policy-details h4,.policy-details .muted,.policy-details .notice{margin:0}.policy-methods{display:grid;gap:2px 12px}.policy-methods .checkbox-label{min-width:0}.policy-layout textarea{min-height:112px;resize:vertical}@media(min-width:900px){.action-dialog.task-editor-dialog{width:min(1120px,calc(100vw - 48px));max-height:calc(100dvh - 32px)}.task-editor-dialog .dialog-content{padding:22px 30px 26px}.task-editor-dialog .dialog-heading{margin-bottom:12px}.task-editor-dialog .task-editor-tabs{max-width:620px;margin-bottom:10px}.task-editor-dialog .task-policy-editor{margin-top:12px;padding-top:0;border-top:0}.task-editor-dialog .task-policy-editor>h3{margin:8px 0 4px}.task-editor-dialog .task-policy-editor>p.muted{margin:0 0 10px}.task-editor-dialog .policy-fields{margin:8px 0 12px}.task-editor-dialog .policy-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:26px}.task-editor-dialog .policy-layout textarea{min-height:150px}.task-editor-dialog .policy-methods{grid-template-columns:repeat(2,minmax(0,1fr))}.task-editor-dialog .policy-methods .checkbox-label{min-height:36px}.task-editor-dialog .policy-details,.task-editor-dialog .policy-main{gap:9px}.task-editor-dialog .task-policy-editor .row{justify-content:flex-end}}@media(min-width:900px){.task-editor-dialog .dialog-content>p.muted{display:none}.task-editor-dialog .policy-details{grid-template-columns:repeat(2,minmax(0,1fr))}.task-editor-dialog .policy-details>h4,.task-editor-dialog .policy-details>.policy-methods,.task-editor-dialog .policy-details>p,.task-editor-dialog .policy-details>.field:has(textarea){grid-column:1 / -1}.task-editor-dialog .policy-details>.field{min-width:0}.task-editor-dialog .policy-details select{width:100%;min-width:0;text-overflow:ellipsis}}@media(max-width:600px){.task-admin-heading>button{width:100%}.task-venue-group>summary{align-items:flex-start;flex-direction:column;gap:4px}.task-venue-content{padding:4px 12px 14px}.task-list-row{align-items:center}.task-list-copy{flex-basis:100%}.task-list-row>button{margin-left:auto}.task-availability input{width:24px;height:24px}.task-policy-editor .row>button{width:100%}.task-editor-tabs button{font-size:13px;padding-inline:6px}}.reward-checkout,.receipt-form{display:flex;flex-direction:column;gap:18px}.reward-checkout p,.receipt-form p{margin:0}.reward-checkout>button{display:flex;align-items:center;justify-content:space-between;background:#dcc398;color:#282015;font-size:14px}.checkout-summary{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:18px}.checkout-summary span{white-space:nowrap;color:#e1c69a}.purchase-qr{text-align:center}.purchase-qr p{font-size:14px}.purchase-qr .qr{border-radius:14px;max-width:100%}.purchase-qr .qr-countdown{color:#d8c296;font-variant-numeric:tabular-nums}.purchase-qr>button{width:100%}.knights-bg{color:#422815;background:#f1e5cf;border-color:#ae733c!important}.witches-bg{color:#edf6e8;background:#14271f;border-color:#528d64!important}.faction-emblem{display:inline-flex;align-items:center;justify-content:center}.knights-bg .faction-emblem{color:#9b4615}.witches-bg .faction-emblem{color:#9ada9c}.faction-logo{display:block;object-fit:contain;flex-shrink:0;box-sizing:border-box}.faction-logo-fallback{display:inline-grid;place-items:center;color:currentColor;font-weight:700;line-height:1}.knights-bg .faction-choice-copy small{color:#775032}.witches-bg .faction-choice-copy small{color:#b4d0bc}.knights-bg .choice-action{background:#a9531518;color:#74350f}.witches-bg .choice-action{background:#a7e5a718;color:#bcf0bb}.faction-onboarding{background:radial-gradient(ellipse at 50% 0%,#63452240,transparent 65%),#171513;color:var(--paper)}.faction-welcome h1,.faction-choice-copy strong{font-family:var(--serif);font-weight:400}.faction-welcome .game-mark{color:var(--accent);border-color:var(--line);border-radius:6px}.faction-welcome .welcome-kicker,.faction-welcome .welcome-copy,.faction-welcome .choice-warning{color:var(--ink-muted)}.faction-choice.witches-bg:hover:not(:disabled){border-color:#398c55!important}.faction-choice.knights-bg:hover:not(:disabled){border-color:#ff9a46!important}.faction-choice .faction-emblem{padding:9px;border:1px solid currentColor;border-radius:15px;margin-bottom:20px}.identity-onboarding{position:fixed;inset-inline:0;top:var(--identity-top,0px);height:var(--identity-height,100dvh);min-height:0;box-sizing:border-box;padding:max(12px,env(safe-area-inset-top),var(--tg-content-safe-area-inset-top,0px)) 20px max(12px,env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px))}.identity-onboarding .faction-welcome{width:100%;max-width:580px;height:100%;min-height:0;display:flex;flex-direction:column;text-align:left}.identity-header{flex-shrink:0;display:block;position:static;height:auto;padding:0;background:transparent;border:0;z-index:auto}.identity-header .game-mark{margin:0;padding:4px 8px;font-size:10px}.identity-onboarding h1{outline:none;font-size:clamp(26px,5.5vw,36px);line-height:1.12;margin:0 0 12px;overflow-wrap:anywhere}.identity-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px;margin-inline:-4px;scrollbar-width:thin}.identity-body .welcome-copy{font-size:14px;line-height:1.45;margin:0 0 14px}.identity-steps{list-style:none;display:flex;gap:12px;padding:0;margin:12px 0}.identity-steps li{display:flex;align-items:center;gap:7px;flex:1;color:var(--ink-muted);font-size:12px}.identity-steps li>span{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%}.identity-steps [aria-current]{color:#f4dfb9}.identity-steps [aria-current]>span{background:#d6b786;border-color:#d6b786;color:#241c12}.identity-steps .is-complete>span{color:#badaaa;border-color:#6e855c}.identity-form{display:flex;flex-direction:column;gap:8px;text-align:left}.identity-form p{margin:0}.identity-field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--paper)}.identity-field input{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:10px 12px;background:#28221b;border:1px solid #806949;border-radius:10px;color:#f5e7cd;font:inherit;font-size:16px}.identity-hint,.identity-preserved{color:var(--ink-muted);font-size:13px;line-height:1.6}.identity-preserved{padding:14px;border:1px solid #536444;border-radius:10px;background:#1d271c;color:#d1e2c1}.identity-actions{flex-shrink:0;display:flex;gap:12px;margin-top:8px;padding-top:10px;border-top:1px solid var(--line);background:#171513}.identity-actions>.identity-primary{flex:1}.identity-hint summary{cursor:pointer;min-height:44px;margin:0;color:inherit;display:flex;align-items:center;gap:6px}.identity-hint summary:before{content:"+"}.identity-hint[open] summary:before{content:"−"}.identity-hint summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.identity-primary,.identity-back{min-height:48px;font-size:14px;border-radius:10px;padding:13px 18px}.identity-primary{background:#dcc398;color:#282015}.identity-back{background:#3a3023;color:#ead9bb}.identity-primary:disabled{opacity:.5;cursor:not-allowed}.identity-factions{padding:0;margin:0;border:0;min-width:0;grid-template-columns:1fr;gap:12px}.identity-factions .faction-choice{position:relative;cursor:pointer;text-align:left;border-width:2px;border-style:solid;border-radius:14px;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr;align-items:center;min-height:112px;padding:14px;column-gap:14px;row-gap:8px}.identity-factions .faction-emblem{grid-row:span 2;margin:0;padding:8px;border-radius:12px}.identity-factions .choice-action{justify-self:start;padding:3px 9px}.identity-factions .faction-choice-copy strong{font-size:23px}.identity-factions .faction-choice-copy small{line-height:1.4}.identity-factions .faction-choice input{position:absolute;opacity:0;width:1px;height:1px}.identity-factions .faction-choice:focus-within{outline:3px solid #f4ca86;outline-offset:4px}.identity-factions .is-selected{box-shadow:0 0 0 3px #d8b77a}.identity-factions .is-locked{opacity:.5;cursor:default}.hero-dice{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#30271d;color:#e9cc9c;border:1px dashed #977a4e;border-radius:12px;text-align:left}.hero-dice span:last-child{display:flex;flex-direction:column;gap:5px}.hero-dice strong{font-size:16px}.hero-dice small{font-size:12px;line-height:1.5;color:#cdbb9f}.dice-face{display:inline-flex;flex-shrink:0}.hero-dice.is-rolling .dice-face{animation:hero-dice-roll .9s ease-in-out infinite}.hero-dice:disabled{opacity:1;cursor:wait}@keyframes hero-dice-roll{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-25deg) scale(.85)}70%{transform:rotate(195deg) scale(1.1)}}.hero-results{display:grid;gap:6px}.hero-results:empty{display:none}.hero-option{display:flex;flex-direction:column;gap:3px;min-height:48px;padding:8px 12px;background:#24201b;border:1px solid #5b4c39;border-radius:10px;text-align:left;color:#eddfc8;overflow-wrap:anywhere}.hero-option strong{font:19px/1.15 var(--serif)}.hero-description{font-size:13px;line-height:1.4;color:#c7bda9}.hero-allegiance{color:#d3b786;font-size:11px;letter-spacing:.04em}.hero-option.is-selected{border-color:#e8c890;background:#383023;box-shadow:inset 3px 0 #e8c890}.identity-review{display:flex;flex-direction:column;gap:12px}.identity-review>strong{font:28px/1.2 var(--serif);overflow-wrap:anywhere}.identity-review p{margin:0;overflow-wrap:anywhere}.identity-age-confirmation{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid #8f7653;border-radius:10px;background:#30271d;color:var(--paper);cursor:pointer;line-height:1.35}.identity-age-confirmation input{flex:0 0 auto;width:22px;height:22px;margin:0;accent-color:#dcc398;cursor:pointer}.identity-age-confirmation:focus-within{outline:2px solid #e8c890;outline-offset:2px}.identity-review .identity-age-note{font-size:12px;line-height:1.45}.identity-onboarding .notice{flex-shrink:0;margin:8px 0 0;max-height:20%;overflow-y:auto}.identity-onboarding .choice-warning{line-height:1.4;font-size:12px;margin:10px 0 0}@media(max-width:480px){.identity-onboarding{padding-inline:16px}.identity-steps{gap:6px}}@media(max-height:660px){.identity-header .game-mark{display:none}.identity-steps{margin-top:0;margin-bottom:8px}.identity-onboarding h1{font-size:26px;margin-bottom:8px}}@media(prefers-reduced-motion:reduce){.hero-dice.is-rolling .dice-face{animation:none}}@media(min-width:850px){.game-header{padding-left:40px;padding-right:40px}.nav{padding-left:15%;padding-right:15%}.tavern-hero{padding:36px 38px 30px;background-position:center 30%}.venue-list{grid-template-columns:1fr 1fr}.venue-detail{padding-top:24px}.app-shell>.game-page-layout{padding-top:36px}}@media(max-width:360px){.game-header{padding-inline:14px}.game-brand{gap:4px}.explore-content,.venue-detail,.tavern-hero{padding-left:14px;padding-right:14px}.player-strip{margin-inline:14px}.explore-toolbar{gap:6px}.explore-toolbar h2{font-size:20px}.explore-toolbar h2 span{margin-left:3px}.view-switch button{padding-inline:6px}.view-switch button span{display:none}.venue-list-item{padding:14px 12px 0}.venue-list-copy>strong{font-size:23px}.app-shell>.game-page-layout{padding-left:16px;padding-right:16px}.dialog-content,.visit-card{padding:18px}}@media(prefers-reduced-motion:reduce){button{transition:none}.venue-marker[data-controller] .venue-shield-halo{animation:none;opacity:.7}}.booking-link{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:12px;min-width:0;min-height:72px;padding:12px 14px;border:1px solid #7561418c;border-radius:14px;background:linear-gradient(115deg,#30291f,#211e19);color:var(--paper);text-decoration:none}.booking-link:hover{border-color:#d9b67d;background:linear-gradient(115deg,#3a3023,#28231d)}.booking-link:focus-visible{outline:2px solid #dfc291;outline-offset:3px}.booking-link-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#dbb3781c;color:#e5bf86}.booking-link-copy{display:grid;min-width:0;gap:4px}.booking-link-copy strong{font-size:14px;font-weight:600;line-height:1.25}.booking-link-copy small{color:var(--ink-muted);font-size:11px;line-height:1.4}.booking-link>svg{color:var(--accent)}.booking-link-home{margin:4px 0 24px}.profile-page{min-width:0}.profile-page .profile-hero-card{display:block;position:relative;top:auto;z-index:auto;box-sizing:border-box;height:auto;padding:11px 14px 12px;border:0;border-block:1px solid #8a704a;border-left:3px solid #b18d55;border-radius:0;background:linear-gradient(105deg,#46352256,transparent 75%)}.profile-page .profile-heading{gap:10px;align-items:flex-start}.profile-page .hero-avatar-profile{width:82px;height:88px}.profile-page .profile-identity{min-width:0}.profile-page .profile-heading h1{font-size:clamp(24px,5vw,34px);line-height:1.08}.profile-page .profile-byline{margin-top:4px;font-size:12px}.profile-page .profile-faction-copy{display:flex;align-items:center;gap:6px;min-width:0;margin-top:6px;color:#dfc18c}.profile-page .profile-faction-copy strong{font-size:13px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.profile-page .profile-faction-copy .faction-logo{flex:0 0 auto}.profile-podium-label{display:inline-block;margin-top:5px;padding:3px 7px;border:1px solid currentColor;border-radius:999px;font-size:11px;font-weight:600}.profile-podium-label-1{color:#f3d27f}.profile-podium-label-2{color:#dce7ed}.profile-podium-label-3{color:#e1a476}.profile-page .profile-avatar-choice{margin:6px 0 0;padding-top:0;border-top:0}.profile-identity-actions{display:flex;flex-wrap:wrap;gap:8px}.profile-page .profile-identity-actions button{min-height:44px!important;padding:8px 2px;border:0;border-bottom:1px solid #93744c;border-radius:0;background:transparent;color:#ead1a5;font-size:12px}.profile-page .profile-identity-actions button:hover{background:transparent;color:#fff0d1;border-bottom-color:#e4bd7f}.profile-page .profile-name-edit{margin-top:0}.profile-page .staff-tools{margin:16px 0 0}.profile-booking-section{max-width:560px;margin-top:26px}.profile-booking-section h2{margin:0 0 12px!important}.profile-booking-section .booking-link{min-height:76px}.profile-section{margin-top:32px}.profile-page .profile-section>h2{margin:0 0 12px!important;padding-bottom:10px;border-bottom:1px solid #826947}.profile-page .profile-stats-hint{margin:0 0 14px}.profile-page .profile-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-shell .profile-stats-grid>.stat-card{min-height:90px}.app-shell .profile-stats-grid>.stat-card-featured{grid-column:span 2;min-height:102px;border-color:#b28e56;background:linear-gradient(115deg,#473820,#29241d)}.app-shell .profile-stats-grid>.stat-card-featured strong{color:#f5d9a1;font-size:39px}.profile-page .achievement-gallery-intro{margin:0 0 14px}.profile-page .achievement-gallery-empty{margin:0}.profile-page .achievement-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.profile-page .achievement-gallery[hidden]{display:none}.profile-page .achievement-gallery-locked{margin-top:12px}.profile-page .achievement-gallery-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin-top:14px;padding:10px 0;border:0;border-top:1px solid #826947;border-bottom:1px solid #826947;border-radius:0;background:transparent;color:#e8d0aa;text-align:left;font:15px var(--serif)}.profile-page .achievement-gallery-toggle:hover{color:#fff0d1;background:transparent}.profile-page .achievement-gallery-toggle small{margin-left:3px;color:#a9967c;font:11px ui-sans-serif,system-ui,sans-serif}.profile-page .achievement-gallery-toggle>span:last-child{flex:none;color:#bba27a;font:12px ui-sans-serif,system-ui,sans-serif}.profile-page .achievement-tile{position:relative;display:block;width:100%;min-width:0;aspect-ratio:1;overflow:hidden;padding:0;border:1px solid #8c6d43;border-radius:4px;background:#30271e;color:#fff0d1;text-align:left;isolation:isolate}.profile-page .achievement-tile:after{content:"";position:absolute;inset:34% 0 0;z-index:0;background:linear-gradient(transparent,#171513a8 38%,#171513f2)}.profile-page .achievement-tile img{display:block;width:100%;height:100%;object-fit:cover}.profile-page .achievement-tile.is-locked img{filter:grayscale(.55) brightness(.67)}.profile-page .achievement-tile-fallback{display:grid;place-items:center;width:100%;height:100%;color:#b89760;font:56px var(--serif);background:radial-gradient(circle at 50% 44%,#544128,#29241d 65%)}.profile-page .achievement-tile-state{position:absolute;z-index:1;top:5px;left:5px;padding:2px 4px;background:#171513c4;color:#efd2a3;font-size:8px;font-weight:700;letter-spacing:.05em}.profile-page .achievement-tile.is-locked .achievement-tile-state{color:#c6b7a0}.profile-page .achievement-tile strong{position:absolute;z-index:1;right:6px;bottom:6px;left:6px;font:13px/1.1 var(--serif);text-wrap:balance}.profile-page .achievement-tile:hover{border-color:#e7bb78}@media(min-width:620px){.profile-page .achievement-gallery{gap:12px}.profile-page .achievement-tile strong{font-size:17px;right:10px;bottom:10px;left:10px}}@media(max-width:360px){.profile-page .achievement-tile strong{font-size:12px}}.achievement-detail-dialog{width:min(400px,calc(100% - 24px))}.achievement-detail{text-align:center}.achievement-detail-image{width:min(220px,100%);aspect-ratio:1;display:grid;place-items:center;margin:0 auto 18px;overflow:hidden;border:1px solid #b18d59;border-radius:4px;background:#30271e;color:#d8b777;font:100px var(--serif)}.achievement-detail-image img{width:100%;height:100%;object-fit:cover}.achievement-detail .eyebrow{margin:0 0 8px}.achievement-detail h3{margin:0 0 10px;font:27px/1.15 var(--serif)}.achievement-detail p{margin:0 0 10px}.achievement-detail-reward{color:#e7c48c}.profile-page .referral-card{margin:32px 0 0}.profile-page .submission-card{padding:15px;margin-top:9px;border:1px solid var(--line);border-radius:12px}.profile-page .submission-card .row{flex-wrap:wrap;gap:8px}.profile-page .submission-card .row strong{min-width:0;overflow-wrap:anywhere}.profile-page .setting-row{padding:16px;gap:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}@media(min-width:720px){.profile-page .profile-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:480px){.profile-page .profile-hero-card{padding:10px 12px 11px}.profile-page .hero-avatar-profile{width:72px;height:78px}.profile-page .profile-identity-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-page .profile-identity-actions button{padding-inline:3px}.profile-page .setting-row>button{width:100%}}.achievement-reveal-dialog{width:min(420px,calc(100% - 24px));border-color:#ad8854;background:radial-gradient(circle at 50% 15%,#544028,#211e19 66%)}.achievement-reveal-dialog .dialog-heading{margin-bottom:0}.achievement-reveal-body{display:flex;flex-direction:column;align-items:center;text-align:center}.achievement-reveal-art{position:relative;display:grid;place-items:center;width:138px;height:138px;margin:8px auto 22px;border-radius:50%;color:#ffe1a0;background:radial-gradient(circle,#73542d 8%,#3d2f21 52%,#2a241d 70%);box-shadow:0 0 0 1px #d9b77770,0 0 46px #e4b66455;animation:achievement-appear .65s cubic-bezier(.2,1.35,.3,1) both}.achievement-reveal-art.has-image{width:168px;height:168px;overflow:hidden;border-radius:4px}.achievement-reveal-art.has-image img{width:100%;height:100%;object-fit:cover}.achievement-reveal-art.has-image:before,.achievement-reveal-art.has-image:after{display:none}.achievement-reveal-art:before,.achievement-reveal-art:after{content:"✦";position:absolute;color:#eac586;font-size:27px;animation:achievement-shimmer 2.4s ease-in-out infinite}.achievement-reveal-art:before{top:-14px;right:-13px}.achievement-reveal-art:after{bottom:1px;left:-18px;font-size:17px;animation-delay:.5s}.achievement-reveal-ring{position:absolute;inset:10px;border:1px solid #eed3999c;border-radius:50%;box-shadow:inset 0 0 18px #f0c78035;animation:achievement-ring 2.4s ease-in-out infinite}.achievement-reveal-body .eyebrow{margin:0 0 9px;color:#f0c98f;font-size:10px;font-weight:600;letter-spacing:.13em}.achievement-reveal-body h3{margin:0;font:32px/1.12 var(--serif);color:#fff0d1;text-wrap:balance}.achievement-reveal-body>p{margin:12px 0 0;color:#d6c7ad;font-size:14px;line-height:1.5}.achievement-reveal-rewards{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}.achievement-reveal-rewards span{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid #b38f54;border-radius:30px;color:#ffe4ac;background:#d8ac6930;font-size:13px}.achievement-reveal-body>button{width:100%;margin-top:24px;background:#ead0a3;color:#302517;font-weight:700}.achievement-reveal-body>button:hover{background:#ffdfad}@keyframes achievement-appear{0%{opacity:0;transform:scale(.58) rotate(-16deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes achievement-shimmer{0%,to{opacity:.5;transform:scale(.85) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(22deg)}}@keyframes achievement-ring{0%,to{transform:scale(.96);opacity:.55}50%{transform:scale(1.08);opacity:1}}@media(prefers-reduced-motion:reduce){.achievement-reveal-art,.achievement-reveal-art:before,.achievement-reveal-art:after,.achievement-reveal-ring{animation:none}}
