/* Approved A: angular cel characters, inked chamfer panels, clear local palettes.
   Presentation only. Scroll owners, modal state and interaction timing stay intact. */
body[data-theme]{
 --ui-night:#080e18;--ui-bg:#101c2d;--ui-panel:#172a40;--ui-raised:#29435d;--ui-line:#6088aa;
 --ui-muted:#b7cde0;--ui-ink:#f3f6ff;--ui-ivory:#fff0ce;--ui-sky:#92d8fb;--ui-accent:#6cc8f4;--ui-gold:#ffd58a;--ui-paper:#e8f4ff;
 --place-panel:#111f32ed;--place-soft:#122238b5;--place-dim:#08142628;--place-bottom:#0c172beb;
 --place-board:#0d1a2b;--place-button:#c2eaff;--place-button-ink:#101f32;--place-title:#d2efff;
 --a-frame:url('./assets/style-a-v1/frame-mine.svg');--a-primary:url('./assets/style-a-v1/frame-mine-primary.svg');
 --a-ink:#060c17;--a-shadow:#030914;--a-corner:4px;--ui-pattern:none;
 background:radial-gradient(ellipse at 50% 20%,#243b57,var(--ui-night) 72%);
}
body[data-theme=demon]{
 --ui-night:#170a11;--ui-bg:#29121d;--ui-panel:#3d1c28;--ui-raised:#662d3b;--ui-line:#b84857;
 --ui-muted:#ebbac0;--ui-ink:#fff0e3;--ui-ivory:#ffe6ac;--ui-sky:#f48389;--ui-accent:#e94e5a;--ui-gold:#ffda8a;--ui-paper:#ffebe0;
 --place-panel:#2c1520ed;--place-soft:#421c29ad;--place-dim:#24070c22;--place-bottom:#220d19eb;
 --place-board:#24111e;--place-button:#e54950;--place-button-ink:#210a10;--place-title:#ffdf9f;
 --a-frame:url('./assets/style-a-v1/frame-demon.svg');--a-primary:url('./assets/style-a-v1/frame-demon-primary.svg');--a-ink:#180811;--a-shadow:#11050b;
 background:radial-gradient(ellipse at 50% 20%,#502331,var(--ui-night) 72%);
}
body[data-theme=forge]{
 --ui-night:#17100c;--ui-bg:#281e19;--ui-panel:#3e2c20;--ui-raised:#664631;--ui-line:#b7844e;
 --ui-muted:#ddc3a3;--ui-ink:#fff3dd;--ui-ivory:#ffe4ae;--ui-sky:#ffc582;--ui-accent:#e5a35e;--ui-gold:#ffdb81;--ui-paper:#fff0d4;
 --place-panel:#30231aee;--place-soft:#3d2a1cb5;--place-dim:#24120830;--place-bottom:#24170eed;
 --place-board:#281c13;--place-button:#efbd76;--place-button-ink:#302010;--place-title:#ffdc9b;
 --a-frame:url('./assets/style-a-v1/frame-forge.svg');--a-primary:url('./assets/style-a-v1/frame-forge-primary.svg');--a-ink:#160e09;--a-shadow:#100a07;
 background:radial-gradient(ellipse at 50% 20%,#4b3224,var(--ui-night) 72%);
}
body[data-theme=alchemy]{
 --ui-night:#110c1b;--ui-bg:#20172f;--ui-panel:#312440;--ui-raised:#51406b;--ui-line:#9f81c1;
 --ui-muted:#d5c5e8;--ui-ink:#f8efff;--ui-ivory:#eddbff;--ui-sky:#d1adfa;--ui-accent:#b58ae8;--ui-gold:#efc7ff;--ui-paper:#f4e8ff;
 --place-panel:#281e39ed;--place-soft:#312243b5;--place-dim:#15072530;--place-bottom:#1c102bed;
 --place-board:#21172f;--place-button:#d3b5f7;--place-button-ink:#281939;--place-title:#e2c3ff;
 --a-frame:url('./assets/style-a-v1/frame-alchemy.svg');--a-primary:url('./assets/style-a-v1/frame-alchemy-primary.svg');--a-ink:#10091c;--a-shadow:#090610;
 background:radial-gradient(ellipse at 50% 20%,#3f2d55,var(--ui-night) 72%);
}
body[data-theme] .app-shell{background:var(--ui-bg);box-shadow:0 0 0 1px #ffffff0c,0 0 80px #0008}
.scene-backdrop{inset:0;filter:none;background-position:center 35%}
.scene-backdrop::after{background:linear-gradient(var(--place-dim),#00000012 35%,var(--place-bottom) 96%)}
body[data-theme] .app-header{border-bottom:1px solid var(--ui-line);box-shadow:0 1px var(--a-shadow);padding-bottom:5px;margin-bottom:5px}
.brand-mark{font-weight:900;text-shadow:2px 3px 0 var(--a-shadow)}
.brand strong{font-weight:900;letter-spacing:-.6px;text-shadow:1px 2px 0 var(--a-shadow)}
.brand small,.eyebrow{font-weight:800;letter-spacing:1.8px}
body[data-theme] button{border-radius:var(--a-corner)}
/* Guided entry remains tappable while locked, so it can explain the requirement. */
#workshop-open[data-locked=true]{filter:saturate(.25);opacity:.72}
#workshop-open[data-locked=true]>b{font-size:0;width:21px;height:24px;background:currentColor;mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath fill='none' stroke='black' stroke-width='3' d='M6 12V8a6 6 0 0 1 12 0v4'/%3E%3Crect x='2' y='11' width='20' height='15' rx='3'/%3E%3C/svg%3E")}
#growth-tab-equipment[data-locked=true]{filter:saturate(.2);opacity:.6}
#growth-tab-equipment[data-locked=true]::after{content:' · 잠김';font-size:10px}
/* A native modal blocks taps/back gestures; the SVG mask leaves the real target visible. */
body[data-theme] #workshop-guide{position:fixed;inset:0;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;color:#fff2d7;width:100vw;max-width:none;height:100dvh;max-height:none;overflow:hidden;touch-action:none;overscroll-behavior:contain;--guide-accent:#ffd28c;--guide-panel:#392d32;--guide-ink:#171c29;}
body[data-theme] #workshop-guide[data-actor=alchemy]{--guide-accent:#d0b7f5;--guide-panel:#302b42}
#workshop-guide::backdrop{background:transparent;backdrop-filter:none}
#workshop-guide[open]{display:block;animation:guide-appear .14s ease-out}
#workshop-guide[data-leaving=true]{opacity:0;transition:opacity .32s}
#workshop-guide .guide-mask{position:absolute;inset:0;width:100%;height:100%;fill:#111522d9;pointer-events:none}
#workshop-guide .guide-highlight{position:absolute;border:2px solid var(--guide-accent);box-shadow:0 0 0 2px #241c27,0 0 24px #ffd28c44;border-radius:5px;pointer-events:none}
#workshop-guide .guide-coach{position:absolute;left:50%;translate:-50% 0;width:min(92vw,410px);box-sizing:border-box;margin:0;overflow:auto;overscroll-behavior:contain;border:2px solid var(--guide-accent);border-radius:5px;background:var(--guide-panel);box-shadow:5px 6px 0 #0b101a88;animation:guide-coach-in .16s ease-out}
#workshop-guide .guide-portrait{width:clamp(160px,51vw,245px);height:clamp(160px,51vw,245px);margin:0 auto;background-size:300% 200%;background-repeat:no-repeat;mask-image:linear-gradient(#000 86%,transparent);animation:guide-breathe 3s ease-in-out infinite;transform-origin:50% 90%}
#workshop-guide .guide-copy{padding:2px 18px 16px;text-align:left}
#workshop-guide .guide-chapter{color:var(--guide-accent);font-weight:800;font-size:10px;letter-spacing:.5px}
#workshop-guide h2{margin:4px 0 7px;font-size:19px;color:#fff2d7;line-height:1.2}
#workshop-guide p{margin:0;font-size:14px;line-height:1.75;word-break:keep-all;overflow-wrap:anywhere;color:#fff2d7}
#workshop-guide .guide-tap{display:block;text-align:right;color:var(--guide-accent);font-size:10px;margin-top:12px}
#workshop-guide[data-kind=spotlight] .guide-coach{display:flex;align-items:center;width:min(92vw,420px);padding:10px;gap:9px}
#workshop-guide[data-kind=spotlight] .guide-portrait{width:68px;height:68px;flex:0 0 68px;mask-image:linear-gradient(#000 85%,transparent);margin:0;align-self:flex-end}
#workshop-guide[data-kind=spotlight] .guide-copy{padding:0;flex:1;min-width:0}
#workshop-guide[data-kind=spotlight] .guide-chapter{display:none}
#workshop-guide[data-kind=spotlight] h2{font-size:13px;margin:0 0 5px}
#workshop-guide[data-kind=spotlight] p{font-size:12px;line-height:1.65}
#workshop-guide[data-kind=spotlight] .guide-tap{margin-top:7px;font-size:9px}
#workshop-guide .guide-unlock{position:absolute;translate:-50% -50%;text-align:center;pointer-events:none;color:var(--guide-accent);width:130px;filter:drop-shadow(0 0 15px #ffd895)}
#workshop-guide .guide-unlock svg{width:70px;height:80px;overflow:visible;fill:#e9b958;stroke:var(--guide-ink);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
#workshop-guide .guide-shackle{fill:none;stroke:var(--guide-accent);stroke-width:7;transform-origin:24px 37px}
#workshop-guide .guide-key{fill:none;stroke-width:6}
#workshop-guide .guide-unlock b{display:block;font-size:14px;text-shadow:0 2px 4px #000,0 -1px 4px #000}
#workshop-guide .guide-unlock.is-opening{animation:guide-lock 2s both}
#workshop-guide .is-opening .guide-shackle{animation:guide-unlock 2s both}
body[data-workshop-guide=true] :is(#lobby-portrait,#workshop-portrait){animation-play-state:paused!important}
@keyframes guide-appear{from{opacity:0}to{opacity:1}}
@keyframes guide-coach-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes guide-breathe{50%{transform:translateY(-3px)}}
@keyframes guide-lock{0%,20%{transform:scale(.9)}30%,40%,50%{transform:rotate(-8deg) scale(1)}35%,45%,55%{transform:rotate(8deg) scale(1)}65%{transform:scale(1.15);filter:drop-shadow(0 0 25px #fff4cb)}100%{transform:scale(1);opacity:0}}
@keyframes guide-unlock{0%,58%{transform:none}70%,100%{transform:translateY(-8px) rotate(-28deg)}}
@media(max-height:600px){#workshop-guide .guide-portrait{width:155px;height:155px}#workshop-guide .guide-copy{padding:0 14px 12px}#workshop-guide p{font-size:13px}#workshop-guide[data-kind=spotlight] .guide-portrait{width:52px;height:52px;flex-basis:52px}#workshop-guide[data-kind=spotlight] .guide-coach{gap:6px}#workshop-guide[data-kind=spotlight] p{font-size:11px}}
@media(prefers-reduced-motion:reduce){#workshop-guide *,#workshop-guide[open]{animation:none!important}#workshop-guide .guide-shackle{transform:translateY(-8px) rotate(-28deg)}}
/* Nine-slice SVG frames keep the clipped corners constant on every device. */
body[data-theme] :is(.icon-button,.close-button,.primary,.camp-local-actions button,.prepay-button,.workshop-entry,.menu-list button,.result-actions button){
 border:2px solid transparent;border-image:var(--a-frame) 12 fill / 12px / 0 stretch;
 background-color:transparent;box-shadow:none;text-shadow:0 1px 1px var(--a-shadow);font-weight:800;
}
body[data-theme] :is(.primary,.primary:hover){border-image-source:var(--a-primary);background:transparent;color:var(--place-button-ink);text-shadow:none;box-shadow:none}
body[data-theme] :is(.large,#lobby-depart){font-weight:900;letter-spacing:-.5px}
body[data-theme] .large{font-size:18px}
body[data-theme] :is(.icon-button,.close-button){color:var(--ui-ink)}
body[data-theme] :is(.icon-button,.close-button){border-image-slice:12;background-color:var(--ui-panel)}
body[data-theme] :is(#settings-open,#catalog-open,#lobby-mail){font-size:0;border:2px solid transparent;border-image:var(--a-frame) 12 / 10px / 0 stretch;border-radius:0;background-color:var(--ui-panel);background-repeat:no-repeat;background-position:center;background-size:30px;box-shadow:none}
body[data-theme] #settings-open{background-image:url('./assets/style-a-v1/icon-settings.webp')}
body[data-theme] #catalog-open{background-image:url('./assets/style-a-v1/icon-build.webp')}
body[data-theme] #lobby-mail{background-image:url('./assets/style-a-v1/icon-mail.webp')}
body[data-theme] :is(#settings-open,#catalog-open,#lobby-mail):hover{background-color:var(--ui-raised)}
#workshop-open>span{font-size:0;width:34px;height:34px;flex:0 0 34px;background:url('./assets/style-a-v1/icon-mine.webp') center/contain no-repeat}
body[data-theme] :is(.icon-button,.close-button,.primary,.camp-local-actions button,.workshop-entry,.prepay-button,.menu-list button):active:not(:disabled){filter:brightness(1.15);translate:0 1px}
body[data-theme] .lobby-currencies>span{border:2px solid transparent;border-image:var(--a-frame) 12 fill / 9px / 0 stretch;border-radius:0;background:transparent;font-weight:800;padding:6px 8px}
.lobby-currencies>span:first-child{color:#cab0ff}.lobby-currencies>span+span{color:#ffd295}
body[data-theme] .lobby-heading h1{font-size:27px;font-weight:900;text-shadow:2px 3px 0 var(--a-shadow);letter-spacing:-1px}
.lobby-heading>p:last-child{color:var(--ui-muted)}
.lobby-stage{background:none;border-radius:0}
.lobby-orbit,.camp-orbit{display:none}
.lobby-stage>.lobby-portrait{filter:drop-shadow(2px 4px 0 #040c1855)}
.lobby-character-label{text-shadow:2px 3px 0 var(--a-shadow)}
.lobby-character-label h2{font-size:27px;font-weight:900}
.lobby-character-label>small{color:var(--ui-sky)}
.lobby-character-label h2 small{color:var(--ui-ink)}
body[data-theme] .lobby-actions>.workshop-entry{min-height:54px!important;padding:9px 14px;border-image:var(--a-frame) 12 fill / 12px / 0 stretch;background:transparent;font-size:14px}
.workshop-entry strong{font-size:15px}.workshop-entry small{font-size:10px;color:var(--ui-muted)}
.workshop-entry>b{color:var(--ui-gold)}
body[data-theme] :is(.lobby-bubble,.character-chatter,.shop-speech-bubble,.player-speech,.workshop-speech){
 background:var(--ui-paper);color:var(--place-button-ink);border:2px solid var(--a-ink);border-radius:3px;box-shadow:3px 4px 0 var(--a-shadow);font-weight:650;
}
.lobby-stage>#lobby-speech{border-radius:3px;font-size:12px;line-height:1.55;max-width:calc(100% - 28px)}
.lobby-stage>#lobby-speech::after{content:'';position:absolute;bottom:-10px;left:30px;width:15px;height:15px;transform:skew(18deg) rotate(45deg);background:var(--ui-paper);border-right:2px solid var(--a-ink);border-bottom:2px solid var(--a-ink)}
.shop-speech-bubble::after,.player-speech::after{border-color:var(--a-ink);border-width:2px}
body[data-theme] .camp-navigation{background:var(--place-panel);border-top:2px solid var(--ui-line);box-shadow:0 -3px 0 var(--a-shadow);padding-top:8px}
body[data-theme] .camp-navigation button{border:2px solid transparent;border-radius:3px;font-weight:800;color:var(--ui-muted);font-size:11px;background:transparent;box-shadow:none}
body[data-theme] .camp-navigation button[aria-selected=true]{background:var(--ui-raised);border-color:var(--ui-line);color:var(--ui-ivory);box-shadow:inset 0 0 0 2px var(--a-shadow)}
.camp-navigation button[aria-selected=true]::after{display:none}
.camp-navigation img,.camp-navigation #mine-tab img{border-radius:0;filter:drop-shadow(1px 2px 0 var(--a-shadow));opacity:1}
body[data-theme] .camp-navigation #mine-tab{font-size:12px}
body[data-theme] .camp-navigation #mine-tab[aria-selected=true]{background:var(--ui-raised);border-color:var(--ui-line)}
/* Full-height host in camp; small thumbnails elsewhere keep their square UVs. */
.camp-hero{overflow:hidden}
#camp-mole{--character-art:url('./assets/style-a-v1/manager-hips.webp');background-image:var(--character-art);aspect-ratio:2/3;max-height:none;bottom:-55px;mask-image:linear-gradient(#000 72%,transparent 100%)}
body[data-mode=demon] #camp-mole{--character-art:url('./assets/style-a-v1/demon-hips.webp');background-image:var(--character-art)!important}
body[data-theme] .camp-heading{padding:30px 4px 0;background:linear-gradient(transparent,var(--place-bottom) 48%);z-index:1;pointer-events:none}
.camp-heading h1{font-weight:900;text-shadow:2px 3px 0 var(--a-shadow)}
body[data-theme] .camp-ledger{border:2px solid transparent;border-image:var(--a-frame) 12 fill / 14px / 0 stretch;border-radius:0;background:transparent;box-shadow:none;padding:18px}
body[data-theme] .camp-ledger::before{display:none}
.camp-ledger strong{font-weight:900;text-shadow:1px 2px 0 var(--a-shadow)}
body[data-theme] .camp-ledger>div+div{border-color:var(--ui-line)}
body[data-theme] .contract-camp-info{color:var(--ui-muted)}
body[data-theme=demon] .camp-heading h1{color:var(--ui-ivory)}
body[data-theme] .mode-card{border-radius:4px;border:2px solid var(--ui-line);box-shadow:3px 4px 0 var(--a-shadow)}
.mode-card .mode-copy strong{font-weight:900;text-shadow:2px 3px 0 #080d16}
.mode-card.mode-demon{border-color:#c5525a}.mode-card .mode-portrait{opacity:.45}
/* All ordinary modals share the inked panel language, without clipping content or dots. */
body[data-theme] dialog:where(:not(#scene-transition):not(#chest-reveal):not(.settlement-dialog)){
 border:2px solid var(--ui-line);border-radius:5px;box-shadow:0 0 0 3px var(--a-ink),0 16px 60px #0009;background-color:var(--ui-bg);
}
body[data-theme] dialog::backdrop{backdrop-filter:blur(3px)}
body[data-theme] #camp-pages>dialog.camp-page{border:0;border-radius:0;box-shadow:none;background:var(--place-soft)}
body[data-theme] #camp-pages .camp-page>.sheet-heading{background:var(--place-panel)}
.sheet-heading h2,.shop-header h2{font-weight:900;text-shadow:1px 2px 0 var(--a-shadow)}
body[data-theme] :is(.help-card,.ranking-best,.character-details,.growth-hero,.gear-detail,.gear-materials,.material-product,.workshop-material-card,.workshop-hero,.demon-shop-hero,.flow-materials>span,.flow-coins,.cube-comparison article,.cube-current-options>.equipment-affix,.mine-chest-open){border-radius:4px;border-width:2px;box-shadow:none}
body[data-theme] :is(.ability-card,.relic-card,.equipped,.ability-owned,.character-details li,.gear-card,.gear-slots button,.mine-chest,.cube-choice){border-radius:4px;border-width:2px;box-shadow:0 3px 0 var(--a-shadow)}
body[data-theme] :is(.ability-card,.relic-card,.gear-card,.equipped,.ability-owned)[data-rarity]{border-color:var(--rarity-border);border-left-width:4px}
body[data-theme] :is(.ability-card,.ability-owned)[data-mode-ability=demon]{background:linear-gradient(115deg,#a32436,#50111f);border-color:#ff7880}
.rarity-badge{border-radius:2px!important;font-weight:800;letter-spacing:.3px}
body[data-theme] .relic-icon{border-radius:3px;background:#d9e4f1;box-shadow:0 0 0 2px var(--a-ink)}
body[data-theme] :is(.guide-tabs,.growth-tabs,.ranking-mode-tabs,.cube-mode-tabs) button{border-radius:3px;border-width:2px;background:var(--place-panel);border-color:var(--ui-line);color:var(--ui-muted)}
body[data-theme] :is(.guide-tabs,.growth-tabs,.ranking-mode-tabs,.cube-mode-tabs) button[aria-selected=true]{background:var(--ui-raised);color:var(--ui-ink);border-color:var(--ui-sky);box-shadow:inset 0 -3px var(--ui-sky)}
body[data-theme] .growth-tabs>span{border-radius:3px;background:var(--ui-raised);border-color:var(--ui-sky);color:var(--ui-ink)}
.lobby-character-list>button{border-radius:4px;border-width:2px}
body[data-theme] #character-list .character-card{border-radius:5px;border-width:2px;box-shadow:3px 5px 0 var(--a-shadow)}
body[data-theme] #character-list .character-card[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--a-ink),0 0 0 2px var(--player-color),3px 6px 0 var(--a-shadow)}
#manager-dialog .manager-scene{border-bottom:2px solid var(--ui-line)}
body[data-theme] #manager-dialog{border:2px solid var(--ui-line);border-radius:5px;box-shadow:0 0 0 3px var(--a-ink),0 16px 60px #0009;background:var(--ui-bg)}
.manager-heading h2{text-shadow:2px 3px 0 var(--a-shadow);font-weight:900}
#manager-dialog .manager-content{background:var(--place-panel)}
#manager-facts{border-color:var(--ui-line)}
body[data-theme] #shop-dialog .shopkeeper-stage{border-radius:4px;border:2px solid #ad6672;background:linear-gradient(125deg,#4e253d88,#16263bab),url('./assets/style-a-v1/mine-background.webp') center 45%/cover}
.shopkeeper-stage::before{display:none}.shop-counter{background:#302336;border-top:3px solid #d89b7e;box-shadow:0 -2px 0 #120e1b}
body[data-theme] .shop-controls button{border-width:2px;background:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink)}
body[data-theme] .shop-controls button[aria-pressed=true]{background:var(--place-button);color:var(--place-button-ink);border-color:var(--ui-sky)}
body[data-theme] #shop-essence .demon-shop-card{border-radius:4px;border-width:2px;background:var(--place-panel)}
body[data-theme] .workshop-hero{border-color:var(--ui-line);background:var(--place-soft)}
.workshop-roofs{filter:none!important;opacity:.55!important}
.workshop-shopname h1{font-weight:900;text-shadow:2px 3px 0 var(--a-shadow)}
body[data-theme] .workshop-navigation{border-top:2px solid var(--ui-line);border-radius:3px;background:var(--place-panel);box-shadow:0 -2px 0 var(--a-shadow)}
body[data-theme] .workshop-navigation button{border-radius:3px;font-weight:800}
body[data-theme] .workshop-navigation button[aria-selected=true]{box-shadow:inset 0 -3px var(--ui-sky);background:var(--ui-raised)}
body[data-theme] :is(.workshop-slot-picks button,.workshop-filters button,.workshop-owner-card,.workshop-item-pick,.cube-locks button){border-radius:3px;border-width:2px}
body[data-theme] #workshop-flow .cube-choice{border-radius:4px;border-width:2px}
body[data-theme] .gear-card[data-equipped=true]{border-width:2px}
body[data-theme] .gear-empty{border-radius:3px}
/* Keep gameplay controls and all touch gestures outside the physical board. */
body[data-theme] .board{border-radius:5px 5px 10px 10px;border-width:1px;box-shadow:0 0 0 2px var(--a-ink),0 0 0 3px var(--ui-line),inset 0 0 0 3px var(--ui-panel)}
body[data-theme] .board.drop-ready{border-color:var(--ui-sky);box-shadow:0 0 0 2px var(--ui-sky),inset 0 0 0 2px var(--ui-accent)}
body[data-theme] .next-block{border-radius:3px;border:2px solid var(--ui-line);background:var(--place-panel)}
.value-block strong{font-weight:900;text-shadow:2px 2px 0 var(--a-shadow)}
body[data-theme] #dynamite{border-radius:3px;border-width:2px;box-shadow:2px 3px 0 var(--a-shadow)}
body[data-theme] #dynamite[aria-pressed=true]{box-shadow:0 0 0 2px var(--a-ink),0 0 0 3px var(--player-color,var(--ui-sky))}
/* Connected reveal FX adopt the same panel edges; their durations are unchanged. */
body[data-theme] .fx-toast{border-radius:3px;border-width:2px;box-shadow:3px 4px 0 var(--a-shadow);font-weight:800}
body[data-theme] dialog.settlement-dialog{border:0;border-radius:0;background:linear-gradient(#112036eF,#11203680 35%,#11203600 70%);box-shadow:none}
body[data-theme] dialog.settlement-dialog[data-mode=demon]{background:linear-gradient(#451723ef,#45172380 35%,#45172300 70%)}
body[data-theme] .settlement-hud{border:2px solid transparent;border-image:var(--a-frame) 12 fill / 14px / 0 stretch;border-radius:0;background:transparent;box-shadow:none}
.settlement-hud h2{font-weight:900;text-shadow:2px 3px 0 var(--a-shadow)}
.settlement-hud strong{font-weight:900}
body[data-theme] #forge-reveal{border-radius:4px;border:2px solid var(--rarity-color);box-shadow:0 0 0 3px var(--a-ink),0 12px 50px #0009}
#forge-result li{border-radius:3px;border-left:3px solid var(--rarity-color);background:var(--place-panel)}
.chest-cinema-target{border-radius:3px;border-width:2px;background:var(--place-panel)}
.transition-caption strong{font-weight:900;text-shadow:2px 3px 0 #090d18}
body[data-theme] [data-red-dot=true]::before{background:#ff526b;box-shadow:0 0 0 2px var(--a-ink);width:7px;height:7px}
/* Portrait buttons never inherit the framed-control treatment. */
body[data-theme] :is(button.character-button,#player-portrait,.workshop-portrait){border:0;border-image:none;border-radius:0;box-shadow:none;text-shadow:none}
@media(max-width:350px){body[data-theme] .lobby-heading h1{font-size:22px}.lobby-currencies{font-size:11px;gap:4px}body[data-theme] .lobby-currencies>span{padding:6px}.camp-heading h1{font-size:23px}}
@media(max-height:740px){body[data-theme] .lobby-heading h1{font-size:23px}.lobby-character-label h2{font-size:24px}body[data-theme] .camp-ledger{padding:14px}.camp-heading{padding-top:22px}body[data-theme] .camp-navigation button{font-size:10px}}
@media(max-height:580px){body[data-theme] .lobby-heading h1{font-size:20px}.lobby-stage>#lobby-speech{font-size:10px}.lobby-character-label h2{font-size:20px}body[data-theme] .lobby-actions>.workshop-entry{min-height:44px!important;padding:6px 12px}.workshop-entry strong{font-size:13px}body[data-theme] .camp-ledger{padding:12px}.camp-heading h1{font-size:20px}body[data-theme] .camp-heading{padding-top:16px}.camp-ledger strong{font-size:22px}body[data-theme] .large{font-size:16px}}
@media(prefers-reduced-motion:reduce){body[data-theme] button:active{translate:none}}
