:root{--parchment: #f3e6c4;--parchment-deep: #e8d5a3;--paper: #fbf3dc;--wood: #6b4423;--wood-dark: #3f2814;--gold: #d9a441;--gold-bright: #f5c964;--gold-deep: #a8741a;--ink: #2b1d12;--ink-soft: #5b4630;--paper-edge: #b08a52;--red: #8e2a1c;--focus: #1f5fa8;--radius: 10px;--shadow: 0 3px 10px rgba(63, 40, 20, .35);--rail-w: 56px;--drawer-w: min(372px, 46vw);--sa-t: env(safe-area-inset-top, 0px);--sa-r: env(safe-area-inset-right, 0px);--sa-b: env(safe-area-inset-bottom, 0px);--sa-l: env(safe-area-inset-left, 0px);--font-ui: Georgia, "Times New Roman", serif;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--lh: 1.3;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--tap: 44px;--line-strong: #5b4a2e;--line-soft: #c9b07a;--face: linear-gradient(180deg, #fff6dc, #ecd9a8);--face-action: linear-gradient(180deg, #f9a03a, #f07c00 45%, #c25a00);--face-danger: linear-gradient(180deg, #f4e0d6, #e2b9a8);--btn-shadow: inset 0 -2px 0 rgba(91, 74, 46, .25), 0 1px 2px rgba(63, 40, 20, .25);--ease: .14s ease-out;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;background:var(--wood-dark);overscroll-behavior:none}body{font-family:var(--font-ui);font-size:var(--fs-md);line-height:1.4;color:var(--ink);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}input,button{font:inherit;color:inherit}input{-webkit-user-select:text;user-select:text}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}.app{position:fixed;inset:0;z-index:1;pointer-events:none}.rail{position:absolute;top:var(--sa-t);bottom:var(--sa-b);left:var(--sa-l);width:var(--rail-w);display:none;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;background:linear-gradient(180deg,#7a5230 0%,var(--wood) 55%,var(--wood-dark) 100%);border-right:2px solid var(--gold-deep);box-shadow:2px 0 10px #28180a66;pointer-events:auto;z-index:3}.app.chrome .rail{display:flex}.rail-btn{width:48px;height:48px;min-width:44px;min-height:44px;display:grid;place-items:center;padding:0;border-radius:var(--radius);border:2px solid #5b4a2e;background:linear-gradient(180deg,#fff6dc,#ecd9a8);box-shadow:inset 0 -2px #5b4a2e40;color:#5b4a2e;cursor:pointer}.rail-btn[aria-pressed=true]{background:linear-gradient(180deg,#f9a03a,#f07c00 45%,#c25a00);color:#fff;border-color:#8a3f00}.rail-btn svg,.icon-btn svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rail-spacer{flex:1}.page{position:absolute;top:var(--sa-t);bottom:var(--sa-b);left:var(--sa-l);right:var(--sa-r);overflow:auto;-webkit-overflow-scrolling:touch;pointer-events:auto}.app.chrome .page{left:calc(var(--sa-l) + var(--rail-w))}.home,.opts,.stub,.notice{padding:12px 16px}.home{min-height:100%;display:grid;place-items:center}.card,.home-card{background:var(--paper);border:2px solid var(--paper-edge);border-radius:14px;box-shadow:var(--shadow);padding:16px}.home-card{width:min(420px,100%);text-align:center}.eyebrow{margin:0 0 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.home-title,.screen-title{margin:0 0 12px;font-size:1.5rem;line-height:1.2;color:var(--ink)}.home-actions{display:grid;gap:10px;margin:16px 0 12px}.fine,.label{font-size:12px;color:var(--ink-soft);margin:0 0 8px}.label{font-weight:600;color:var(--ink)}.opt-section{background:var(--paper);border:1px solid var(--paper-edge);border-radius:var(--radius);padding:10px 12px;margin-bottom:12px}.opt-section h3{margin:0 0 8px;font-size:1rem}.opt-section>*+*{margin-top:8px}.notice{background:var(--paper);border:2px solid var(--paper-edge);border-radius:var(--radius);margin:12px 16px}.notice-error{border-color:var(--red);color:var(--red)}.btn{min-height:var(--tap);min-width:var(--tap);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);border:2px solid var(--line-strong);background:var(--face);box-shadow:var(--btn-shadow);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;touch-action:manipulation;transition:transform var(--ease),filter var(--ease)}.btn:not(:disabled):active{transform:translateY(1px)}.btn-wide{width:100%}.btn-primary{background:var(--face-action);border-color:#8a3f00;color:#fff;text-shadow:0 1px 0 rgba(90,40,0,.45)}.btn-danger{background:var(--face-danger);border-color:var(--red);color:var(--red)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.seg{display:flex;gap:var(--sp-2)}.seg-btn{flex:1;min-height:var(--tap);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:2px solid var(--line);background:var(--paper);font-weight:600;cursor:pointer;transition:background var(--ease),transform var(--ease)}.seg-btn[aria-pressed=true]{background:var(--face-action);border-color:#8a3f00;color:#fff;font-weight:700}.drawer{position:absolute;top:var(--sa-t);bottom:var(--sa-b);right:var(--sa-r);width:var(--drawer-w);display:flex;flex-direction:column;background:#fbf3dcf7;border-left:3px solid var(--wood);box-shadow:-4px 0 14px #28180a59;transform:translate(105%);transition:transform .22s ease;pointer-events:auto;z-index:4}.app.panel-open .drawer{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding:6px 8px 6px 12px;background:linear-gradient(180deg,#7a5230 0%,var(--wood) 55%,var(--wood-dark) 100%);color:var(--parchment);border-bottom:2px solid var(--gold-deep)}.drawer-title{margin:0;font-size:1.05rem;color:var(--parchment)}.icon-btn{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--parchment);cursor:pointer}.drawer-body{flex:1;overflow:auto;padding:12px;-webkit-overflow-scrolling:touch}.toasts{position:absolute;left:50%;bottom:calc(var(--sa-b) + 10px);transform:translate(-50%);width:min(90vw,420px);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:6}.toast{padding:8px 14px;border-radius:var(--radius);background:var(--wood-dark);color:var(--parchment);border:1px solid var(--gold-deep);box-shadow:var(--shadow);font-size:13px;text-align:center}.toast-success{border-color:#7fae5a}.toast-error{background:var(--red);border-color:var(--red)}.rotate{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:16px;background:var(--wood-dark);color:var(--parchment);text-align:center}:root[data-orientation=portrait] .rotate{display:flex}:root[data-orientation=portrait] .app{visibility:hidden}.rotate-card h1{font-size:1.3rem;margin:12px 0 6px}.rotate-card p{margin:0;color:var(--parchment-deep)}.rotate-icon{width:72px;height:72px;fill:none;stroke:var(--gold-bright);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.rail-btn,.icon-btn,.drawer-title{transition:background var(--ease),color var(--ease),transform var(--ease)}.rail-btn:not(:disabled):active,.icon-btn:active{transform:scale(.96)}@media (prefers-reduced-motion: reduce){.drawer,.rail-btn,.icon-btn,.btn,.pk-btn,.pk-card,.pk-group,.pk-tab,.pu-btn,.pu-item,.pu-cell,.pu-slot,.seg-btn,.pk-progress-fill,.pk-dg-hp-fill{transition:none!important;animation:none!important}.rail-btn:not(:disabled):active,.icon-btn:active,.btn:not(:disabled):active,.pk-game .pk-btn:not(:disabled):active,.pu-screen .pu-btn:not(:disabled):active{transform:none!important}}@media (orientation: portrait){:root:not([data-orientation=landscape]) .rotate{display:flex}}.rail-btn{position:relative}.rail-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#e0a23a;color:#1a1208;font:700 10px/16px system-ui,sans-serif;text-align:center;pointer-events:none}.rail-badge[hidden]{display:none}.rail-btn .ui-ico{width:28px;height:28px}.pk-world,.pk-idle{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box;overflow:hidden;gap:6px;padding:8px 12px;background:var(--pk-bg, #e9dfc4);color:var(--pk-text, #2b1d12)}.pk-screen-head{display:flex;align-items:baseline;gap:10px;flex:0 0 auto}.pk-screen-head h1{margin:0;font-size:16px;color:var(--pk-gold)}.pk-warn{color:var(--pk-bad);margin:0;font-size:12px}.pk-levelup{color:var(--pk-gold);font-weight:700;margin:4px 0}.pk-empty{color:var(--pk-muted);display:grid;place-items:center;gap:8px;text-align:center;padding:16px}.pk-empty p{margin:0}.pk-world-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.pk-carousel{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding-bottom:6px;min-height:0;align-items:stretch}.pk-card{position:relative;flex:0 0 auto;width:clamp(130px,22vw,190px);height:min(320px,100%);display:flex;flex-direction:column;padding:0;border:2px solid var(--pk-line);border-radius:var(--pk-radius);overflow:hidden;background:var(--pk-panel);color:var(--pk-text);text-align:left;cursor:pointer;scroll-snap-align:start;font:inherit}.pk-card.is-selected{border-color:var(--pk-gold)}.pk-card-bg{flex:1 1 auto;min-height:0;background:linear-gradient(135deg,#3b5b3a,#1d2d33);background-size:cover;background-position:center}.pk-card-body{display:flex;flex-direction:column;gap:2px;padding:6px 8px;min-width:0}.pk-card-body strong{font-size:var(--fs-sm);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pk-card.is-locked .pk-card-bg{filter:grayscale(.9) brightness(.6)}.pk-lock{position:absolute;inset:0;display:grid;place-items:center;background:#000000b3;color:#f3eee6;font-weight:700;text-align:center;padding:8px;pointer-events:none}.pk-strip{display:flex;gap:2px;align-items:flex-end;flex-wrap:nowrap;min-height:0}.pk-sprite{position:relative;display:inline-flex;align-items:flex-end;justify-content:center}.pk-sprite-fallback{display:grid;place-items:center;border-radius:50%;color:#fff;font-size:11px;font-weight:700;box-shadow:0 0 0 2px #0006}.pk-panel{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:0;padding:0}.pk-panel-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3)}.pk-panel-foot{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) var(--sp-3);border-top:1px solid var(--pk-line);background:#efe3c2}.pk-panel-head{display:flex;flex-direction:column;gap:2px}.pk-panel-head h2{margin:0;font-size:15px}.pk-groups-label{margin-top:2px}.pk-groups{display:flex;flex-direction:column;gap:6px}.pk-group{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:2px 8px;align-items:center;padding:6px 8px;min-height:44px;border:1px solid var(--pk-line);border-radius:6px;background:var(--pk-panel-2);color:var(--pk-text);font:inherit;text-align:left;cursor:pointer}.pk-group .pk-strip{grid-column:1 / 2;grid-row:1 / 3}.pk-group.is-selected{border-color:var(--pk-gold);box-shadow:inset 0 0 0 1px var(--pk-gold)}.pk-group>span:nth-of-type(1){grid-column:2;grid-row:1}.pk-group>span:nth-of-type(2){grid-column:2;grid-row:2}.pk-toggle-btn{align-self:flex-start;min-height:44px}.pk-toggle-btn[aria-checked=true]{border-color:var(--pk-gold, #f2c14e);color:var(--pk-gold, #f2c14e)}.pk-link{align-self:flex-start;min-height:44px;display:inline-flex;align-items:center;background:none;border:0;padding:0 12px;color:var(--pk-gold);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline}.pk-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.pk-actions>.pk-btn{flex:1 1 140px}.pk-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:#000000a8}.pk-overlay[hidden]{display:none}.pk-fight-host{width:100%;height:100%;position:relative}.pk-fight-placeholder{color:var(--pk-muted);padding:12px}.pk-results,.pk-modal-card{width:min(420px,92%);max-height:92%;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:14px;background:var(--pk-panel);border:1px solid var(--pk-gold);border-radius:10px;box-sizing:border-box}.pk-results h2,.pk-modal-card h2{margin:0;font-size:16px;color:var(--pk-gold)}.pk-stats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pk-stats li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--pk-line);padding-bottom:3px}.pk-stats li span{color:var(--pk-muted)}.pk-stats li strong{text-align:right}.pk-progress{height:10px;background:var(--pk-panel-2);border:1px solid var(--pk-line);border-radius:6px;overflow:hidden}.pk-progress-fill{height:100%;width:0;background:var(--pk-gold);transition:width .12s linear}.pk-idle-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,36%);gap:10px}.pk-idle-stage{position:relative;min-height:0;overflow:hidden;border:1px solid var(--pk-line);border-radius:var(--pk-radius);background:radial-gradient(circle at 50% 40%,#2d3f2a,#0d0c09)}.pk-idle-side{min-height:0;display:flex;flex-direction:column;gap:6px;padding:8px;overflow:hidden;background:var(--pk-panel);border:1px solid var(--pk-line);border-radius:var(--pk-radius)}.pk-idle-head{display:flex;flex-direction:column;gap:0}.pk-counters{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}.pk-counter{background:var(--pk-panel-2);border-radius:6px;padding:4px 6px}.pk-counter dt{color:var(--pk-muted);font-size:11px}.pk-counter dd{margin:0;font-weight:700;font-size:13px}.pk-journal{flex:1 1 auto;min-height:0;overflow-y:auto;list-style:none;margin:0;padding:0;font-size:11px;display:flex;flex-direction:column;gap:3px}.pk-journal li{border-left:2px solid var(--pk-line);padding-left:6px;color:var(--pk-text)}.pk-idle-actions{display:flex;gap:6px;flex-wrap:wrap}.pk-idle-actions .pk-btn{flex:1 1 auto;min-width:0}@media (max-height: 460px){.pk-world,.pk-idle{padding:6px 10px;gap:4px}.pk-card{width:clamp(120px,18vw,160px)}.pk-world-body,.pk-idle-body{gap:8px}}@media (max-width: 640px){.pk-world-body,.pk-idle-body{grid-template-columns:minmax(0,1fr) minmax(170px,42%)}}.pk-game{font:var(--fs-sm)/var(--lh) var(--font-ui);color:var(--pk-text, #2b1d12)}.pk-game .pk-muted{color:var(--pk-muted, #aaa0b8);font-size:12px}.pk-game .pk-btn{min-height:var(--tap);min-width:var(--tap);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border:2px solid var(--line-strong);border-radius:var(--r-md);background:var(--face);box-shadow:var(--btn-shadow);color:#2b1d12;font:inherit;font-weight:700;cursor:pointer;touch-action:manipulation;transition:transform var(--ease),filter var(--ease)}.pk-game .pk-btn:focus-visible,.pk-game .pk-tab:focus-visible,.pk-game .pk-card:focus-visible,.pk-game .pk-group:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.pk-game .pk-btn:not(:disabled):active{transform:translateY(1px)}.pk-game .pk-btn:disabled{opacity:.45;cursor:default}.pk-game .pk-primary{background:var(--face-action);border-color:#8a3f00;color:#fff;text-shadow:0 1px 0 rgba(90,40,0,.45)}.pk-game .pk-dg-danger{background:linear-gradient(180deg,#f4e0d6,#e2b9a8);border-color:#8e2a1c;color:#8e2a1c}.pk-modal{position:fixed;inset:0;z-index:1000;pointer-events:auto}.pk-party{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 8px}.pk-party-slot{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.pk-game .pk-loot{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.pk-game .pk-loot-row{display:flex;align-items:center;gap:6px;min-height:28px;font-size:12px}.pk-game .pk-loot-icon{width:24px;height:24px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto}.pk-game .pk-loot-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pk-game .pk-loot-qty{flex:0 0 auto;color:var(--pk-gold, #f2c14e)}.pk-game .pk-loot-more{margin-top:4px;font-size:12px}.pk-game .pk-loot-more summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--pk-gold, #f2c14e)}.pk-game .pk-loot-more[open] .pk-loot{margin-top:4px}.pk-dungeon{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box;overflow:hidden;gap:6px;padding:8px 12px;background:var(--pk-bg, #e9dfc4);color:var(--pk-text, #2b1d12)}.pk-head-tools{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;min-width:0}.pk-resume{min-height:var(--tap);max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs)}@media (max-width: 800px){.pk-screen-head>.pk-head-sub{display:none}.pk-screen-head h1{white-space:nowrap}}.pk-tabs{display:inline-flex;border:1px solid var(--pk-line);border-radius:8px;overflow:hidden}.pk-tab{min-height:44px;min-width:44px;padding:0 12px;border:0;background:var(--pk-panel-2, #2a2436);color:var(--pk-muted, #aaa0b8);font:inherit;font-weight:600;cursor:pointer;touch-action:manipulation}.pk-tab[aria-selected=true]{background:var(--pk-gold, #f2c14e);color:#241a05}.pk-carousel.is-list{flex-direction:column;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none}.pk-dg-item{display:flex;flex-direction:column;gap:4px;flex:0 0 auto;padding:8px 10px;border:1px solid var(--pk-line);border-radius:var(--pk-radius);background:var(--pk-panel)}.pk-dg-item.is-locked{border-color:var(--pk-bad, #ff7a7a)}.pk-dg-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.pk-dg-item-head strong{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pk-dg-why{margin:0;padding-left:16px;color:var(--pk-bad, #ff7a7a);font-size:12px}.pk-dg-enter{align-self:flex-start}.pk-dg-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.pk-dg-cols{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(170px,1fr);gap:10px}.pk-dg-stage,.pk-dg-side{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:8px 10px;background:var(--pk-panel);border:1px solid var(--pk-line);border-radius:var(--pk-radius)}.pk-dg-room{font-size:14px;color:var(--pk-gold)}.pk-dg-stage>.pk-actions{margin-top:auto;padding-top:var(--sp-2)}.pk-dg-pips{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.pk-dg-pip{width:14px;height:14px;border-radius:50%;border:2px solid var(--pk-line);background:var(--pk-panel-2);display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;color:#241a05}.pk-dg-pip.is-boss{width:18px;height:18px;border-radius:4px;font-size:11px}.pk-dg-pip.is-done{background:var(--pk-good, #5bd68a);border-color:var(--pk-good, #5bd68a)}.pk-dg-pip.is-current{border-color:var(--pk-gold, #f2c14e);box-shadow:0 0 0 2px #f2c14e59}.pk-dg-pip.is-lost{background:var(--pk-bad, #ff7a7a);border-color:var(--pk-bad, #ff7a7a)}.pk-dg-pip.is-boss.is-todo{border-color:var(--pk-gold, #f2c14e)}.pk-dg-hp-list{display:flex;flex-direction:column;gap:6px}.pk-dg-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(60px,90px) auto;gap:6px;align-items:center;font-size:12px}.pk-dg-hero-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pk-dg-hp{height:8px;background:var(--pk-panel-2);border:1px solid var(--pk-line);border-radius:4px;overflow:hidden}.pk-dg-hp-fill{height:100%;background:var(--pk-good, #5bd68a);transition:width .2s linear}.pk-dg-hp-fill.is-low{background:var(--pk-bad, #ff7a7a)}.pk-dg-danger{color:var(--pk-bad, #ff7a7a);border-color:var(--pk-bad, #ff7a7a)}.pk-dg-fight{flex:1 1 auto;min-height:0;position:relative;overflow:hidden;border:1px solid var(--pk-line);border-radius:var(--pk-radius);background:radial-gradient(circle at 50% 40%,#2d3f2a,#0d0c09)}.pk-dg-card{margin:auto;max-height:100%;overflow-y:auto;width:min(460px,100%);box-sizing:border-box}@media (max-height: 460px){.pk-dungeon{padding:6px 10px;gap:4px}.pk-dg-stage,.pk-dg-side{padding:6px 8px;gap:5px}}@media (max-width: 640px){.pk-dg-cols{grid-template-columns:minmax(0,1fr) minmax(150px,42%)}}.pk-tabs{border:2px solid #5b4a2e;border-radius:999px;background:#d5c7a1;padding:2px;gap:2px}.pk-tab{min-height:var(--tap);border-radius:var(--r-pill);background:transparent;color:#5b4a2e;display:inline-flex;align-items:center;gap:5px}.pk-tab[aria-selected=true]{background:linear-gradient(180deg,#f9a03a,#f07c00 45%,#c25a00);color:#fff;text-shadow:0 1px 0 rgba(90,40,0,.45)}.pk-panel,.pu-screen .pu-panel{background:linear-gradient(180deg,#faf4e1,#efe3c2);border:2px solid #8a6d3b;border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff8c,0 2px 6px #3f28142e}.pk-group,.pk-dg-item,.pu-screen .pu-item,.pu-screen .pu-cell,.pu-screen .pu-slot{border-color:#8a6d3b;border-radius:10px}.pk-group.is-selected,.pk-dg-item.is-selected,.pu-screen .pu-item[aria-selected=true],.pu-screen .pu-cell[aria-selected=true],.pu-screen .pu-slot[aria-selected=true]{border-color:#c25a00;box-shadow:inset 0 0 0 1px #c25a00}.pk-toggle-btn[aria-checked=true]{background:linear-gradient(180deg,#8a6d3b,#5b4a2e);color:#fff8e6;border-color:#3f2814}.pk-counter{background:#efe3c2;border:1px solid #c9b07a}.pu-screen .pu-btn,.pu-screen .pu-input,.pu-screen .pu-slot{color:var(--pk-text)}.pu-screen .pu-btn{border:2px solid var(--line-strong);border-radius:var(--r-md);background:var(--face);box-shadow:var(--btn-shadow);color:#2b1d12}.pu-screen .pu-btn.pu-grow{border-radius:var(--r-md)}.pu-screen .pu-btn:not(:disabled):active{transform:translateY(1px)}.pu-screen .pu-btn.pu-primary{background:var(--face-action);border-color:#8a3f00;color:#fff;text-shadow:0 1px 0 rgba(90,40,0,.45)}.pu-screen .pu-btn.pu-danger{background:linear-gradient(180deg,#f4e0d6,#e2b9a8);border-color:#8e2a1c;color:#8e2a1c}.pu-screen .pu-btn[aria-pressed=true]{background:linear-gradient(180deg,#8a6d3b,#5b4a2e);border-color:#3f2814;color:#fff8e6}.pu-screen .pu-tabs{gap:4px}.pu-screen .pu-chip{border-radius:999px;border:1px solid #c9b07a;background:#efe3c2;color:#2b1d12}.pu-screen .pu-gold{color:#a8561a}.ui-ico{display:inline-block;width:22px;height:22px;flex:0 0 auto;object-fit:contain;vertical-align:middle}.ui-ico.ui-ico-sm{width:16px;height:16px}span.ui-ico:empty{display:none}.ui-ico-img{image-rendering:auto}.hub{position:absolute;inset:0;overflow:hidden;background:#1b130c;touch-action:none;user-select:none;-webkit-user-select:none}.hub-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.hub-title,.hub-hint{position:absolute;margin:0;color:#fff4d6;pointer-events:none;text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.6)}.hub-title{top:8px;left:12px;font:700 14px/1.2 system-ui,sans-serif}.hub-hint{bottom:8px;left:12px;font:500 12px/1.3 system-ui,sans-serif;opacity:.85}.drawer:has(.pk-spells){--drawer-w: min(560px, calc(100vw - var(--rail-w) - 24px))}.pk-spells{position:relative;height:100%;min-height:0;display:grid;grid-template-columns:minmax(200px,40%) minmax(0,1fr);gap:8px;color:var(--pk-text)}.pk-spells button{font:inherit;color:inherit}.pk-bar-panel{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:0;overflow-y:auto;padding:6px 8px;background:var(--pk-panel);border:1px solid var(--pk-line);border-radius:var(--pk-radius)}.pk-bar-head{display:flex;align-items:center;justify-content:space-between;gap:6px;font-weight:700}.pk-chip-gold{color:var(--pk-gold, #f2c14e);font-weight:700}.pk-chip{padding:2px 8px;border-radius:999px;background:var(--pk-panel-2);border:1px solid var(--pk-line);font-size:12px}.pk-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.pk-slot{position:relative;min-height:44px;min-width:0;display:flex;align-items:center;justify-content:center;padding:2px 3px 2px 16px;background:var(--pk-panel-2);border:2px solid var(--pk-line);border-radius:10px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pk-slot.is-empty{border-style:dashed}.pk-slot.is-target{border-color:var(--pk-gold, #f2c14e);box-shadow:0 0 0 2px #f2c14e33}.pk-slot.is-armed{border-color:var(--pk-gold, #f2c14e);outline:2px solid var(--pk-gold, #f2c14e);outline-offset:1px}.pk-slot-key{position:absolute;left:4px;top:3px;font-size:11px;font-weight:700;color:var(--pk-muted)}.pk-slot-body{display:flex;align-items:center;gap:4px;min-width:0;width:100%}.pk-slot-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600}.pk-slot-empty{font-size:12px;color:var(--pk-muted)}.pk-slot.is-target .pk-slot-empty{color:var(--pk-gold, #f2c14e);font-weight:600}.pk-hint{margin:0;font-size:12px;min-height:0;line-height:1.3;color:var(--pk-muted)}.pk-actions{display:flex;flex-wrap:wrap;gap:6px}.pk-act{flex:1 1 0;min-width:0;min-height:44px;padding:6px 10px;font-size:13px}.pk-spell-list{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:0}.pk-filters{display:flex;gap:6px;flex:0 0 auto}.pk-filter{flex:1 1 0;min-width:0;min-height:44px;padding:4px 6px;font-size:13px}.pk-rows{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:6px;padding-right:2px}.pk-srow{display:grid;grid-template-columns:minmax(0,1fr) 44px 56px;gap:4px;align-items:stretch;padding:3px;background:var(--pk-panel);border:1px solid var(--pk-line);border-radius:10px;flex:0 0 auto}.pk-srow.is-selected{border-color:var(--pk-gold, #f2c14e);box-shadow:inset 0 0 0 1px var(--pk-gold, #f2c14e)}.pk-srow-main{display:flex;align-items:center;gap:8px;min-width:0;min-height:48px;padding:4px 6px;background:none;border:0;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.pk-srow-text{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.pk-srow-text strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px}.pk-srow-sub{font-size:12px;color:var(--pk-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pk-srow-info,.pk-srow-up{min-width:44px;width:100%;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;background:var(--pk-panel-2);border:1px solid var(--pk-line);border-radius:8px;cursor:pointer;touch-action:manipulation}.pk-srow-info{font-size:18px}.pk-srow-up{font-size:22px;font-weight:800;color:var(--pk-gold, #f2c14e)}.pk-srow-up small{font-size:10px;font-weight:600;color:var(--pk-muted)}.pk-srow-up:disabled{opacity:.45;cursor:default;color:var(--pk-muted)}.pk-srow-up:not(:disabled):active,.pk-srow-info:active{transform:translateY(1px)}.pk-srow-none{display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--pk-muted)}.pk-icon{flex:0 0 auto;width:36px;height:36px;object-fit:contain}.pk-icon-missing{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--pk-panel-2);font-weight:700}.pk-empty{margin:8px 0;font-size:13px;color:var(--pk-muted)}.pk-muted{color:var(--pk-muted)}.pk-small{font-size:12px}.pk-detail{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:8px;background:#000a}.pk-detail-card{display:flex;flex-direction:column;gap:8px;width:min(560px,100%);max-height:100%;overflow-y:auto;padding:10px;background:var(--pk-panel);border:1px solid var(--pk-gold, #f2c14e);border-radius:var(--pk-radius);box-sizing:border-box}.pk-detail-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px;font-size:15px}.pk-detail-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.pk-dcard{display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px;background:var(--pk-panel-2);border:1px solid var(--pk-line);border-radius:8px;font-size:13px}.pk-kv{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;font-size:12px}.pk-kv span:nth-child(odd){color:var(--pk-muted)}.pk-effects{margin:0;padding-left:16px;font-size:12px}.pk-flash{animation:pk-spell-flash .6s ease-out}@keyframes pk-spell-flash{0%{box-shadow:0 0 #f2c14eaa;transform:scale(1.04)}to{box-shadow:0 0 0 10px #f2c14e00;transform:none}}@media (prefers-reduced-motion: reduce){.pk-flash{animation:none}}@media (max-width: 600px){.pk-spells{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.pk-bar-panel{overflow-y:visible}}@media (max-height: 380px){.pk-slot,.pk-srow-main,.pk-srow-info,.pk-srow-up{min-height:46px}}.fs-hint{position:fixed;z-index:50;left:calc(env(safe-area-inset-left,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);bottom:calc(env(safe-area-inset-bottom,0px) + 12px);display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:#3f2814f2;color:#f6ead2;font-size:13px;line-height:1.35;box-shadow:0 4px 16px #00000059}.fs-hint-text{margin:0;flex:1}.fs-hint-close{flex:none;min-height:36px;padding:6px 12px;border:1px solid #c9a24a;border-radius:8px;background:transparent;color:#f6ead2;font:inherit;cursor:pointer}
