:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Comic Sans MS", "Microsoft YaHei", "KaiTi", "Kaiti SC", "DFKai-SB", cursive, sans-serif;--heading:var(--sans);--mono:var(--sans);font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{width:100%;max-width:none;text-align:initial;box-sizing:border-box;border-inline:0;flex-direction:column;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#fff4e4;--paper:#fffaf1;--paper-2:#fff0dc;--ink:#3d2d25;--muted:#8a6f5b;--text:#8a6f5b;--text-h:#3d2d25;--line:#3d2d25;--panel:#fffaf1;--panel-2:#fff4df;--bg:#fff4e4;--blue:#5a84f6;--pink:#ff91b2;--green:#aeeac8;--gold:#ffd86b;--danger:#ff9db7;--z-modal-overlay:1200;--z-item-tip:1300;--z-rule-tip:1301;--paper-fiber:radial-gradient(circle at 12% 18%, #3d2d250b 0 1px, transparent 1.5px), radial-gradient(circle at 78% 64%, #3d2d2509 0 1px, transparent 1.5px), linear-gradient(112deg, #ffffff42, transparent 38%, #d2a06014);--table-wash:radial-gradient(circle at 16% 8%, #ffd86b40, transparent 24%), radial-gradient(circle at 86% 22%, #aeeac83b, transparent 22%), radial-gradient(circle at 50% 96%, #ff91b229, transparent 30%);--sketch-shadow:6px 7px 0 #3d2d252e, 0 18px 34px #70481e1a;--sketch-shadow-soft:3px 4px 0 #3d2d2521, 0 12px 24px #70481e14;--paper-tilt-left:-.65deg;--paper-tilt-right:.58deg;--paper-tilt-soft-left:-.28deg;--paper-tilt-soft-right:.32deg;--paper-tilt-deep-right:.76deg;--sticker-blue:#cfe7ff;--sticker-pink:#ffd5e2;--sticker-mint:#d9f8df;--status-poison:#4fbf62;--status-shield:#75bdf2;--fx-damage:#ef4444;--fx-heal:#16a34a;--fx-shield:#2563eb;--fx-utility:#7c3aed;--fx-success-wash:#aeeac861;--fx-danger-wash:#ff9db757;--ink-wash:#3d2d2547;--paper-edge-highlight:#ffffffc7;--paper-edge-stroke:inset 0 0 0 1px #3d2d2542, inset 0 2px 0 var(--paper-edge-highlight), inset 0 -3px 0 #70481e1f;--pressed-sketch-shadow:2px 3px 0 #3d2d2538;--selection-wash:#ffd86b57;--ornament-ink:#4a302457;--ornament-ink-soft:#7a563a33;--pencil-mark:#7a563a24;--paper-bounce-distance:2px;--edge-ornament-size:42px;--paper-grain:radial-gradient(circle at 18% 22%, #1f171417 0 1px, transparent 1.6px), radial-gradient(circle at 72% 64%, #1f17140e 0 1px, transparent 1.7px), repeating-linear-gradient(102deg, #1f171407 0 1px, transparent 1px 8px);--ornament-corner:radial-gradient(circle at 12px 12px, transparent 0 8px, var(--ornament-ink) 8px 10px, transparent 10px 100%), radial-gradient(circle at 28px 28px, transparent 0 6px, var(--ornament-ink-soft) 6px 7.5px, transparent 7.5px 100%), radial-gradient(circle at 34px 14px, var(--ornament-ink-soft) 0 1.5px, transparent 2px 100%), radial-gradient(circle at 14px 34px, var(--ornament-ink-soft) 0 1.25px, transparent 1.8px 100%);--ornament-scroll:radial-gradient(circle at 18px 18px, transparent 0 8px, var(--ornament-ink) 8px 10px, transparent 10px 100%), radial-gradient(circle at 38px 18px, transparent 0 7px, var(--ornament-ink-soft) 7px 9px, transparent 9px 100%), linear-gradient(0deg, transparent 0 13px, var(--ornament-ink) 13px 17px, transparent 17px 100%);--banner-ribbon:radial-gradient(circle at 12% 50%, #7a563a29 0 2px, transparent 2.5px), linear-gradient(180deg, #fff5dcd1, #efc69a6b);--hud-paper:var(--paper-grain), linear-gradient(180deg, #f7b0a6, #e9978e 54%, #db857f);--manuscript-lines:linear-gradient(104deg, transparent 0 22%, var(--pencil-mark) 22.2% 22.7%, transparent 23%), radial-gradient(circle at 12% 18%, var(--pencil-mark) 0 1px, transparent 1.4px), repeating-linear-gradient(0deg, transparent 0 18px, #1f17140d 18px 19px, transparent 19px 32px);--wood-grain:radial-gradient(ellipse at 17% 28%, #ffdea01f 0 9%, transparent 34%), radial-gradient(ellipse at 76% 72%, #4c2b161c 0 6%, transparent 29%), repeating-linear-gradient(96deg, #ffefcd14 0 1px, transparent 1px 18px), repeating-linear-gradient(87deg, #4628160b 0 1px, transparent 1px 24px), linear-gradient(95deg, #ffffff14, transparent 42%, #391f101a);--wood-frame:var(--wood-grain), linear-gradient(180deg, #a97843 0%, #815326 52%, #5e3a1f 100%);--wood-shadow:inset 0 5px 0 #ffe6b429, inset 0 -8px 0 #2f190d2e, inset 0 0 0 2px #3d23124d, 4px 6px 0 #3d2d252e, 0 16px 30px #70481e1f;--rough-ink-edge:linear-gradient(93deg, #3d2d2561, transparent 12% 88%, #3d2d2542), repeating-linear-gradient(176deg, #3d2d2533 0 2px, transparent 2px 17px);--lifted-paper-shadow:5px 7px 0 #3d2d2533, 0 18px 34px #70481e24, inset 0 1px 0 #ffffffad;--control-bevel:inset 0 3px 0 #ffffff8a, inset 0 -5px 0 #52321f2e, inset 3px 0 0 #ffffff2e, inset -3px 0 0 #52321f1f;--control-top-gloss:linear-gradient(180deg, #ffffff9e, #ffffff38 42%, transparent 72%);--control-cut-shadow:0 2px 0 #ffffff7a, inset 0 1px 0 #ffffff85, inset 0 -4px 0 #3d2d2524;--slot-cavity-shadow:inset 0 5px 9px #3d231233, inset 0 -3px 0 #ffe2a838, inset 4px 0 9px #3d231214, inset -4px 0 9px #3d231214;--handdrawn-font:"Comic Sans MS", "Microsoft YaHei", "KaiTi", "Kaiti SC", "DFKai-SB", cursive, sans-serif;--app-illustration-bg:url(/assets/backgrounds/dog-brawl-town.jpg);--slot-w:96px;--slot-h:108px;--board-slot-h:240px;--relic-slot-size:86px}*{box-sizing:border-box}html,body,#root{overflow-x:clip}body{min-width:320px;color:var(--ink);background:var(--page);background-image:var(--paper-fiber), var(--table-wash);font-family:var(--handdrawn-font);background-attachment:fixed;margin:0;font-size:17px;font-weight:700;line-height:1.45}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink)}h1{letter-spacing:0;font-size:24px}h2{font-size:21px}h3{font-size:18px}p,small{color:var(--muted)}.auth-shell{background:radial-gradient(ellipse at 50% 0%, #fffaf170, transparent 42%), linear-gradient(180deg, #fffaf161, #fff4e433), var(--app-illustration-bg);background-position:50%;background-size:cover;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:#fffaf1f0;border:1px solid #ead9c0f2;border-radius:18px;gap:18px;width:min(460px,100%);padding:26px;display:grid;box-shadow:0 20px 70px #70481e2e}.brand-block{align-items:center;gap:14px;display:flex}.brand-block.compact h1{font-size:20px}.game-logo{border:3px solid var(--ink);object-fit:cover;background:#fff;border-radius:14px;flex:none;width:58px;height:58px;box-shadow:4px 5px #3d2d252e}.mark{color:#fff;background:linear-gradient(135deg,#ff9f68,#ff6b9f);border-radius:14px;place-items:center;width:48px;height:48px;font-weight:950;display:grid;box-shadow:0 10px 24px #ff6b9f40}label{gap:7px;font-weight:850;display:grid}input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:12px 13px}.row,.stats,.topbar,.topbar-actions{align-items:center;gap:10px;display:flex}.language-selector{border:2px solid var(--line);background:#ffffffc7;border-radius:8px;align-items:center;gap:4px;padding:3px;display:inline-flex}.language-selector button{min-height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 9px;font-weight:900}.language-selector button.active{background:var(--blue);color:#fff}.action-button,.primary,.secondary,.danger-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:7px 14px;font-weight:900;display:inline-flex}.primary,.action-button{background:linear-gradient(135deg, var(--blue), #6a9cff);color:#fff;box-shadow:0 10px 20px #4f7cff2e}.secondary{color:#315fdd;background:#e9f0ff}.wide{width:min(184px,100%)}.error{color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:12px;padding:11px 13px}.feedback-layer{z-index:1200;pointer-events:none;gap:8px;display:grid;position:fixed;bottom:18px;right:18px}.ui-feedback-toast{border:3px solid var(--ink);background:var(--paper);min-width:min(260px,100vw - 36px);color:var(--ink);box-shadow:var(--sketch-shadow-soft);transform-origin:80% 100%;border-radius:12px 10px 13px 9px;padding:10px 13px;font-weight:950;animation:.56s ease-out both uiFeedbackToast}.ui-feedback-toast.success{background:linear-gradient(#f6fff4,#e3f8d9);border-color:#31b981c7}.ui-feedback-toast.reward{background:linear-gradient(#fffbea,#ffedb5);border-color:#fbbf24d1}.ui-feedback-toast.danger{background:linear-gradient(#fff7f7,#ffe0e8);border-color:#dc2626b8}.ui-feedback-toast.info{background:linear-gradient(#f5f8ff,#e7efff);border-color:#5a84f6b8}.feedback-flash-success{animation:.46s ease-out feedbackSuccessWash}.feedback-flash-danger{animation:.42s ease-out feedbackDangerShake}.app-shell{background:radial-gradient(ellipse at 50% 0%, #fffaf166, transparent 38%), linear-gradient(180deg, #fffaf157, #fff4e42e), var(--app-illustration-bg);background-position:50%;background-size:cover;background-attachment:fixed;gap:16px;min-height:100vh;padding:18px;display:grid;position:relative}.app-shell:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(at 50% 18%,#fffaf157,#0000 42%),linear-gradient(#fffaf138,#fff4e414);position:fixed;inset:0}.app-shell>*{z-index:1;position:relative}.topbar{background:var(--hud-paper), #fffaf1c7;border:1px solid var(--line);border-radius:18px;justify-content:space-between;padding:14px 16px;box-shadow:0 12px 34px #70481e1a}.app-shell.cosmetic-background-dog-park-night{--app-illustration-bg:url(/assets/backgrounds/storybook-dog-park.webp)}.app-shell.cosmetic-background-royal-kennel{--app-illustration-bg:url(/assets/backgrounds/storybook-royal-kennel.webp)}.topbar-profile{min-width:160px;box-shadow:var(--paper-edge-stroke);background:#fffaf1db;border:2px solid #3d2d2547;border-radius:12px;align-items:center;gap:9px;padding:6px 10px;display:inline-flex}.topbar-profile-avatar{border:2px solid var(--ink);width:36px;height:36px;color:var(--ink);background:#fff4df;border-radius:999px;flex:none;place-items:center;font-size:13px;font-weight:950;display:grid}.cosmetic-avatar-bone{background:linear-gradient(145deg,#fffaf1,#e9dcc2)}.cosmetic-avatar-crown{background:linear-gradient(145deg,#fff4b8,#ffb84d 66%,#f08a36)}.topbar-profile div{gap:1px;min-width:0;display:grid}.topbar-profile strong,.topbar-profile small{text-overflow:ellipsis;white-space:nowrap;max-width:138px;overflow:hidden}.topbar-profile small{color:#7a5135;font-size:12px}.dog-badge-skin-shiba-scarf,.dog-badge-skin-samoyed-snow{position:relative}.dog-badge-skin-shiba-scarf:after{content:"";z-index:3;pointer-events:none;background:linear-gradient(90deg,#b92334,#f04d5c 54%,#ffd1d7);border:2px solid #3d2d2585;border-radius:999px 999px 14px 14px;height:18%;position:absolute;bottom:12%;left:18%;right:18%;transform:rotate(-5deg);box-shadow:2px 3px #3d2d252e}.dog-badge-skin-samoyed-snow:after{content:"";z-index:3;pointer-events:none;background:radial-gradient(circle at 24% 18%,#fffffff2 0 3px,#0000 4px),radial-gradient(circle at 72% 28%,#c6e8ffe6 0 2px,#0000 3px),radial-gradient(circle at 48% 76%,#ffffffc7 0 2px,#0000 3px);border-radius:999px;position:absolute;inset:8%;box-shadow:inset 0 0 0 3px #d6efffa3,0 0 18px #a0d4ff6b}.battle-fx-gold-dice .battle-dice{filter:drop-shadow(0 0 13px #ffcd48b3)saturate(1.12)}.battle-fx-aurora-roll .battle-fx-canvas{z-index:2;mix-blend-mode:normal;filter:drop-shadow(0 0 18px #5b8dff94)hue-rotate(18deg)saturate(1.18)}.battle-fx-aurora-roll .battle-dice{filter:drop-shadow(0 0 12px #6bd3ff99)drop-shadow(0 0 18px #de80ff57)}.stats{flex-wrap:wrap;justify-content:center}.dog-trait-summary{background:#fff;border:1px solid #ffffffb3;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto auto minmax(0,1fr);align-items:center;column-gap:8px;max-width:min(430px,100%);min-height:42px;padding:6px 12px 6px 8px;display:grid;box-shadow:inset 0 -10px 20px #2530470a}.dog-trait-summary img{object-fit:contain;grid-row:1/3;width:32px;height:32px}.dog-trait-summary>span{color:var(--muted);font-size:11px;line-height:1}.dog-trait-summary strong{font-size:13px;line-height:1}.dog-trait-summary p{color:#667085;word-break:normal;overflow-wrap:break-word;grid-column:2/4;min-width:0;margin:0;font-size:12px;line-height:1.25;overflow:hidden}.resource-pill{background:#fff;border:1px solid #ffffffb3;border-radius:14px;grid-template-columns:auto auto;align-items:center;gap:1px 7px;min-height:42px;padding:7px 11px;display:inline-grid;box-shadow:inset 0 -10px 20px #2530470a}.resource-pill svg{grid-row:1/3}.resource-pill small{font-size:11px;line-height:1}.resource-pill b{line-height:1}.resource-pill.gold svg{color:#d79000}.resource-pill.win svg{color:#f59e0b}.resource-pill.safe svg{color:#0f9f6e}.resource-pill.danger svg{color:var(--danger)}.resource-pill.round svg{color:var(--blue)}.icon-button{color:#475467;border:1px solid var(--line);background:#fff;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.icon-button:hover{color:var(--blue);transform:translateY(-1px)}.dog-select,.choice-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.dog-card,.choice,.shop-shelf,.inventory-board,.match-panel,.battle-panel{border:1px solid var(--line);box-shadow:var(--lifted-paper-shadow);background:#fffaf1f0;border-radius:18px}.dog-card,.choice{min-height:178px;color:var(--ink);text-align:left;align-content:start;justify-items:start;gap:10px;padding:20px;display:grid}.dog-card:hover,.choice:hover,.shop-card:hover{box-shadow:var(--paper-edge-stroke), 0 18px 38px #70481e29;transform:translateY(-2px)}.dog-avatar{filter:drop-shadow(0 10px 14px #70481e2e);border-radius:20px;width:78px;height:78px}.dog-avatar.large{width:108px;height:108px}.dog-avatar.small{border-radius:16px;width:58px;height:58px}.shop-workbench{gap:10px;min-width:0;max-width:100%;min-height:calc(100vh - 170px);display:grid;position:relative}.reward-workbench,.enchant-workbench{gap:14px;min-width:0;max-width:100%;display:grid;position:relative}.class-reward-ceremony{cursor:pointer;outline:none;place-items:center;width:min(1180px,100%);min-height:min(720px,100vh - 148px);margin:0 auto;display:grid}.ceremony-stage{text-align:center;border:4px solid var(--ink);background:radial-gradient(circle at 50% 22%,#ffd35a73,#0000 28%),linear-gradient(#fffdf5,#fff4e4 72%,#ffe7cf);border-radius:14px;align-content:center;justify-items:center;gap:18px;width:min(900px,100%);min-height:520px;padding:28px;animation:.36s ease-out both ceremony-rise;display:grid;box-shadow:10px 12px #3d2d2538}.class-reward-ceremony:focus-visible .ceremony-stage{outline-offset:5px;outline:4px solid #5a84f661}.ceremony-round-badge{border:3px solid var(--ink);background:#89d9ff;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:950}.ceremony-dog-avatar{object-fit:contain;filter:drop-shadow(0 16px 18px #70481e38);border-radius:28px;width:148px;height:148px;animation:1.4s ease-in-out infinite ceremony-pulse}.ceremony-copy{gap:8px;max-width:680px;display:grid}.ceremony-copy span{color:#1f5ed5;text-shadow:0 1px #fffaf1e6,0 2px 5px #2b1f1933;font-size:14px;font-weight:950}.ceremony-copy h2{color:#2b1f19;text-shadow:0 2px #fffaf1db,0 5px 14px #2b1f193d;font-size:clamp(34px,7vw,62px);line-height:.95}.ceremony-copy p{color:#2b1f19f0;text-shadow:0 1px #fffaf1d6;font-size:17px;font-weight:850}.ceremony-reward-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(760px,100%);display:grid}.ceremony-reward-chip{border:3px solid var(--ink);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#fffbf1eb;border-radius:10px;align-content:center;gap:6px;min-height:84px;padding:11px;display:grid;box-shadow:4px 5px #3d2d2529}.ceremony-reward-chip strong{color:#2b1f19;word-break:normal;overflow-wrap:break-word;font-size:15px}.ceremony-reward-chip small{color:#2b1f19c7;font-weight:900}.ceremony-skip-hint{letter-spacing:0;color:#2b1f19b3;font-size:13px;font-weight:900}.enchant-ceremony .ceremony-stage{background:linear-gradient(#fffdf5,#f0fff7 58%,#e7f0ff)}.enchant-orb{border:4px solid var(--ink);color:#315fdd;background:#fffaf1;border-radius:24px;place-items:center;padding:24px;display:grid;box-shadow:6px 8px #3d2d252e}.enchant-chip{background:linear-gradient(#f7fffb,#eef5ff)}@keyframes ceremony-rise{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ceremony-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.reward-panel{background:var(--paper);border:3px solid var(--ink);border-radius:10px;gap:14px;padding:16px;display:grid;box-shadow:6px 7px #3d2d2538}.reward-choice.selected{background:var(--selection-wash), linear-gradient(145deg, #ffffffb8, #fff4e4eb);transform:rotate(-.25deg);box-shadow:inset 0 0 0 2px #3d2d2557,4px 5px #3d2d252e}.reward-choice-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px;display:grid}.reward-choice span:last-child,.relic-choice span:last-child{line-height:1.35}.enchant-panel{border-color:#315fdd}.enchant-choice{min-height:176px}.enchant-choice svg{color:#315fdd}.enchant-choice.selected{outline-offset:2px;outline:3px solid #315fdd59}.shop-shelf{width:100%;min-width:0;max-width:100%;box-shadow:none;background:0 0;border:0;justify-self:stretch;gap:14px;padding:8px 4px 14px;display:grid}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.section-title>div{gap:6px;min-width:0;display:grid}.shop-actions{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.sell-zone{color:#b4233d;white-space:nowrap;opacity:.72;background:#fff2f5;border:2px dashed #f3a0b2;border-radius:8px;align-items:center;gap:7px;min-height:36px;padding:6px 10px;font-weight:900;display:inline-flex}.sell-zone.active{opacity:1;box-shadow:0 10px 24px #e85d7529}.sell-zone.over{background:#ffd6df;border-color:#e85d75;transform:translateY(-1px)}.reroll-button{color:#08775a;background:#e6fff6;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:6px 10px;font-weight:900;display:inline-flex}.offer-row{grid-template-columns:repeat(5,minmax(218px,1fr));align-items:stretch;gap:12px;width:100%;min-width:0;display:grid}.shop-card{min-height:138px;color:var(--ink);text-align:left;background:#fffaf0;border:0;border-radius:10px 13px 9px 12px;grid-template:"quality title""art meta"52px"price description"/58px minmax(0,1fr);align-content:stretch;justify-items:start;gap:7px 10px;padding:12px 13px 10px;display:grid;position:relative}.shop-card.selected{outline-offset:2px;outline:3px solid #ff7aa86b;box-shadow:0 13px 24px #70481e2e,2px 4px #3d2d2529}.shop-card-unaffordable{filter:grayscale(.82)brightness(.68)saturate(.55);opacity:.72}.shop-card-unaffordable:hover{transform:none;box-shadow:4px 5px #3d2d252e}.shop-card-unaffordable:active,.action-button:disabled:active{filter:grayscale(.82)brightness(.68)saturate(.55);animation:.24s ease-out both invalidSketchShake}.shop-item-icon{filter:drop-shadow(0 8px 10px #70481e24);border-radius:14px;grid-row:1/4;width:52px;height:52px}.shop-card-main{flex-wrap:wrap;grid-area:title;place-content:flex-start;align-items:flex-start;gap:5px 6px;min-width:0;display:flex}.shop-card-meta{flex-wrap:wrap;grid-area:meta;align-content:start;align-items:start;gap:6px;min-width:0;display:flex}.dice-line,.effect-line,.price-tag{align-items:center;gap:5px;display:inline-flex}.effect-line{color:#667085;font-size:13px}.shop-card .effect-line{word-break:normal;overflow-wrap:break-word;background:#fffaf16b;border:1.5px solid #3d2d255c;border-radius:6px;align-self:stretch;width:100%;min-width:0;padding:7px 9px;line-height:1.35;display:block}.price-tag{color:#825a00;background:#fff3c4;border-radius:999px;min-height:22px;padding:3px 7px;font-size:12px;font-weight:950}.match-button{justify-self:end;min-width:132px}.size-badge{color:#253047;border-radius:999px;justify-content:center;align-items:center;min-width:34px;height:22px;padding:0 7px;font-size:12px;font-weight:950;display:inline-flex}.size-badge.starter{background:#ffe08a}.size-badge.heal{background:#a7f3d0}.size-badge.large{background:#ddd6fe}.size-badge.big{background:#fecdd3}.size-badge.utility{background:#bfdbfe}.item-tone-damage{--item-tone-main:#ef4444;--item-tone-soft:#fee2e2;--item-tone-ink:#7f1d1d;--item-art-glow:#ef444457}.item-tone-poison{--item-tone-main:#166534;--item-tone-soft:#bbf7d0;--item-tone-ink:#052e16;--item-art-glow:#14532d6b}.item-tone-shield{--item-tone-main:#3b82f6;--item-tone-soft:#dbeafe;--item-tone-ink:#1e3a8a;--item-art-glow:#3b82f652}.item-tone-heal{--item-tone-main:#86efac;--item-tone-soft:#ecfdf5;--item-tone-ink:#166534;--item-art-glow:#86efac57}.item-tone-weak{--item-tone-main:#a855f7;--item-tone-soft:#f3e8ff;--item-tone-ink:#581c87;--item-art-glow:#a855f757}.item-tone-freeze{--item-tone-main:#06b6d4;--item-tone-soft:#cffafe;--item-tone-ink:#164e63;--item-art-glow:#06b6d457}.item-tone-thorns{--item-tone-main:#f59e0b;--item-tone-soft:#fef3c7;--item-tone-ink:#78350f;--item-art-glow:#f59e0b57}.item-tone-economy{--item-tone-main:#eab308;--item-tone-soft:#fef9c3;--item-tone-ink:#713f12;--item-art-glow:#eab30857}.item-tone-growth{--item-tone-main:#84cc16;--item-tone-soft:#ecfccb;--item-tone-ink:#365314;--item-art-glow:#84cc1657}.item-tone-counter{--item-tone-main:#f97316;--item-tone-soft:#ffedd5;--item-tone-ink:#7c2d12;--item-art-glow:#f9731657}.item-tone-trigger{--item-tone-main:#6366f1;--item-tone-soft:#e0e7ff;--item-tone-ink:#312e81;--item-art-glow:#6366f157}.item-tone-utility{--item-tone-main:#0ea5e9;--item-tone-soft:#e0f2fe;--item-tone-ink:#0c4a6e;--item-art-glow:#0ea5e952}.size-badge[class*=item-tone-]{color:var(--item-tone-ink);background:var(--item-tone-soft);border:1px solid color-mix(in srgb, var(--item-tone-main) 42%, #5f4634)}.size-preview{grid-template-columns:repeat(4,13px);align-items:center;gap:2px;display:inline-grid}.size-preview i{background:#25304724;border-radius:999px;height:8px;box-shadow:inset 0 0 0 1px #25304714}.size-preview i.filled{background:linear-gradient(#ffb45d,#f59e0b)}.inventory-board{grid-template-rows:minmax(0,1fr) minmax(0,1fr);align-self:stretch;gap:8px;width:100%;min-width:0;max-width:100%;padding:10px;display:grid;overflow-x:visible}.inventory-board.expanded .grid-panel:first-child{background:#ffffff61;border-radius:20px;align-content:start;padding:6px}.bag-relic-row{grid-template-columns:220px minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.relic-rail{gap:10px;min-width:0;display:grid}.relic-slot-grid{grid-template-columns:repeat(2, var(--relic-slot-size));grid-template-rows:repeat(3, var(--relic-slot-size));border:3px solid var(--ink);background:#fff7d6;border-radius:12px;place-content:start center;gap:8px;padding:10px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffff8a}.relic-slot-grid:before{content:"";background:radial-gradient(circle at 20% 20%, #ffffffc2, transparent 23%), radial-gradient(circle at 74% 76%, #b5dcc738, transparent 28%), var(--paper-fiber);opacity:.72;pointer-events:none;border-radius:10px;position:absolute;inset:7px}.relic-slot{z-index:1;width:var(--relic-slot-size);height:var(--relic-slot-size);aspect-ratio:1;text-align:center;background:#fff4e4;border:2px solid #c0a98f;border-radius:8px;place-items:center;min-height:0;padding:6px;font-size:11px;display:grid;position:relative;overflow:hidden}.relic-slot:after{content:"";pointer-events:none;border:1px dashed #3d2d253d;border-radius:6px;position:absolute;inset:5px}.relic-icon-button{aspect-ratio:1;width:100%;height:100%;color:var(--ink);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.relic-icon-button:hover{background:#ffd86b59;box-shadow:inset 0 0 0 2px #3d2d252e}.relic-icon-button[aria-pressed=true]{background:var(--selection-wash), #ffd86b6b;box-shadow:inset 0 0 0 2px var(--ink), 0 0 0 4px #72a97d2e}.relic-icon-button:focus-visible{outline-offset:2px;outline:3px solid #5a84f680}.relic-glyph{object-fit:contain;filter:drop-shadow(0 4px 6px #2530472e);display:block}.relic-quality-dot{border:2px solid var(--ink);background:#f0b429;border-radius:999px;width:10px;height:10px;position:absolute;bottom:6px;right:6px}.relic-empty-mark{opacity:.65;border:2px dashed #c0a98f;border-radius:999px;width:14px;height:14px}.relic-floating-tip,.floating-tip.relic-floating-tip{width:min(320px,100vw - 28px)}.relic-tip-identity{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;min-width:0;display:grid}.relic-tip-icon{border:3px solid var(--ink);background:#fff7d6;border-radius:10px;place-items:center;width:64px;height:64px;display:grid;box-shadow:3px 4px #3d2d252e}.relic-tip-identity h3{overflow-wrap:anywhere;font-size:18px;line-height:1.2}.rule-term-wrap{vertical-align:baseline;max-width:100%;display:contents}.rule-term{color:#315fdd;max-width:100%;font:inherit;white-space:nowrap;word-break:normal;overflow-wrap:normal;cursor:pointer;background:0 0;border:0;padding:0;font-weight:950;text-decoration:underline;display:inline}.rule-tip{z-index:var(--z-rule-tip);border:2px solid var(--ink);background:var(--paper);width:min(260px,80vw);max-width:calc(100vw - 32px);color:var(--ink);text-align:left;overflow-wrap:anywhere;word-break:break-word;border-radius:8px;gap:4px;padding:10px;line-height:1.35;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:4px 5px #3d2d2533}.rule-tip-floating{left:var(--rule-tip-x);top:var(--rule-tip-y);pointer-events:auto;max-height:min(220px,100dvh - 32px);position:fixed;bottom:auto;overflow-y:auto}.rule-tip-floating.above{transform:translateY(-100%)rotate(-.35deg)}.rule-tip-floating.below{transform:rotate(-.35deg)}.rule-tip small{color:#6b5d53}.grid-panel{gap:10px;min-width:0;max-width:100%;min-height:0;display:grid}.grid-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px;min-width:0;display:flex}.grid-heading h3{align-items:center;gap:7px;display:inline-flex}.slot-grid{isolation:isolate;background:linear-gradient(#886a4d,#5e4937);border-radius:18px;gap:8px;width:100%;min-width:0;max-width:100%;padding:14px;display:grid;position:relative;box-shadow:inset 0 0 0 2px #ffffff2e}.slot{width:100%;min-width:0;height:var(--board-slot-h);background:linear-gradient(#f5d9ae,#e2b980);border:1px solid #ffffff42;border-radius:11px;padding:0}.slot.over{z-index:4;background:#c7f9df;outline:3px solid #31b98159}.item-card{--quality-frame-width:3px;--quality-frame-material:linear-gradient(135deg, #fffffff0, #d1d6debd 45%, #ffffffd1);--quality-frame-ink:#ffffffdb;--quality-frame-shadow:inset 0 -26px 36px #2530471f, 0 8px 18px #25304733;--quality-shimmer-opacity:0;--quality-shimmer-color:#ffffffd1;touch-action:none;z-index:2;color:#253047;border:var(--quality-frame-width) solid var(--quality-frame-ink);background:var(--paper-grain), var(--item-tone-soft,#dbeafe);min-width:0;box-shadow:var(--quality-frame-shadow);border-radius:12px;align-content:stretch;justify-items:center;padding:7px;font-size:12px;line-height:1.15;display:grid;position:relative;overflow:hidden}.item-art-window{aspect-ratio:1;background:radial-gradient(circle at 35% 24%, #fffc, transparent 24%), linear-gradient(135deg, var(--item-tone-soft), color-mix(in srgb, var(--item-tone-main) 32%, #fff7e8));width:100%;max-width:96px;box-shadow:0 0 18px var(--item-art-glow), inset 0 2px 0 #ffffffb8;border:2px solid #3d2d2561;border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.item-art-window[data-art-aspect=portrait]{aspect-ratio:4/5}.item-art-window[data-art-aspect=wide]{aspect-ratio:4/3}.item-art-window[data-art-aspect=panorama]{aspect-ratio:16/9}.item-art-window.icon-art:before{content:"";background:var(--item-tone-main);opacity:.28;filter:blur(8px);border-radius:999px;position:absolute;inset:10%}.item-card-icon-art{z-index:1;object-fit:contain;filter:drop-shadow(0 10px 14px #70481e33);width:min(74%,78px);height:min(74%,78px);position:relative}.item-card-copy{background:#fffaf1b8;border-radius:6px}.battle-item .item-art-window{min-height:42px}.shop-card-art{aspect-ratio:1;background:var(--paper-grain), var(--item-tone-soft);grid-area:art;place-self:start;width:52px;height:52px;min-height:0}.shop-card-art .item-card-icon-art{width:40px;height:40px}.tip-art-preview{z-index:1;border-radius:inherit;background:var(--paper-grain), var(--item-tone-soft);border:0;grid-area:1/1;width:100%;max-width:none;height:100%}.item-art-debug-gallery{color:#fff7e8;background:#2a1d18;min-height:100vh;padding:32px}.item-art-debug-header{justify-content:space-between;align-items:flex-end;gap:24px;max-width:1320px;margin:0 auto 24px;display:flex}.item-art-debug-header h1{color:#fff7e8;margin:8px 0;font-size:34px}.item-art-debug-header p{color:#fff7e8bd;margin:0}.item-art-debug-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:560px;display:flex}.item-art-debug-stats>span{color:var(--item-tone-ink)}.item-art-debug-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;max-width:1320px;margin:0 auto;display:grid}.item-art-debug-card{background:var(--paper-grain), var(--item-tone-soft);color:#253047;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px;min-height:142px;padding:12px;display:grid}.item-art-debug-card .item-art-window{max-width:82px}.item-art-debug-copy{gap:5px;min-width:0;display:grid}.item-art-debug-copy strong,.item-art-debug-copy small{overflow-wrap:anywhere}.item-art-debug-copy span,.item-art-debug-copy small{color:#253047b8;font-size:11px}.item-icon{filter:drop-shadow(0 4px 5px #25304729);align-self:start;width:30px;height:30px}.item-card span{text-align:center;font-weight:950}.item-card small{color:#253047b8;align-items:center;gap:3px;font-weight:850;display:inline-flex}.enchant-badge{color:#315fdd;background:#eff6ffe6;border:1px solid #315fdd6b;border-radius:999px;align-items:center;gap:3px;max-width:100%;padding:2px 6px;font-size:10px;line-height:1.1;display:inline-flex}.enchant-badge svg{flex:none}.item-card small.extra-trigger-dice{color:#7f5820;background:#fff4cddb;border:1px solid #7f582057;border-radius:999px;max-width:100%;padding:2px 6px}.item-card small.extra-trigger-dice svg{flex:none}.item-effect{text-align:center;word-break:normal;overflow-wrap:break-word;background:#fffaf16b;border-radius:5px;justify-content:center;width:100%;min-width:0;padding:2px 3px;font-size:10px;line-height:1.35;display:block}.item-effect.enchant-text{color:#315fdd;background:#eff6ffc7}.item-card .size-preview{grid-template-columns:repeat(4,9px);gap:2px}.item-card .size-preview i{height:6px}.item-card.starter{background:#facc15}.item-card.heal{background:#34d399}.item-card.large{background:#c4b5fd}.item-card.big{background:#fb7185}.item-card.utility{background:#60a5fa}.item-card.selected{outline-offset:2px;outline:3px solid #fff}.item-card.dragging{opacity:.35}.item-card.dragging:before,.item-card.dragging:after{display:none}.quality-chip{z-index:3;min-width:30px;color:var(--ink);background:#fffaf1eb;border:2px solid #3d2d25b8;border-radius:999px;padding:2px 5px;font-size:10px;font-weight:950;line-height:1.1;position:absolute;top:4px;left:4px}.shop-quality-chip{border-radius:6px;grid-area:quality;place-self:start;min-width:44px;min-height:24px;padding:3px 8px;font-size:11px;line-height:1.15;position:relative;top:auto;left:auto}.upgrade-indicator{z-index:4;border:2px solid var(--ink);width:22px;height:22px;color:var(--ink);background:#bff0d2;border-radius:999px;place-items:center;font-size:16px;font-weight:950;line-height:1;animation:1.5s ease-in-out infinite stickerWiggle;display:grid;position:absolute;top:4px;right:4px;box-shadow:0 0 12px #34d3998c}.item-card.upgrade-over{filter:brightness(1.08);transform:translateY(-2px)scale(1.03)}.drag-overlay-item{z-index:1000;pointer-events:none;cursor:grabbing;will-change:transform;contain:layout paint style;position:fixed;top:0;left:0;box-shadow:0 8px 16px #2530472e}.drag-overlay-item:before,.drag-overlay-item:after{display:none}.drag-overlay-ghost{border:3px solid var(--item-tone-ink);background:var(--item-tone-soft);min-width:0;color:var(--item-tone-ink);text-align:center;border-radius:10px;align-content:center;place-items:center;gap:4px;padding:8px;display:grid;overflow:hidden;box-shadow:0 8px 16px #2530472e}.drag-ghost-mark{background:#fffaf1b8;border:2px solid;border-radius:999px;place-items:center;width:30px;height:30px;font-size:18px;font-weight:950;line-height:1;display:grid}.drag-source-placeholder{border:2px dashed color-mix(in srgb, var(--item-tone-main) 72%, #3d2d25);background:color-mix(in srgb, var(--item-tone-soft) 72%, transparent);opacity:.52;border-radius:8px;width:100%;height:100%}.drag-overlay-ghost strong,.drag-overlay-ghost small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.paper-card{isolation:isolate;--paper-tilt:var(--paper-tilt-right);transform:rotate(var(--paper-tilt));box-shadow:var(--paper-edge-stroke), var(--lifted-paper-shadow);position:relative}.paper-card:nth-child(2n){--paper-tilt:var(--paper-tilt-left)}.paper-card:nth-child(3n){--paper-tilt:var(--paper-tilt-soft-right)}.paper-card:nth-child(4n){--paper-tilt:var(--paper-tilt-soft-left)}.paper-card:nth-child(5n){--paper-tilt:var(--paper-tilt-deep-right)}.paper-card:before{content:"";z-index:-1;border-radius:inherit;background:var(--rough-ink-edge), var(--ornament-corner) left 8px top 8px / var(--edge-ornament-size) var(--edge-ornament-size) no-repeat, var(--ornament-corner) right 8px bottom 8px / var(--edge-ornament-size) var(--edge-ornament-size) no-repeat;opacity:.72;clip-path:polygon(1% 3%,18% 1%,41% 2.5%,64% .5%,99% 2%,98% 76%,99% 97%,70% 99%,43% 97.5%,17% 99%,0 97%,1.5% 62%);pointer-events:none;border:2px solid #3d2d2529;position:absolute;inset:4px 5px 6px 4px;transform:rotate(-.35deg)}.paper-card:after{content:"";z-index:-2;border-radius:inherit;background:var(--paper-grain), var(--paper-fiber);box-shadow:var(--lifted-paper-shadow);opacity:.7;pointer-events:none;mix-blend-mode:multiply;position:absolute;inset:0}.reward-panel.paper-card{overflow:visible}.reward-panel.paper-card:before{content:"";background:linear-gradient(90deg, #ffffff73, #fff0 42%), var(--sticker-mint);border:2px solid #3d2d2538;border-radius:5px;width:88px;height:20px;position:absolute;top:-10px;left:26px;transform:rotate(-2.4deg);box-shadow:2px 3px #3d2d251f}.sketch-panel{background-image:var(--paper-fiber);box-shadow:var(--lifted-paper-shadow);position:relative}.sticker-card:before{content:"";z-index:2;pointer-events:none;background:#fff5beb8;border:2px solid #3d2d2533;border-radius:5px;width:54px;height:20px;position:absolute;top:-10px;right:14px;transform:rotate(-5deg);box-shadow:1px 2px #3d2d251f}.paper-shop-card .price-tag{background:#fff0a8;border:2px solid #3d2d256b;border-radius:7px;rotate:-2deg;box-shadow:2px 3px #3d2d251f}.paper-dog-card .dog-art-frame{background:var(--paper-fiber), radial-gradient(circle at 50% 72%, #aeeac859, transparent 42%), var(--paper);position:relative;overflow:hidden;box-shadow:inset 0 0 0 4px #fffaf1c2,2px 3px #3d2d251f}.paper-inventory{background:var(--paper-fiber), linear-gradient(180deg, #fffaf1fa, #ffefd5f5)}.paper-inventory .slot{z-index:1;background:var(--wood-grain), linear-gradient(180deg, #efd1a3, #d2a066), radial-gradient(ellipse at 50% 85%, #5c361b1f, transparent 54%);position:relative;box-shadow:inset 0 0 0 2px #5c361b33,inset 0 3px #ffffff94,inset 0 -10px 18px #3d2d251c,2px 3px #3d2d2514}.resource-pill:after,.dog-trait-summary:after,.speed-row button:after{content:"";border:1px dashed var(--pencil-mark);border-radius:inherit;background:var(--pencil-mark);opacity:.14;mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:4px 5px}.resource-pill,.dog-trait-summary,.speed-row button{position:relative;overflow:hidden}.sell-zone{position:relative}.sell-zone.over:after{content:"SELL";background:var(--sticker-pink);color:#9f1239;border:2px solid #3d2d2573;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:950;position:absolute;top:-13px;right:-11px;transform:rotate(8deg)}.shop-shelf:after,.inventory-board:after,.battle-stage:after,.reward-panel:after{content:"";z-index:0;border-radius:inherit;background:var(--rough-ink-edge), var(--manuscript-lines);opacity:.12;mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:10px 12px}.shop-shelf>*,.inventory-board>*,.battle-stage>*,.reward-panel>*{z-index:1;position:relative}.item-card.can-upgrade:after{content:"★";color:#f59e0b;text-shadow:1px 1px #fff7c2,-1px 1px #fff7c2;font-size:17px;line-height:1;position:absolute;bottom:4px;right:5px}.action-button:active,.primary:active,.secondary:active,.danger-button:active,.icon-button:active,.reroll-button:active{transform:translateY(2px)rotate(-.35deg);box-shadow:1px 2px #3d2d252e}.action-button:active,.primary:active,.secondary:active,.danger-button:active,.icon-button:active,.reroll-button:active,.log-toggle:active{transform:translateY(var(--paper-bounce-distance)) rotate(-.35deg) scale(.98);box-shadow:var(--pressed-sketch-shadow)}.floating-tip{left:var(--tip-x);top:var(--tip-y);z-index:var(--z-item-tip);overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--line);word-break:normal;overflow-wrap:break-word;background:#fffaf1fa;border-radius:18px;gap:12px;width:min(380px,100vw - 28px);min-width:0;max-width:calc(100vw - 28px);max-height:min(440px,100dvh - 28px);padding:16px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 24px 70px #2530473d}.floating-tip.paper-card{border:3px solid var(--ink);border-radius:12px;overflow:auto;box-shadow:8px 10px #3d2d252e,0 24px 70px #2530472e}.floating-tip.paper-card:before{content:"";background:var(--sticker-blue);border:2px solid #3d2d252e;border-radius:5px;width:64px;height:18px;position:absolute;top:-9px;right:24px;transform:rotate(3.2deg);box-shadow:2px 3px #3d2d251a}.enchant-tip{color:#315fdd;align-items:flex-start;gap:7px;font-weight:850;display:flex}.enchant-tip svg{flex:none;margin-top:1px}.tip-tags{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;max-width:100%;display:flex}.tip-tag{border:2px solid var(--ink);background:var(--paper-2);text-align:center;white-space:normal;overflow-wrap:anywhere;border-radius:7px;justify-content:center;align-items:center;min-width:72px;max-width:100%;min-height:31px;padding:4px 12px;font-size:15px;font-weight:950;line-height:1.15;display:inline-flex}.tip-tags .size-badge{border:2px solid var(--ink);text-align:center;white-space:normal;overflow-wrap:anywhere;border-radius:7px;min-width:72px;max-width:100%;height:auto;min-height:31px;padding:4px 12px;font-size:15px;line-height:1.15}.tip-body{grid-template-columns:120px 1fr;align-items:center;gap:16px;min-width:0;display:grid}.tip-identity{justify-items:center;gap:8px;min-width:0;display:grid}.tip-icon-frame{isolation:isolate;border:2px solid var(--ink);background:#e8f7e8;border-radius:10px;place-items:center;width:104px;height:104px;display:grid;position:relative;overflow:hidden}.tip-icon-frame.starter{background:#fff2b8}.tip-icon-frame.heal{background:#dcfce7}.tip-icon-frame.large{background:#ede9fe}.tip-icon-frame.big{background:#ffe4e6}.tip-icon-frame.utility{background:#dbeafe}.tip-icon-frame[class*=item-tone-]{background:var(--paper-grain), var(--item-tone-soft);border-color:var(--item-tone-ink);box-shadow:0 0 18px var(--item-art-glow)}.tip-icon{z-index:2;object-fit:contain;filter:drop-shadow(0 10px 14px #70481e2e);grid-area:1/1;width:74px;height:74px}.tip-identity h3{text-align:center;overflow-wrap:anywhere;max-width:100%;margin:0;font-size:18px;line-height:1.2}.tip-grid-preview{border:2px solid var(--ink);background:var(--paper-2);border-radius:9px;align-content:center;justify-items:center;gap:8px;min-width:0;min-height:62px;padding:10px;font-weight:950;display:grid}.tip-grid-preview .size-preview{grid-template-columns:repeat(4,22px);gap:4px}.tip-grid-preview .size-preview i{height:12px}.tip-dice{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tip-dice svg{border:2px solid var(--ink);background:var(--paper-2);width:44px;height:44px;color:var(--blue);border-radius:8px;padding:8px}.tip-dice span{border:2px solid var(--ink);background:var(--paper);border-radius:7px;place-items:center;width:42px;height:34px;font-size:18px;font-weight:950;display:grid;box-shadow:1px 2px #3d2d252e}.tip-dice.extra-trigger-dice{background:#fff4cd94;border:2px dashed #7f58208c;border-radius:8px;padding:8px 10px}.tip-dice.extra-trigger-dice svg,.tip-dice.extra-trigger-dice span{color:#7f5820;border-color:#7f5820b3}.tip-dice.extra-trigger-dice strong{color:#7f5820;font-size:14px;font-weight:950}.tip-description{border:2px solid var(--ink);background:var(--paper-2);min-width:0;min-height:78px;color:var(--ink);text-align:center;word-break:normal;overflow-wrap:break-word;border-radius:9px;margin:0;padding:14px;font-size:17px;font-weight:900;line-height:1.45;display:block}.tip-price{border:2px solid var(--ink);background:#ffe08a;border-radius:999px;justify-self:start;align-items:center;gap:7px;min-height:30px;padding:5px 10px;font-weight:950;display:inline-flex}.tip-actions{background:#fffaf1fa;gap:8px;padding-top:6px;display:grid;position:sticky;bottom:0}.disabled-reason{color:#b4233d}.match-panel,.battle-panel{justify-items:center;gap:10px;padding:12px;display:grid}.battle-hud{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;width:min(860px,100%);display:grid}.combatant{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.hp{gap:6px;width:100%;display:grid}.hp span{align-items:center;gap:6px;font-weight:850;display:inline-flex}.hp>div:not(.bone-health-bar):not(.status-effects):not(.shield-bar){background:#f2d7d7;border-radius:999px;height:16px;overflow:hidden}.hp>div:not(.bone-health-bar):not(.shield-bar)>i{background:linear-gradient(90deg,#31b981,#8be05a);height:100%;transition:width .2s;display:block}.hp .status-effects{background:0 0;border-radius:0;flex-wrap:wrap;align-items:center;gap:5px;height:auto;min-height:24px;display:flex;overflow:visible}.status-effects.positive,.status-effects.negative{justify-content:flex-start}.status-chip{appearance:none;white-space:nowrap;cursor:pointer;border:1px solid #1f29371f;border-radius:999px;align-items:center;gap:4px;max-width:100%;min-height:22px;padding:3px 7px;font-family:inherit;font-size:11px;font-weight:950;line-height:1;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex}.status-chip.shield,.status-chip.extraRoll{color:#1d4ed8;background:#dbeafe}.status-chip.thorns{color:#92400e;background:#fef3c7}.status-chip.fury{color:#c2410c;background:#ffedd5}.status-chip.poison{color:#15803d;background:#dcfce7}.status-chip.weak{color:#6d28d9;background:#ede9fe}.status-chip.freeze{color:#0369a1;background:#e0f2fe}.status-chip.disabled,.status-chip.more{color:#334155;background:#e2e8f0}.status-chip:hover,.status-chip:focus-visible{filter:brightness(1.03);outline-offset:2px;outline:2px solid #3d2d2540;transform:translateY(-1px);box-shadow:1px 2px #3d2d2533}.status-floating-tip{width:min(320px,100vw - 28px)}.status-tip-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.status-tip-title strong{color:var(--ink);font-size:18px}.status-tip-description{color:var(--ink);margin:0;font-weight:750;line-height:1.55}.hp .hp-bar:not(.bone-health-bar){background:#f2d7d7;border-radius:999px;height:18px;position:relative;overflow:hidden}.hp .hp-bar:not(.bone-health-bar) i{height:100%;transition:width .2s,left .2s;display:block;position:absolute;top:0;bottom:0}.hp-current{z-index:2;background:linear-gradient(90deg,#31b981,#8be05a);left:0}.hp-shield{z-index:1;background:#2563eb3d;border-right:3px solid #2563ebb8;left:0}.hp-preview.poison{z-index:3;background:repeating-linear-gradient(-45deg,#22c55e80,#22c55e80 5px,#15803d3d 5px 10px)}.shield-bar{background:#dbeafe;border:1px solid #2563eb38;border-radius:999px;height:18px;position:relative;overflow:hidden}.shield-bar i{background:linear-gradient(90deg,#38bdf8,#2563eb);min-width:14px}.shield-bar span{color:#143a72;text-shadow:0 1px #ffffff8c;justify-content:center;font-size:11px;line-height:1;position:absolute;inset:0}.battle-log{color:#e5e7eb;background:#253047;border-radius:18px;width:min(860px,100%);height:330px;padding:14px;overflow:auto}.battle-log p{padding:4px 0}.battle-log p.active-feedback{background:#ffd86b2e;border-radius:8px;margin-inline:-5px;padding-inline:7px;box-shadow:inset 4px 0 #ffd86bad}.battle-log .player{color:#a7c4ff}.battle-log .opponent{color:#ffb4c6}.battle-log .system{color:#fde68a}.battle-log p.poison{color:#22c55e;font-weight:900}.battle-log-filters{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:min(860px,100%);margin:2px auto 8px;display:flex}.battle-log-filter{border-radius:999px;min-height:30px;padding:5px 10px;font-size:12px}.battle-log-filter.active{color:#fff;background:var(--blue);box-shadow:0 3px #3d2d2538,inset 0 0 0 1px #fff6}.battle-log-empty{color:#fffaf1b8;font-weight:850}.speed-row{background:var(--paper-fiber), linear-gradient(180deg, #fffaf1f5, #edd0abe6);border:3px solid var(--ink);box-shadow:var(--control-bevel), 3px 4px 0 #3d2d252e;border-radius:999px;align-items:center;gap:10px;padding:5px;display:flex}.speed-row button{color:#475467;background:0 0;border-radius:999px;min-height:32px;padding:6px 10px;font-weight:900}.speed-row .active{background:var(--blue);color:#fff;position:relative;overflow:hidden}.speed-row .active:after{content:"";pointer-events:none;background:#ffffff70;border-radius:999px;height:8px;position:absolute;inset:3px 8px auto;transform:rotate(-2deg)}.result{justify-items:center;gap:10px;padding:16px;display:grid}.surprise-surface{isolation:isolate;position:relative;overflow:hidden}.surprise-surface:before{content:"";z-index:0;border-radius:inherit;background-image:linear-gradient(180deg, #fffaf19e, #ffefd5d1), var(--surprise-bg);opacity:.38;pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:0}.settlement-page{z-index:90;border-radius:0;place-items:center;width:100%;min-height:100vh;padding:18px;display:grid;position:fixed;inset:0;overflow:auto}.settlement-card{width:min(560px,100%);padding:22px}.settlement-score-grid span{background:#fffaf1b8;border-radius:9px;justify-items:center;gap:3px;padding:10px;display:grid;box-shadow:inset 0 0 0 2px #3d2d251a}.settlement-score-grid small{color:var(--muted);font-weight:900}.settlement-score-grid strong{color:var(--ink);font-size:28px}.visual-battle{isolation:isolate;grid-template-rows:auto auto minmax(190px,240px) auto auto auto;place-items:stretch stretch;gap:6px;width:min(1920px,100%);min-height:calc(100vh - 170px);margin:0 auto;padding:8px 10px;display:grid;position:relative;overflow:hidden}.battle-toolbar{grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:12px;display:grid}.battle-status{gap:4px;min-width:0;display:grid}.battle-toolbar p{color:var(--muted)}.battle-toolbar .speed-row{grid-template-columns:repeat(3,minmax(0,1fr));justify-self:end;width:auto;display:grid}.battle-equipment-row{z-index:1;--slot-h:142px;grid-template-columns:minmax(0,1fr) 168px;align-items:stretch;gap:4px;min-width:0;display:grid;position:relative;overflow-x:visible}.battle-row-title{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;min-width:max-content;font-weight:950;display:flex}.battle-row-title span{align-items:center;gap:7px;display:inline-flex}.battle-slot-grid{isolation:isolate;grid-column:1;grid-template-rows:var(--slot-h);background:var(--wood-grain), var(--wood-frame);width:100%;min-width:0;max-width:100%;box-shadow:var(--wood-shadow);border-radius:16px;gap:6px;padding:9px 9px 28px;display:grid;position:relative}.battle-slot-grid:before,.paper-inventory .slot-grid:before{content:"";z-index:0;background:var(--wood-grain), linear-gradient(90deg, #ffecc517, transparent 38%, #391f1012);opacity:.58;pointer-events:none;border-radius:12px;position:absolute;inset:7px}.battle-slot{z-index:1;width:100%;min-width:0;height:var(--slot-h);background:var(--wood-grain), linear-gradient(180deg, #efd1a3, #d2a066);border:1px solid #fff3;border-radius:11px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #5c361b33,inset 0 4px #ffffff61,inset 0 -10px 18px #3d2d251a}.paper-inventory .slot:before,.battle-slot:before{content:"";border-radius:inherit;box-shadow:var(--slot-cavity-shadow);pointer-events:none;position:absolute;inset:0}.paper-inventory .slot:after,.battle-slot:after{content:"";opacity:.58;pointer-events:none;background:linear-gradient(135deg,#ffffff4d,#0000 68%);border-radius:8px 8px 4px 4px;height:34%;position:absolute;inset:5px 6px auto}.slot.over:after{z-index:2;border-radius:inherit;opacity:.95;background:radial-gradient(circle,#bbf7d09e,#0000 68%),linear-gradient(135deg,#ffffff5c,#0000 62%);border:3px solid #22c55ead;height:auto;inset:-2px;box-shadow:0 0 0 3px #bbf7d06b,0 0 20px #22c55e94}.battle-item{width:100%;height:var(--slot-h);isolation:isolate;cursor:pointer;text-align:center;grid-template-rows:64px 21px 22px;align-content:stretch;justify-items:center;gap:2px;min-height:142px;padding:8px 6px 18px;display:grid;overflow:visible}.battle-item:hover{filter:brightness(1.04)}.battle-item:hover,.battle-item:focus-visible,.battle-item.trigger-count-pop{z-index:8}.battle-item .quality-chip{z-index:5;white-space:nowrap;max-width:calc(100% - 12px);padding:2px 6px;position:absolute;top:6px;left:6px}.battle-enchant-overlay{color:#315fdd;min-width:0;max-width:100%;font-size:var(--battle-info-size,10px);white-space:nowrap;text-overflow:ellipsis;background:#eff6ffeb;border:1px solid #315fdd61;border-radius:999px;align-items:center;gap:3px;padding:2px 5px;font-weight:950;line-height:1.1;display:inline-flex;overflow:hidden}.battle-enchant-overlay svg{flex:none}.battle-item-icon-frame{background:radial-gradient(circle at 35% 24%, #ffffffd1, transparent 25%), linear-gradient(135deg, var(--item-tone-soft,#eaf2ff), color-mix(in srgb, var(--item-tone-main,#60a5fa) 26%, #fff7e8));width:62px;min-width:62px;height:62px;min-height:62px;box-shadow:0 0 18px var(--item-art-glow,#60a5fa42), inset 0 2px 0 #ffffffbd;border:2px solid #3d2d255c;border-radius:8px;grid-row:1;place-self:center;place-items:center;display:grid;position:relative;overflow:hidden}.battle-item-icon-frame:before{content:"";background:var(--item-tone-main,#60a5fa);opacity:.22;filter:blur(8px);border-radius:999px;width:38px;height:38px;position:absolute}.battle-item .item-icon{z-index:1;object-fit:contain;filter:drop-shadow(0 8px 10px #70481e38);width:56px;height:56px;position:relative}.battle-item-name{color:#253047;width:100%;min-width:0;height:21px;font-size:var(--battle-name-size,13px);white-space:nowrap;text-overflow:ellipsis;background:#fffaf1b8;border-radius:6px;grid-row:2;align-self:stretch;place-items:center;padding:1px 4px;font-weight:950;line-height:1;display:grid;overflow:hidden}.battle-item-info{grid-row:3;grid-template-columns:minmax(0,1fr) auto auto;align-self:stretch;place-items:center;gap:3px;width:100%;min-width:0;min-height:22px;display:grid;overflow:hidden}.battle-item-dice,.battle-item-growth-number{white-space:nowrap;text-overflow:ellipsis;color:#4c3729;width:100%;min-width:0;max-width:100%;height:20px;font-size:var(--battle-info-size,11px);background:#fffaf1d1;border-radius:999px;justify-content:center;align-items:center;gap:2px;padding:1px 4px;font-weight:950;line-height:1;display:inline-flex;overflow:hidden}.battle-item-growth-number{color:#b45309;font-variant-numeric:tabular-nums;width:auto;min-width:22px}.battle-item span{overflow-wrap:anywhere;max-width:100%}.battle-item small{font-size:11px}.battle-item .battle-card-effect{display:none}.battle-item.frog-reservoir-card{isolation:isolate;position:relative}.settlement-page.surprise-surface:before{opacity:.82;background-position:50%,50%,50% 48%;background-size:cover,cover,auto 132%}.settlement-page.surprise-surface:after{background:radial-gradient(at 50% 48%,#fff8e26b,#0000 58%),linear-gradient(#fffaf13d,#462a191a)}.battle-item.frog-reservoir-card>:not(.frog-reservoir-fill){z-index:1;position:relative}.frog-reservoir-fill{z-index:0;border-radius:inherit;pointer-events:none;background:linear-gradient(#5cd6a852,#20b5999e 58%,#117967d1);min-height:0;transition:height .28s ease-out;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 10px 16px #ecfdf566,inset 0 -8px 18px #065f4657}.frog-reservoir-fill:before{content:"";opacity:.82;background:linear-gradient(90deg,#ffffff0d,#ffffff85,#ffffff14);border-radius:50%;height:12px;animation:1.4s ease-in-out infinite frogReservoirRipple;position:absolute;top:-6px;left:-12%;right:-12%}.battle-item-trigger .frog-reservoir-fill{animation:.48s ease-out frogReservoirFlash}.battle-item.active{outline:4px solid #fffffff2;animation:.58s ease-in-out 2 itemPulse;box-shadow:0 0 0 5px #fbbf2461,0 0 28px #fbbf24e6,inset 0 -26px 36px #2530471a}.battle-item-trigger{animation:.5s ease-out battleTriggerStamp,.58s ease-in-out 2 itemPulse,.74s ease-out meteorSourcePulse}.battle-item-trigger:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,#0000 20%,#ffffff8c,#0000 70%);border:2px dashed #3d2d2559;animation:.72s ease-out paperShimmer;position:absolute;inset:6px}.battle-item-vfx-target{z-index:10;outline:4px solid #fff8dbf0;animation:.72s ease-out meteorTargetPulse;box-shadow:0 0 0 5px #ffffff85,0 0 30px #facc15db,0 0 48px #38bdf86b,inset 0 0 24px #ffffff75}.battle-item-vfx-target:after{content:"";z-index:7;border-radius:inherit;mix-blend-mode:normal;pointer-events:none;background:linear-gradient(115deg,#0000 16%,#fffffff0 34%,#7dd3fca3 45%,#0000 66%);animation:.72s ease-out meteorTargetSweep;position:absolute;inset:-8px}.battle-item.boom-counter,.battle-item.freeze-stack{padding-bottom:52px}.boom-counter-meter,.freeze-stack-meter{color:#253047;background:#fffaf1b8;border:1px solid #3d2d2559;border-radius:999px;place-items:center;height:14px;font-size:9px;font-weight:950;line-height:1;display:grid;position:absolute;bottom:29px;left:7px;right:7px;overflow:hidden;box-shadow:inset 0 1px #ffffffad}.boom-counter-meter i,.freeze-stack-meter i{border-radius:inherit;background:linear-gradient(90deg,#fbbf24b8,#ef4444b8);min-width:0;transition:width .22s ease-out;position:absolute;inset:0 auto 0 0}.freeze-stack-meter i{background:linear-gradient(90deg,#bae6fdc7,#0ea5e9c7)}.boom-counter-meter b,.freeze-stack-meter b{z-index:1;text-shadow:0 1px #ffffffbf;position:relative}.battle-item.boom-counter-pop .boom-counter-meter,.battle-item.freeze-stack-pop .freeze-stack-meter{animation:.42s ease-out boomCounterCharge}.battle-item.boom-counter-pop:before,.battle-item.freeze-stack-pop:before{content:"+1";z-index:5;color:#ef4444;pointer-events:none;background:#fff4e4;border:2px solid #3d2d25c7;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:950;animation:.56s ease-out both boomCounterFloat;position:absolute;top:8px;right:8px}.battle-item.freeze-stack-pop:before{color:#0284c7;background:#effaff}.trigger-count-stamp{z-index:6;color:#ef4444;white-space:nowrap;word-break:normal;overflow-wrap:normal;text-shadow:1px 1px #ffffffd6,-1px 0 #ffffff80;pointer-events:none;background:#fff4e4;border:2px solid #3d2d25d1;border-radius:999px 12px 999px 14px;justify-content:center;align-items:center;min-width:42px;padding:2px 9px 3px;font-size:13px;font-weight:950;line-height:1;display:inline-flex;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)rotate(-3deg);box-shadow:0 3px #3d2d253d,0 0 0 3px #ffe08a6b}.trigger-count-stamp:after{content:"";background:#ef44446b;border-radius:999px;height:2px;position:absolute;bottom:2px;left:7px;right:7px;transform:rotate(-2deg)}.trigger-count-stamp.empty{color:#3d2d2594;background:#fffaf1c2;box-shadow:0 2px #3d2d2529}.battle-item.trigger-count-pop .trigger-count-stamp{animation:.48s cubic-bezier(.2,1.7,.35,1) triggerCountStampPop}.battle-stage{z-index:1;background:linear-gradient(#ffffff8c,#fff4dfd9),radial-gradient(circle at 50% 78%,#31b98138,#0000 34%);border:1px solid #ead9c0f2;border-radius:22px;grid-template-columns:minmax(220px,1fr) minmax(120px,.34fr) minmax(220px,1fr);align-items:center;gap:12px;min-height:190px;max-height:240px;padding:14px;display:grid;position:relative;overflow:hidden}.battle-fx-stage{pointer-events:none;z-index:80;position:absolute;inset:0;overflow:visible}.battle-fx-canvas{z-index:2;mix-blend-mode:normal;filter:drop-shadow(0 0 10px #ffffff80);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.battle-feedback-burst{z-index:3;border:3px solid var(--ink);background:var(--paper);min-width:42px;min-height:34px;color:var(--ink);box-shadow:var(--sketch-shadow-soft);border-radius:999px 850px 920px 780px;place-items:center;padding:4px 10px;font-weight:950;animation:.56s ease-out both feedbackBurstPop;display:grid;position:absolute;top:39%;left:50%;transform:translate(-50%,-50%)rotate(-3deg)}.battle-feedback-burst.damage,.battle-feedback-burst.miss{color:var(--fx-damage)}.battle-feedback-burst.heal{color:var(--fx-heal)}.battle-feedback-burst.shield{color:var(--fx-shield)}.battle-feedback-burst.poison,.battle-feedback-burst.weak,.battle-feedback-burst.freeze,.battle-feedback-burst.thorns,.battle-feedback-burst.utility{color:var(--fx-utility)}.battle-dog{z-index:2;justify-items:center;gap:6px;min-width:0;transition:transform .18s,filter .18s,opacity .18s;display:grid;position:relative}.battle-stage .battle-dog{grid-row:1;grid-template-rows:auto auto;grid-template-columns:minmax(170px,260px) auto;justify-content:center;align-items:center;column-gap:10px}.battle-stage .battle-dog .hp{grid-row:1/span 2}.battle-stage .battle-dog.opponent{grid-column:1}.battle-stage .battle-dog.player{grid-column:3}.battle-dog .hp{border:1px solid var(--line);background:#ffffffe6;border-radius:16px;width:min(260px,100%);padding:7px;position:relative;box-shadow:0 10px 20px #70481e1a}.battle-dog-img{filter:drop-shadow(0 18px 24px #70481e33);border-radius:18px;width:clamp(92px,11vw,132px);height:clamp(92px,11vw,132px)}.battle-stage .battle-dog-img{width:clamp(88px,8vw,112px);height:clamp(88px,8vw,112px)}.battle-dog.poisoned .battle-dog-img{filter:drop-shadow(0 18px 24px #70481e33)drop-shadow(0 0 14px #22c55e73)}.battle-dog strong{font-size:16px}.battle-dog.player.attacking{animation:.36s playerLunge}.battle-dog.opponent.attacking{animation:.36s opponentLunge}.battle-dog.hit{animation:.28s dogHit}.battle-dog.vfx-target-damage .battle-dog-img{filter:drop-shadow(0 18px 24px #70481e33)drop-shadow(0 0 12px #ef444473);animation:.32s vfxDamageJolt}.battle-dog.vfx-target-heal .battle-dog-img{filter:drop-shadow(0 18px 24px #70481e33)drop-shadow(0 0 16px #34d39980)}.battle-dog.vfx-target-heal .hp:after,.battle-dog.vfx-target-shield .battle-dog-img:after{content:"";pointer-events:none;border:2px solid #60a5fab8;border-radius:18px;animation:.62s ease-out meteorImpactGlow;position:absolute;inset:-6px;box-shadow:0 0 14px #60a5fa47,0 0 34px #ffffff5c}.battle-dog.vfx-target-heal .hp:after{border-color:#34d399b8;animation:.62s ease-out meteorImpactGlow;box-shadow:0 0 16px #34d39957,0 0 36px #ffffff61}.battle-dog.vfx-target-poison .battle-dog-img{filter:drop-shadow(0 18px 24px #70481e33)drop-shadow(0 0 15px #22c55e6b)saturate(1.16)}.battle-dog.vfx-target-weak .battle-dog-img{filter:drop-shadow(0 18px 24px #70481e33)hue-rotate(24deg)saturate(.82)}.battle-dog.vfx-target-freeze .battle-dog-img{filter:drop-shadow(0 18px 24px #70481e33)drop-shadow(0 0 14px #38bdf880)}.battle-dog.healing:after{content:"";aspect-ratio:1;border:4px solid #34d39994;border-radius:999px;width:min(220px,70%);animation:.7s ease-out healRing;position:absolute;top:42%}.battle-dog.winner{animation:.7s ease-in-out infinite alternate winnerHop}.battle-dog.loser{opacity:.55;filter:grayscale(.4)brightness(.82)}.battle-stage .battle-dice{grid-area:1/2}.battle-dice{z-index:4;border:1px solid var(--line);text-align:center;background:#ffffffe0;border-radius:16px;grid-area:1/2;place-items:center;gap:6px;min-height:104px;padding:12px;display:grid;position:relative;box-shadow:0 16px 34px #70481e24}.battle-dice svg{color:var(--blue)}.battle-dice b{color:#825a00;background:#fff3c4;border-radius:16px;place-items:center;width:44px;height:44px;font-size:23px;font-weight:950;display:grid}.battle-dice span{color:var(--muted);font-size:13px;font-weight:850}.battle-dice.rolling b{animation:.38s dicePop}.battle-dice.rolling .dynamic-dice-cube{animation:.58s cubic-bezier(.2,1.35,.28,1) battleDiceCubeSpin}.dynamic-dice-face{color:#3d2d25;backface-visibility:hidden;background:radial-gradient(circle at 30% 20%,#ffffffdb,#0000 28%),linear-gradient(145deg,#fffdf1 0%,#fff4bf 58%,#f2ca76 100%);border:3px solid #3d2d25d6;border-radius:18px;place-items:center;display:grid;position:absolute;inset:0;box-shadow:inset 0 7px #ffffff9e,inset -7px -9px #8e5c2421}.dynamic-dice-face.front{z-index:2;width:48%;height:48%;box-shadow:none;background:0 0;border:0;border-radius:0;inset:30% auto auto 18%;transform:none}.dynamic-dice-face.top,.dynamic-dice-face.side{display:none}.dynamic-dice-pips{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:0;width:100%;height:100%;display:grid}.dynamic-dice-pips i{opacity:0;background:currentColor;border-radius:999px;place-self:center;width:11px;height:11px;box-shadow:inset 1px 1px #ffffff3d,1px 1px #ffffff80}.dynamic-dice-pips i.active{opacity:1}.dynamic-dice-face.top .dynamic-dice-pips,.dynamic-dice-face.side .dynamic-dice-pips{display:none}.battle-dice b.dynamic-dice-value{z-index:3;width:30px;height:30px;color:var(--ink);background:radial-gradient(circle at 34% 24%,#ffffffd1,#0000 30%),linear-gradient(#fff7d6,#f2cd78);border:3px solid #3d2d25c7;border-radius:999px;place-items:center;margin-top:-4px;font-size:19px;line-height:1;display:grid;position:absolute;bottom:11px;right:13px;box-shadow:inset 0 4px #ffffff8c,4px 5px #3d2d2529}.dynamic-dice-player .dynamic-dice-value{color:#14532d;background:linear-gradient(#dcfce7,#86efac)}.dynamic-dice-opponent .dynamic-dice-value{color:#7f1d1d;background:linear-gradient(#fee2e2,#fca5a5)}.dynamic-dice-system .dynamic-dice-value{color:#4b3b2f;background:linear-gradient(#fff7ed,#fed7aa)}.battle-dice.rolling .dynamic-dice-value{animation:.58s cubic-bezier(.16,1.55,.22,1) battleRollResultPop}@keyframes battleDiceCubeSpin{0%{transform:rotate(-4deg)translateY(0)scale(.96)}42%{transform:rotate(10deg)translateY(-15px)scale(1.18)}to{transform:rotate(-4deg)translateY(0)scale(1)}}.handdrawn-stage:before{content:"";pointer-events:none;background:radial-gradient(#60472d2e,#0000 68%);border-radius:50%;height:58px;position:absolute;bottom:20px;left:8%;right:8%;transform:rotate(-1deg)}.handdrawn-dice{background:var(--paper-fiber), #fff8d7;border-width:3px;transform:rotate(-1deg)}.battle-dog.status-poison:before{content:"";z-index:1;filter:blur(1px);pointer-events:none;background:radial-gradient(circle,#4fbf6247,#0000 65%);border-radius:50%;width:132px;height:94px;animation:1.2s ease-in-out infinite alternate poisonMist;position:absolute;top:48%}.battle-dog.status-shield:after{content:none}.battle-dog.status-shield .battle-dog-img:after{content:"";z-index:2;pointer-events:none;border:3px solid #75bdf29e;border-radius:999px;position:absolute;inset:-18px;box-shadow:inset 0 0 24px #75bdf22e,0 0 18px #75bdf22e}.handdrawn-result{border:3px solid var(--ink);background:var(--paper);animation:.34s ease-out both resultCardFlip;transform:rotate(-.45deg)}.battle-log-shell{justify-items:end;gap:6px;display:grid}.battle-continue-row{place-items:center;min-height:40px;display:grid}.forfeit-run-action{border:3px solid var(--ink);width:min(760px,100%);color:var(--ink);background:#fffaf1f0;justify-content:space-between;align-items:center;gap:12px;margin:4px auto 0;padding:12px 14px;display:flex;box-shadow:5px 6px #3d2d2533,0 14px 28px #70481e24}.forfeit-run-action div{gap:4px;display:grid}.forfeit-run-action strong{color:var(--ink);font-size:24px;font-weight:950;line-height:1.08}.forfeit-run-action span{color:#3d2d25db;font-size:15px;font-weight:900;line-height:1.42}.forfeit-run-action .danger-button{flex:none}.log-toggle{color:#475467;border:1px solid var(--line);background:#fff;border-radius:999px;min-height:34px;padding:6px 12px;font-weight:900;position:relative;overflow:hidden}.visual-battle .battle-log{border-radius:14px;width:100%;height:72px}.battle-log-shell.open .battle-log{height:260px}.auth-shell{color:var(--ink);position:relative}.app-shell{grid-template-rows:auto auto;align-content:start;gap:0;padding:0 24px 20px;display:grid;position:relative}.app-visual-layer{display:contents}.screen-content{align-self:start;justify-items:center;gap:16px;width:min(1920px,100vw - 48px);min-width:0;margin:12px auto 0;display:grid;position:relative}.auth-panel,.topbar,.chapter-progress,.dog-card,.choice,.shop-shelf,.inventory-board,.match-panel,.battle-panel,.floating-tip{border:3px solid var(--ink);background:#fffaf1c7;border-radius:10px;box-shadow:6px 7px #3d2d2538}.auth-panel{text-align:left;justify-items:stretch;width:min(450px,100vw - 44px);padding:34px}.auth-panel .brand-block{text-align:center;justify-content:center;justify-items:center;gap:12px;display:grid}.auth-panel .game-logo{border-radius:22px;width:96px;height:96px}.auth-panel h1{font-size:34px;font-weight:950}.auth-panel .brand-block>div{justify-items:center;gap:6px;display:grid}.auth-panel .row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.auth-panel .row .action-button{width:100%}.topbar{background:var(--hud-paper);border-width:0 0 3px;border-radius:0;justify-content:center;align-self:start;width:100vw;height:58px;min-height:0;margin-left:calc(50% - 50vw);padding:4px 16px;position:relative;box-shadow:inset 0 -8px #1f17141a}.topbar:before{content:"";z-index:0;background:var(--control-top-gloss);opacity:.68;pointer-events:none;height:22px;position:absolute;top:0;left:0;right:0}.topbar:after{content:"";background:var(--ornament-scroll);pointer-events:none;filter:drop-shadow(2px 3px #3d2d252e);background-position:0,100%,bottom;background-repeat:no-repeat;background-size:32px 32px,32px 32px,100% 5px;width:94px;height:32px;position:absolute;bottom:-22px;right:18px}.topbar>.brand-block,.topbar>.stats,.topbar>.topbar-actions{z-index:1;position:relative;transform:translate(0)}.topbar>.brand-block{min-width:260px}.topbar>.stats{margin-left:84px}.brand-block.compact h1{font-size:24px;font-weight:950}.brand-block.compact .game-logo{border-radius:10px;width:42px;height:42px}.resource-pill{border:3px solid var(--ink);background:var(--paper);min-height:32px;box-shadow:var(--control-bevel), 3px 4px 0 #3d2d252e;border-radius:8px;padding:4px 8px;position:relative}.dog-trait-summary{border:3px solid var(--ink);background:var(--paper);max-width:min(460px,38vw);min-height:32px;box-shadow:var(--control-bevel), 3px 4px 0 #3d2d252e;border-radius:8px;padding:4px 10px 4px 7px}.resource-pill:before,.dog-trait-summary:before{content:"";background:var(--control-top-gloss);height:38%;box-shadow:var(--control-bevel);opacity:.58;pointer-events:none;border-radius:5px 5px 3px 3px;position:absolute;inset:3px 4px auto}.dog-trait-summary img{width:28px;height:28px}.resource-pill.win{background:#bff0d2}.resource-pill.danger{background:#ff9db7}.resource-pill.safe{background:#bff0d2}.resource-pill.gold{background:#ffe08a}.resource-pill.round{background:#89d9ff}.icon-button,.action-button,.primary,.secondary,.danger-button,.reroll-button,.log-toggle,.speed-row button{border:3px solid var(--ink);box-shadow:var(--control-bevel), 4px 5px 0 #3d2d253d;border-radius:9px;font-weight:950;position:relative}.action-button,.primary,.secondary,.danger-button{border-radius:7px;min-height:40px;padding:7px 14px;position:relative;overflow:hidden}.action-button:after,.primary:after,.secondary:after,.danger-button:after,.log-toggle:after{content:"";pointer-events:none;background:linear-gradient(#ffffff6b,#fff0);border-radius:6px 6px 3px 3px;height:34%;position:absolute;inset:4px 5px auto;transform:rotate(-.45deg)}.icon-button:before,.action-button:before,.primary:before,.secondary:before,.danger-button:before,.reroll-button:before,.log-toggle:before,.speed-row button:before{content:"";background:var(--control-top-gloss);opacity:.62;pointer-events:none;border-radius:5px 5px 3px 3px;height:35%;position:absolute;inset:3px 4px auto}.action-button:hover,.primary:hover,.secondary:hover,.danger-button:hover,.log-toggle:hover{transform:translateY(-1px)rotate(-.35deg);box-shadow:5px 6px #3d2d2538}button.primary.action-button,button.action-button:not(.secondary){justify-self:center;width:min(184px,100%);min-width:0}.primary,.action-button{color:#fff;background:#5a84f6}.secondary{background:var(--paper);color:var(--ink)}.danger-button{color:var(--ink);background:#ffd8df}input{border:3px solid var(--ink);background:var(--paper);border-radius:10px}.chapter-progress{width:640px;max-width:calc(100vw - 80px);box-shadow:none;background:0 0;border:0;grid-template-columns:repeat(6,1fr);align-items:start;gap:0;margin:18px auto 0;padding:0;display:grid}.chapter-step{color:var(--muted);justify-items:center;gap:4px;font-weight:850;display:grid;position:relative}.chapter-step:not(:last-child):after{content:"";background:#d8c8b5;width:calc(100% - 44px);height:4px;position:absolute;top:18px;left:calc(50% + 22px)}.chapter-step.done:not(:last-child):after{background:#bff0d2}.chapter-step b{border:3px solid var(--ink);background:var(--paper);width:38px;height:38px;color:var(--ink);border-radius:999px;place-items:center;font-size:18px;display:grid}.chapter-step.done b{background:#bff0d2}.chapter-step.current b{color:#fff;background:#5a84f6}.page-nav{z-index:40;background:var(--paper);border:3px solid var(--ink);border-radius:10px;gap:8px;width:118px;padding:12px;font-size:12px;display:grid;position:fixed;bottom:18px;left:16px;box-shadow:4px 5px #3d2d2533}.page-nav span{border:2px solid var(--ink);background:var(--paper);border-radius:6px;min-height:26px;padding:4px 7px;font-weight:850}.page-nav span.active{background:#ffe08a}.screen-heading{gap:10px;display:grid}.screen-heading p{color:var(--muted)}.screen-heading.centered{text-align:center;justify-items:center;position:relative}.screen-heading.centered:before{content:"";background:var(--banner-ribbon);pointer-events:none;border:2px solid #7a563a2e;border-radius:999px 10px;width:min(280px,64vw);height:13px;margin-bottom:-20px;transform:rotate(-.6deg);box-shadow:2px 3px #7a563a1a}.screen-heading.centered>*{z-index:1;position:relative}.mode-lobby-screen,.apex-screen{gap:18px;width:min(1120px,100%);margin:0 auto;display:grid}.mode-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px;display:grid}.ladder-screen{gap:16px;width:min(1120px,100%);margin:0 auto;display:grid}.ladder-layout{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.ladder-panel,.ladder-start{gap:12px;padding:16px;display:grid}.ladder-rank{font-size:30px;line-height:1}.ladder-progress{border:2px solid var(--ink);background:#fff7d6;border-radius:999px;height:14px;overflow:hidden}.ladder-progress i{background:linear-gradient(90deg,#31b981,#f59e0b);height:100%;display:block}.ladder-board{gap:8px;display:grid}.ladder-row{background:#fffaf1c2;border:2px solid #3d2d2538;border-radius:8px;grid-template-columns:minmax(88px,auto) minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.ladder-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ladder-row b.gain{color:#15803d}.ladder-row b.loss{color:#b4233d}.dog-select.compact{align-items:start}.dog-select.compact .dog-card-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:stretch}.ladder-formula{border:2px solid var(--ink);background:#fff7d6;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.ladder-formula p{color:var(--muted);margin:0;font-weight:800}.player-history-panel{width:100%;color:var(--ink);text-align:left;border:3px solid var(--ink);background:#fffaf1b8;border-radius:10px;gap:12px;padding:16px;display:grid;position:relative;overflow:hidden;box-shadow:6px 7px #3d2d2538}.player-history-panel:before{content:"";background:linear-gradient(135deg, #ffffff7a, #fff0 42%), var(--paper-fiber);opacity:.68;pointer-events:none;border-radius:8px;position:absolute;inset:8px}.player-history-panel>*{z-index:1;position:relative}.player-history-panel:hover{transform:translateY(-1px)}.history-summary{grid-template-columns:minmax(0,1.15fr) minmax(172px,.62fr) minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.history-summary span,.history-best small,.history-ladder-slot small{color:var(--blue);font-size:12px;font-weight:950}.history-summary h2{margin:2px 0}.history-summary p,.history-best strong,.history-ladder-slot p,.history-run-row small{color:#3d2d25bd;font-weight:850}.history-ladder-slot{background:#fff7d6b8;border:2px solid #3d2d2538;border-radius:8px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;min-height:74px;padding:8px 10px;display:grid}.history-ladder-slot strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-top:2px;display:block;overflow:hidden}.history-ladder-slot p{margin:0;font-size:12px}.season-history-list{gap:10px;min-width:260px;display:grid}.season-history-heading,.season-history-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.season-history-heading span,.season-history-card strong{font-weight:900}.season-history-heading small,.season-history-card p,.season-history-empty{color:#3d2d25bd;margin:0;font-size:12px;font-weight:850}.season-history-card{background:#fff9e6ad;border:2px solid #3d2d2533;border-radius:8px;padding:10px 12px}.season-snapshot-action{flex:none}.dog-rank-trophy{color:#a16207;border:2px solid var(--ink);background:#ffe08a;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:relative;box-shadow:3px 4px #3d2d2538}.dog-rank-trophy svg:last-child{color:#7c2d12;background:#fff7d6;border-radius:50%;padding:1px;position:absolute;bottom:5px;right:5px}.history-best{text-align:right;justify-items:end;gap:4px;display:grid}.history-open-action{border:2px solid var(--ink);min-height:30px;color:var(--ink);cursor:pointer;box-shadow:var(--pressed-sketch-shadow);background:#ffe08a;border-radius:8px;place-self:end;align-items:center;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:950;display:inline-flex}.history-run-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.history-run-row{background:#fff7d6;border:2px solid #3d2d2547;border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid;position:relative;overflow:hidden}.history-run-row:before{content:"";opacity:.82;pointer-events:none;background:linear-gradient(135deg,#fff9,#fff0 44%),linear-gradient(#0000,#b5dcc729);position:absolute;inset:0}.history-run-row span,.history-run-row strong,.history-run-row small{z-index:1;text-overflow:ellipsis;white-space:nowrap;position:relative;overflow:hidden}.history-run-row span{font-size:12px;font-weight:950}.history-run-row.empty{grid-column:1/-1}.player-history-overlay{z-index:80;background:#251c16b8;place-items:stretch stretch;padding:18px;display:grid;position:fixed;inset:0}.player-history-page{background:var(--page);border:3px solid var(--ink);border-radius:10px;grid-template-rows:auto auto minmax(0,1fr);gap:14px;min-width:0;min-height:0;padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:8px 10px #18120e57}.player-history-page:before{content:"";background:radial-gradient(circle at 18% 16%, #ffffff70, transparent 22%), radial-gradient(circle at 86% 22%, #ffd86b29, transparent 20%), var(--paper-fiber);opacity:.62;pointer-events:none;border-radius:8px;position:absolute;inset:10px}.player-history-page>*{z-index:1;position:relative}.history-page-header{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;display:grid}.history-page-header span,.history-page-best small,.history-run-title span{color:var(--blue);font-size:12px;font-weight:950}.history-page-header h2,.history-run-title h3{margin:2px 0}.history-page-header p,.history-page-best strong,.history-run-title p,.history-inventory-summary p{color:#3d2d25c2;font-weight:850}.history-page-best{text-align:right;justify-items:end;gap:4px;display:grid}.history-mode-tabs{flex-wrap:wrap;gap:8px;display:flex}.history-mode-tabs button{border:2px solid var(--ink);background:var(--paper);min-height:38px;color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-weight:950;display:inline-flex}.history-mode-tabs button.active{background:#ffe08a}.history-mode-tabs small{background:#3d2d251f;border-radius:999px;min-width:22px;padding:1px 6px}.history-detail-layout{grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:14px;min-height:0;display:grid}.history-run-browser,.history-selected-run{min-height:0;overflow:auto}.history-run-browser{align-content:start;gap:8px;display:grid}.history-detail-row{min-width:0;color:var(--ink);text-align:left;background:var(--paper);border:2px solid #3d2d2547;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;padding:10px;display:grid;position:relative;overflow:hidden}.history-detail-row.selected{border-color:var(--ink);background:#fff7d6}.history-detail-row.selected:before{content:"";background:var(--selection-wash), linear-gradient(135deg, #ffffff73, transparent 48%);opacity:.85;pointer-events:none;position:absolute;inset:0}.history-detail-row>*{z-index:1;position:relative}.history-detail-row img{grid-row:span 3}.history-detail-row span,.history-detail-row strong,.history-detail-row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.history-detail-row small,.history-empty-state p{color:#3d2d25b8;font-weight:850}.history-empty-state{background:var(--paper);border:2px dashed #3d2d2559;border-radius:8px;gap:6px;padding:18px;display:grid;position:relative}.history-empty-state:before{content:"";pointer-events:none;border:1px dashed #3d2d2533;border-radius:6px;position:absolute;inset:8px}.history-run-details{gap:12px;min-width:0;display:grid}.history-run-title,.history-inventory-summary{background:var(--paper);border:2px solid #3d2d2547;border-radius:8px;gap:8px;padding:12px;display:grid}.history-equipment-preview{--slot-w:58px;--slot-h:82px}.history-equipment-preview .battle-slot-grid{overflow:hidden}.history-equipment-preview .battle-item{align-content:center;gap:2px;min-height:0;padding:6px 4px;font-size:10px;overflow:hidden}.history-equipment-preview .item-art-window{width:42px;max-width:42px;height:42px;min-height:0}.history-equipment-preview .item-card-icon-art{width:34px;height:34px}.history-equipment-preview .item-card-copy{background:0 0;gap:1px;width:100%;display:grid}.history-equipment-preview .item-effect,.history-equipment-preview .size-preview,.history-equipment-preview .item-card small{display:none}.mode-card{border:3px solid var(--ink);background:#fffaf1b8;border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;justify-items:start;gap:14px;min-height:230px;padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:6px 7px #3d2d2538}.mode-card.available{background:radial-gradient(circle at 92% 14%,#ffd86b7a,#0000 22%),#fffaf1ad}.mode-card.locked{color:#3d2d259e;background:repeating-linear-gradient(135deg,#3d2d250a 0 10px,#0000 10px 20px),#f1e2cf}.mode-card.locked:before,.mode-card.locked:after{content:"";z-index:0;background:#fffaf180;border:3px solid #3d2d2580;border-radius:999px;width:180px;height:14px;position:absolute;transform:rotate(-28deg)}.mode-card.locked:before{top:42px;right:-42px}.mode-card.locked:after{top:82px;right:-28px}.mode-icon{z-index:1;border:3px solid var(--ink);width:62px;height:62px;color:var(--ink);background:#ffe08a;border-radius:10px;place-items:center;display:grid;position:relative;box-shadow:4px 5px #3d2d252e}.mode-card.locked .mode-icon{background:#d8c8b5}.lock-chain{z-index:2;border:3px solid var(--ink);background:var(--paper);min-height:30px;color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;font-weight:950;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:3px 4px #3d2d252e}.mode-copy{z-index:1;gap:8px;min-width:0;display:grid;position:relative}.mode-copy strong{color:var(--ink);font-size:22px;font-weight:950}.mode-copy p{color:#3d2d25c7;max-width:34em;font-weight:850;line-height:1.45}.mode-card.locked .mode-copy p{color:#3d2d2599}.mode-action{z-index:1;justify-self:start;width:auto;min-width:168px;position:relative}.apex-toolbar{justify-content:flex-end;display:flex}.apex-tabs{border:1px solid var(--line);background:#ffffffa8;border-radius:8px;gap:4px;padding:4px;display:inline-flex}.apex-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 12px;font-weight:800}.apex-tabs button.active{background:var(--ink);color:#fffaf1}.apex-layout{grid-template-columns:minmax(280px,430px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.apex-candidates,.apex-leaderboard,.apex-report{border:1px solid var(--line);background:#fffaf1f0;border-radius:18px;box-shadow:0 14px 34px #70481e1a}.apex-candidates,.apex-leaderboard{gap:12px;padding:16px;display:grid}.panel-heading{gap:5px;display:grid}.apex-candidate-list,.apex-rank-list{gap:10px;display:grid}.apex-rank-entry{gap:8px;display:grid}.apex-candidate-card,.apex-report{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.apex-rank-row{grid-template-columns:auto auto minmax(0,1fr) auto auto auto;align-items:center;gap:12px;display:grid}.apex-candidate-card,.apex-rank-row{background:#fff;border:1px solid #3d2d2538;border-radius:12px;min-height:74px;padding:10px}.apex-rank-row.player-entry{background:#fff8d7;border:3px solid #f59e0be0;position:relative;box-shadow:0 10px #f59e0b3d,0 18px 32px #70481e29}.apex-rank-row.player-entry:before{content:"我的记录";color:#fffaf1;background:#f59e0b;border:2px solid #3d2d2538;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:950;line-height:1;position:absolute;inset:-10px auto auto 12px;box-shadow:0 4px #70481e2e}.apex-rank-row>b{width:48px;color:var(--ink);font-size:18px}.apex-rank-row>span:not(.apex-self-marker){color:#315fdd;text-align:center;background:#e9f0ff;border-radius:999px;min-width:58px;padding:5px 8px;font-size:12px;font-weight:950}.apex-self-marker{color:#3d2d25;text-align:center;background:#fbbf24;border:2px solid #3d2d253d;border-radius:999px;min-width:72px;padding:6px 10px;font-size:12px;font-weight:950;box-shadow:0 4px #70481e29}.apex-config-toggle{min-width:94px}.apex-config-overlay{z-index:var(--z-modal-overlay);background:#251c16ad;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.apex-config-sheet{border:3px solid var(--ink);background:var(--paper-fiber), linear-gradient(180deg, #fffaf1fa, #fff4dbf5);border-radius:12px;grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(1040px,100vw - 36px);min-width:0;min-height:0;max-height:min(720px,100vh - 36px);padding:16px;display:grid;overflow:hidden;box-shadow:10px 12px #18120e57,0 24px 60px #18120e47}.apex-config-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.apex-config-header span{color:var(--blue);font-size:12px;font-weight:950}.apex-config-header h3{margin:2px 0}.apex-config-header p{color:#3d2d25c2;font-weight:850}.apex-snapshot-details{background:#ffffffb8;border:1px solid #3d2d2538;border-radius:12px;gap:10px;min-height:0;padding:12px;display:grid;overflow:auto}.apex-equipment-preview{--slot-w:58px;--slot-h:104px}.apex-equipment-preview .battle-slot-grid{overflow:hidden}.apex-equipment-preview .battle-item{align-content:center;gap:2px;min-height:0;padding:6px 4px;font-size:10px;overflow:hidden}.apex-equipment-preview .item-art-window{width:56px;max-width:56px;height:56px;min-height:0}.apex-equipment-preview .item-card-icon-art{width:46px;height:46px}.apex-equipment-preview .item-card-copy{background:0 0;gap:1px;width:100%;display:grid}.apex-equipment-preview .item-effect,.apex-equipment-preview .size-preview,.apex-equipment-preview .item-card small{display:none}.apex-relic-preview{gap:8px;display:grid}.apex-relic-preview .relic-rail{width:100%}.apex-report{background:#fff8d7;border-color:#f59e0b85;padding:14px 16px}.apex-report svg{color:#d79000}.apex-empty{text-align:center;background:#ffffff94;border:1px dashed #3d2d2559;border-radius:12px;padding:18px;font-weight:850}.dog-select-screen,.shop-choice-screen,.nickname-setup{gap:14px;display:grid}.dog-select-screen{width:min(1050px,100%);margin:0 auto}.nickname-setup{justify-items:center;width:min(420px,100%);margin:0 auto;padding-top:18px}.nickname-form{justify-items:center;gap:14px;width:100%;display:grid}.nickname-form label{width:100%}.dog-select{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.dog-card-grid{grid-template-columns:repeat(4,minmax(140px,1fr));align-items:stretch;gap:12px;display:grid}.dog-card,.choice{text-align:center;cursor:pointer;border-radius:10px;justify-items:center;min-height:150px}.dog-card{grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch;gap:8px;padding:14px}.dog-card small{align-self:start}.choice-copy,.card-copy{text-align:center;word-break:normal;overflow-wrap:break-word;align-self:stretch;min-width:0;line-height:1.42;display:block}.dog-card .tag-row{align-self:end;margin-top:auto}.dog-card.selected,.choice.selected{outline:4px solid #5a84f6;transform:translateY(-2px)}.dog-card.placeholder,.choice.placeholder{pointer-events:none;box-shadow:none;opacity:.48;background:#fffaf16b;border-style:dashed}.dog-art-frame,.dog-detail-art,.choice-icon{border:2px solid var(--ink);background:var(--paper);border-radius:10px;place-items:center;display:grid}.dog-art-frame{aspect-ratio:1;width:100%}.dog-detail-panel{background:var(--paper);border:3px solid var(--ink);border-radius:10px;justify-items:center;gap:16px;padding:22px;display:grid;box-shadow:6px 7px #3d2d2538}.dog-detail-art{aspect-ratio:1;width:100%}.dog-detail-art .dog-avatar.large{object-fit:contain;width:86%;max-width:none;height:86%;max-height:none}.detail-box{border:2px solid var(--ink);background:var(--paper);border-radius:8px;gap:6px;width:100%;padding:12px;display:grid}.detail-box strong{font-size:13px}.lucky-number-picker{border:2px solid var(--ink);background:#fff7d6;border-radius:8px;gap:8px;width:100%;padding:12px;display:grid}.lucky-number-picker>strong{font-size:13px}.lucky-number-picker>div{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.lucky-number-picker button{border:2px solid var(--ink);background:var(--paper);min-width:0;height:34px;color:var(--ink);cursor:pointer;border-radius:8px;font-weight:900}.lucky-number-picker button.selected{background:#ffd35a;box-shadow:2px 3px #3d2d2533}.tag-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.tag-row b{border:2px solid var(--ink);background:#f6e6ff;border-radius:6px;min-height:25px;padding:3px 9px;font-size:12px}.dog-card strong,.choice strong,.shop-card strong{color:var(--ink);font-size:16px}.dog-avatar{object-fit:contain;border-radius:10px;width:112px;height:112px}.shop-choice-screen{width:min(960px,100%);margin:0 auto}.choice-grid{grid-template-columns:repeat(3,minmax(240px,1fr));gap:10px;width:100%;margin:0 auto}.choice{grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;gap:8px;padding:14px}.shop-choice-screen .choice{--choice-tab-paper:var(--paper-grain), linear-gradient(180deg, #fffdf5f5, #f1dcb8f0);--choice-tab-cut:polygon(1% 2%, 36% 0, 99% 2%, 100% 78%, 96% 100%, 28% 98%, 0 96%);--choice-tab-contact-shadow:0 2px 0 #ffffff80, 0 9px 0 -3px #3d2d2538, 0 20px 28px -14px #3d2d2547;transform:rotate(var(--paper-tilt,0deg));transform-origin:50% 82%;background:var(--choice-tab-paper);box-shadow:var(--choice-tab-contact-shadow), inset 0 -7px 0 #70481e21, inset 0 2px 0 #ffffff8f}.shop-choice-screen .choice:hover{transform:translateY(-2px) rotate(var(--paper-tilt,0deg));box-shadow:var(--choice-tab-contact-shadow), 0 20px 30px #70481e2e, inset 0 -7px 0 #70481e21}.shop-choice-screen .choice:nth-child(4n){--paper-tilt:.72deg;--choice-tab-cut:polygon(0 4%, 24% 0, 76% 2%, 100% 0, 98% 88%, 84% 100%, 2% 97%);--choice-tab-paper:var(--paper-grain), radial-gradient(circle at 18% 72%, #ffdbaa57, transparent 32%), linear-gradient(179deg, #fff9ec, #ecd2a8);--choice-tab-contact-shadow:2px 3px 0 #ffffff6b, 4px 11px 0 -4px #3d2d253d, 0 24px 30px -16px #3d2d254d}.shop-choice-screen .choice:nth-child(5n){--paper-tilt:-.86deg;--choice-tab-cut:polygon(2% 0, 48% 2%, 69% 0, 99% 3%, 100% 72%, 97% 99%, 54% 100%, 18% 98%, 0 94%);--choice-tab-paper:var(--paper-grain), radial-gradient(circle at 76% 18%, #fff5be80, transparent 28%), linear-gradient(181deg, #fffdf6, #efd8bb)}.shop-choice-screen .choice.placeholder{clip-path:none;transform:none}.choice-icon{width:48px;height:48px}.choice-submit{justify-self:center;width:min(184px,100%)}.shop-workbench{grid-template-rows:auto 1fr;align-content:stretch;gap:10px;width:min(1920px,100%);min-height:calc(100vh - 170px);margin:0 auto}.shop-shelf{justify-self:stretch;width:100%;padding:14px}.offer-row{grid-template-columns:repeat(5,minmax(218px,1fr));gap:12px}.shop-card{min-height:138px;box-shadow:none;border:0;border-radius:10px;grid-template:"quality title""art meta"52px"price description"/58px minmax(0,1fr);align-content:stretch;justify-items:start;gap:7px 10px;padding:12px 13px 10px}.shop-card>.effect-line{grid-area:description}.shop-card>.price-tag{grid-area:price}.shop-item-icon{border:2px solid var(--ink);object-fit:contain;background:#e8f7e8;border-radius:10px;grid-row:1/span 5;width:48px;height:48px;padding:8px}.shop-card-main{grid-area:title;gap:8px}.inventory-board{grid-template-rows:minmax(0,1fr) minmax(0,1fr);align-content:stretch;align-self:stretch;gap:8px;width:100%;padding:10px}.inventory-board.expanded{background:var(--paper);border-width:3px;box-shadow:6px 7px #3d2d2538}.inventory-board.expanded .grid-panel:first-child{background:0 0;align-content:start;padding:0}.inventory-board.expanded .grid-panel:last-child{align-content:start}.grid-heading h3{font-size:16px;font-weight:950}.grid-heading p{font-size:13px}.slot-grid{border:3px solid var(--ink);background:var(--wood-grain), var(--wood-frame);box-shadow:var(--wood-shadow);border-radius:12px;gap:8px;padding:14px}.battle-slot-grid{border:3px solid var(--ink);background:var(--wood-grain), var(--wood-frame);box-shadow:var(--wood-shadow);border-radius:12px;gap:5px;padding:10px 10px 28px}.slot{background:linear-gradient(#f2d2a1,#c88b4b),radial-gradient(at 50% 88%,#5c361b2e,#0000 54%);border:2px solid #b8c0ca;border-radius:8px}.battle-slot{background:#fff4e4;border:2px solid #c0a98f;border-radius:8px;box-shadow:inset 0 0 0 3px #5c361b42,inset 0 4px #ffffff75,inset 0 -10px 18px #3d2d2524}.item-card{border:3px solid #fffdf7;border-radius:9px;font-size:15px;box-shadow:inset 0 -22px #3d2d2514,2px 3px #3d2d2533}.item-card.quality-bronze,.tip-tag.quality-bronze{border-width:5px;border-color:#a76637;box-shadow:inset 0 0 0 2px #f1c087,inset 0 -22px #3d2d2514,2px 3px #3d2d2538}.item-card.quality-bronze{--quality-frame-width:4px;--quality-frame-ink:#a76637;--quality-frame-material:linear-gradient(135deg, #f1c087, #8f4e29 42%, #d58a4f 54%, #6f381f);--quality-frame-shadow:inset 0 -22px 0 #3d2d2514, 2px 3px 0 #3d2d2538}.item-card.quality-silver,.tip-tag.quality-silver{border-width:5px;border-color:#c9d4df;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 5px #63738159,inset 0 -22px #3d2d2514,2px 3px #3d2d2538}.item-card.quality-silver{--quality-frame-width:4px;--quality-frame-ink:#c9d4df;--quality-frame-material:linear-gradient(135deg, #fff, #aebdcc 38%, #f6fbff 54%, #7e8b99);--quality-frame-shadow:inset 0 -22px 0 #3d2d2514, 2px 3px 0 #3d2d2538}.item-card.quality-gold,.tip-tag.quality-gold{border-width:3px;border-color:#f0b429;box-shadow:inset 0 0 0 1px #fff7bf,inset 0 0 0 3px #d89113c7,0 0 18px #ffd54a8f,2px 3px #3d2d2538}.item-card.quality-gold{--quality-frame-width:3px;--quality-frame-ink:#8a5a16;--quality-frame-material:linear-gradient(132deg, #3d2d25bd, #fff0a8a3 48%, #613e089e);--quality-frame-shadow:inset 0 -22px 0 #3d2d2514, 0 0 18px #ffd54a8f, 2px 3px 0 #3d2d2538;--quality-shimmer-opacity:.56;--quality-shimmer-color:#ffffdae6}.item-card.quality-diamond,.tip-tag.quality-diamond{border-width:3px;border-color:#66e7ff;box-shadow:inset 0 0 0 1px #f8fdff,inset 0 0 0 3px #7a8cffb8,0 0 18px #66e7ffb8,0 0 34px #7a8cff59,2px 3px #3d2d2538}.item-card.quality-diamond{--quality-frame-width:3px;--quality-frame-ink:#286f82;--quality-frame-material:linear-gradient(132deg, #3d2d25b8, #e8fdffb8 48%, #4a78d29e);--quality-frame-shadow:inset 0 -22px 0 #3d2d2514, 0 0 18px #66e7ffb8, 0 0 34px #7a8cff59, 2px 3px 0 #3d2d2538;--quality-shimmer-opacity:.66;--quality-shimmer-color:#eefffff0}.shop-card-owned{outline-offset:2px;border-color:#22a86f;outline:4px solid #22a86f47}.shop-card.shop-card-owned{border-color:#22a86f;box-shadow:inset 0 0 0 3px #ffffffd1,inset 0 -22px #22a86f1f,0 0 0 5px #22a86f2e,2px 3px #3d2d2538}.owned-badge{z-index:4;border:2px solid var(--ink);min-height:24px;color:var(--ink);background:linear-gradient(#d8f9bc,#7ee3a2);border-radius:999px;justify-content:center;align-items:center;padding:3px 8px;font-size:12px;font-weight:950;line-height:1;display:inline-flex;position:absolute;top:7px;right:7px;rotate:2deg;box-shadow:2px 3px #3d2d2533}.item-card:before{content:"";z-index:2;padding:var(--quality-frame-width);border-radius:inherit;background:var(--quality-frame-material);pointer-events:none;-webkit-mask-composite:xor;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.item-card:after{content:"";z-index:3;padding:var(--quality-frame-width);border-radius:inherit;background:linear-gradient(116deg, transparent 0 34%, var(--quality-shimmer-color) 46%, transparent 58%), linear-gradient(90deg, transparent, #ffffff6b, transparent);opacity:var(--quality-shimmer-opacity);pointer-events:none;-webkit-mask-composite:xor;background-position:160% 0,0 0;background-size:220% 100%,100% 100%;animation:2.9s ease-in-out infinite qualityBorderShimmer;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.item-card.quality-bronze:after,.item-card.quality-silver:after{animation:none}.item-card.quality-gold:after,.item-card.quality-diamond:after{opacity:var(--quality-shimmer-opacity)}.shop-card.quality-gold:before,.shop-card.quality-diamond:before{content:"";pointer-events:none;background:linear-gradient(135deg,#fffffff2,#fff0);border-radius:999px;height:3px;position:absolute;top:8px;left:9px;right:9px}.shop-card.quality-diamond:after{content:"";pointer-events:none;background:linear-gradient(135deg,#fff,#80f2ff 55%,#7a8cff);border:2px solid #3d2d25;border-radius:3px;width:14px;height:14px;position:absolute;bottom:7px;right:7px;transform:rotate(45deg)}.item-icon{width:36px;height:36px}.battle-panel{width:min(1920px,100%);margin:0 auto}.battle-stage{border:3px solid var(--ink);background:var(--paper);border-radius:10px}.battle-dog .hp,.battle-dice,.battle-log{border:3px solid var(--ink);border-radius:10px;box-shadow:4px 5px #3d2d252e}.battle-log{background:var(--paper);color:var(--ink);position:relative}.battle-log:before{content:"";background:var(--paper-fiber), linear-gradient(180deg, #ffffff47, transparent);opacity:.58;pointer-events:none;border-radius:8px;position:absolute;inset:8px}.battle-log p{z-index:1;padding-left:14px;position:relative}.battle-log p:before{content:"";background:#b9d7ff;border:1px solid #3d2d256b;border-radius:999px;width:7px;height:7px;position:absolute;top:.88em;left:0;transform:rotate(-8deg)}.battle-log p.opponent:before{background:#ffb4c6}.battle-log p.system:before{background:#ffe08a}.battle-log p.poison:before{background:#7fe3a7}.battle-log-filters{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;margin:4px 0 8px;display:flex}.battle-log-filter{border-width:2px;min-height:30px;padding:5px 9px;font-size:12px}.battle-log-filter.active{box-shadow:2px 3px #3d2d252e,inset 0 0 0 999px #ffecb35c}.shop-shelf.sketch-panel{box-shadow:none;background-image:none;overflow:visible}.shop-shelf.sketch-panel:before{content:"";z-index:0;width:auto;height:auto;box-shadow:none;pointer-events:none;background:radial-gradient(at 50% 100%,#70481e24,#0000 62%),linear-gradient(90deg,#0000,#fffaf15c,#0000);border:0;border-radius:0;position:absolute;inset:62px 18px 54px;transform:none}.shop-shelf.sketch-panel:after{content:"";z-index:0;opacity:.58;pointer-events:none;background:radial-gradient(#3d2d251f,#0000 68%);border-radius:50%;height:20px;position:absolute;inset:auto 8px 42px}.shop-shelf.sketch-panel>*{z-index:1;position:relative}.paper-shop-card{--shop-paper-edge-width:1.75px;--shop-paper-edge-ink:#3d2d25bd;--shop-quality-glow:#c25b22c7;--shop-quality-glow-strong:color-mix(in srgb, var(--shop-quality-glow) 88%, transparent);--shop-quality-glow-ring:0 0 0 1.5px color-mix(in srgb, var(--shop-quality-glow) 54%, transparent), 0 0 20px color-mix(in srgb, var(--shop-quality-glow) 76%, transparent), 0 0 42px var(--shop-quality-glow-strong);--shop-quality-glow-ring-hover:0 0 0 2px color-mix(in srgb, var(--shop-quality-glow) 64%, transparent), 0 0 26px color-mix(in srgb, var(--shop-quality-glow) 86%, transparent), 0 0 58px var(--shop-quality-glow-strong);--shop-paper-contact-shadow:0 2px 0 #ffffff75, 3px 8px 0 -2px #3d2d2538, 0 18px 26px -10px #3d2d2547;--shop-paper-contact-shadow-hover:0 2px 0 #ffffff85, 4px 11px 0 -3px #3d2d2538, 0 25px 34px -12px #3d2d254d;--shop-paper-depth-filter:drop-shadow(3px 6px 0 #3d2d2529) drop-shadow(0 14px 11px #3d2d2524);--shop-paper-depth-filter-hover:drop-shadow(4px 8px 0 #3d2d2524) drop-shadow(0 19px 14px #3d2d2529);--shop-paper-filter:drop-shadow(0 0 10px color-mix(in srgb, var(--shop-quality-glow) 78%, transparent)) drop-shadow(0 0 28px color-mix(in srgb, var(--shop-quality-glow) 58%, transparent)) var(--shop-paper-depth-filter);--shop-paper-filter-hover:drop-shadow(0 0 14px color-mix(in srgb, var(--shop-quality-glow) 88%, transparent)) drop-shadow(0 0 36px color-mix(in srgb, var(--shop-quality-glow) 68%, transparent)) var(--shop-paper-depth-filter-hover);--shop-paper-tone:var(--paper-grain), radial-gradient(circle at 16% 18%, #ffffff8c, transparent 24%), linear-gradient(180deg, #fffdf4, #f3dfbd);--shop-paper-cut:polygon(1% 2%, 28% 0, 58% 1.4%, 98% 0, 100% 78%, 98% 99%, 61% 98%, 31% 100%, 0 98%, 1.2% 54%);--shop-paper-shadow:var(--shop-quality-glow-ring), var(--shop-paper-contact-shadow);--shop-paper-shadow-hover:var(--shop-quality-glow-ring-hover), var(--shop-paper-contact-shadow-hover);transform-origin:50% 65%;transform:translateY(var(--shop-paper-y,0)) rotate(var(--paper-tilt));border-radius:var(--shop-paper-radius,10px 13px 9px 12px);box-shadow:var(--shop-paper-shadow);filter:var(--shop-paper-filter);clip-path:none;background:0 0;border:0;overflow:visible}.paper-shop-card>*{z-index:2;position:relative}.shop-shelf.visual-theme-surface.sketch-panel{box-shadow:none;background:0 0;border:0;padding:8px 4px 14px}.tip-art-preview .item-card-icon-art{width:74px;height:74px}.shop-shelf .offer-row{gap:14px}.paper-shop-card.quality-bronze{--shop-quality-glow:#c25b22c7;border:0}.paper-shop-card.quality-silver{--shop-quality-glow:#cfe0ecdb;border:0}.paper-shop-card.quality-gold{--shop-quality-glow:#ffcf42;border:0}.paper-shop-card.quality-diamond{--shop-quality-glow:#66e7ff;border:0}.offer-row .paper-shop-card:first-child{--paper-tilt:-1.15deg;--shop-paper-y:2px;--shop-paper-radius:12px 9px 13px 10px;--shop-paper-tone:var(--paper-grain), linear-gradient(178deg, #fffaf0, #f0d9b4)}.offer-row .paper-shop-card:nth-child(2){--paper-tilt:.55deg;--shop-paper-y:-1px;--shop-paper-radius:9px 14px 10px 13px;--shop-paper-tone:var(--paper-grain), radial-gradient(circle at 76% 18%, #fff5be80, transparent 28%), linear-gradient(181deg, #fffdf6, #efd8bb)}.offer-row .paper-shop-card:nth-child(3){--paper-tilt:-.34deg;--shop-paper-y:1px;--shop-paper-radius:10px 10px 14px 9px;--shop-paper-cut:polygon(0 1%, 34% 2%, 55% 0, 99% 2%, 98% 58%, 100% 97%, 70% 100%, 42% 98%, 1% 99%, 2% 62%)}.offer-row .paper-shop-card:nth-child(4){--paper-tilt:1.05deg;--shop-paper-y:3px;--shop-paper-radius:13px 10px 9px 14px;--shop-paper-tone:var(--paper-grain), radial-gradient(circle at 18% 72%, #ffdbaa57, transparent 32%), linear-gradient(179deg, #fff9ec, #eed4af)}.offer-row .paper-shop-card:nth-child(5){--paper-tilt:-.72deg;--shop-paper-y:-2px;--shop-paper-radius:9px 13px 12px 10px;--shop-paper-cut:polygon(1% 3%, 20% 0, 47% 1%, 72% 0, 99% 2%, 100% 70%, 98% 100%, 58% 98%, 29% 100%, 0 97%, 1% 48%)}.offer-row .paper-shop-card:nth-child(6n+2){--paper-tilt:.82deg;--shop-paper-y:-3px;--shop-paper-radius:14px 8px 12px 11px;--shop-paper-cut:polygon(0 4%, 26% 0, 52% 2%, 78% 0, 100% 4%, 98% 88%, 84% 100%, 38% 98%, 2% 96%);--shop-paper-contact-shadow:2px 3px 0 #fff6, 5px 11px 0 -4px #3d2d253d, 0 24px 32px -15px #3d2d254d}.offer-row .paper-shop-card:nth-child(6n+5){--paper-tilt:-1.08deg;--shop-paper-y:2px;--shop-paper-radius:8px 15px 10px 14px;--shop-paper-cut:polygon(2% 0, 38% 2%, 65% 0, 99% 3%, 100% 74%, 97% 99%, 55% 100%, 18% 98%, 0 94%);--shop-paper-tone:var(--paper-grain), radial-gradient(circle at 80% 20%, #fff4be6b, transparent 30%), linear-gradient(182deg, #fffdf5, #eecfa7)}.paper-shop-card:before{z-index:1;background:linear-gradient(100deg, #ffffff3d, transparent 36%, #70481e12), var(--paper-fiber), var(--shop-paper-tone);box-shadow:var(--shop-paper-shadow), inset 0 0 0 var(--shop-paper-edge-width) var(--shop-paper-edge-ink), inset 0 2px 0 #ffffffa3, inset 0 -7px 0 #70481e29, inset 0 -13px 18px #3d2d2514;filter:none;opacity:.9;clip-path:var(--shop-paper-cut);border:0;inset:0;transform:none}.paper-shop-card:after{z-index:1;box-shadow:none;opacity:.64;mix-blend-mode:multiply;clip-path:var(--shop-paper-cut);background:radial-gradient(circle at 20% 26%,#3d2d2509 0 1px,#0000 1.7px),repeating-linear-gradient(88deg,#3d2d2506 0 1px,#0000 1px 13px);inset:2px}.paper-shop-card.quality-gold:before,.paper-shop-card.quality-diamond:before{border-radius:inherit;background:linear-gradient(100deg, #ffffff3d, transparent 36%, #70481e12), var(--paper-fiber), var(--shop-paper-tone);height:auto;box-shadow:var(--shop-paper-shadow), inset 0 0 0 var(--shop-paper-edge-width) var(--shop-paper-edge-ink), inset 0 2px 0 #ffffffa3, inset 0 -7px 0 #70481e29, inset 0 -13px 18px #3d2d2514;filter:none;clip-path:var(--shop-paper-cut);inset:0}.paper-shop-card.quality-diamond:after{inset:auto;border-radius:inherit;width:auto;height:auto;clip-path:var(--shop-paper-cut);background:radial-gradient(circle at 20% 26%,#3d2d2509 0 1px,#0000 1.7px),repeating-linear-gradient(88deg,#3d2d2506 0 1px,#0000 1px 13px);border:0;inset:2px;transform:none}.paper-shop-card:hover{--shop-paper-contact-shadow:var(--shop-paper-contact-shadow-hover);--shop-paper-depth-filter:var(--shop-paper-depth-filter-hover);transform:translateY(calc(var(--shop-paper-y,0px) - 2px)) rotate(var(--paper-tilt));box-shadow:var(--shop-paper-shadow-hover);filter:var(--shop-paper-filter-hover)}.paper-shop-card:hover:before{box-shadow:var(--shop-paper-shadow-hover), inset 0 0 0 var(--shop-paper-edge-width) var(--shop-paper-edge-ink), inset 0 2px 0 #ffffffa3, inset 0 -7px 0 #70481e29, inset 0 -13px 18px #3d2d2514;filter:none}.paper-shop-card.selected{filter:var(--shop-paper-filter-hover)}.paper-shop-card.selected:before{box-shadow:var(--shop-paper-shadow-hover), inset 0 0 0 var(--shop-paper-edge-width) var(--shop-paper-edge-ink), inset 0 2px 0 #ffffffa3, inset 0 -7px 0 #70481e29, inset 0 -13px 18px #3d2d2514;filter:none}.paper-shop-card.shop-card-owned{--shop-paper-edge-ink:#1f5c40a3;box-shadow:var(--shop-quality-glow-ring), inset 0 -22px 0 #22a86f1a, 0 0 0 4px #22a86f24, 2px 4px 0 #3d2d251f}.paper-shop-card.shop-card-unaffordable{filter:grayscale(.82)brightness(.68)saturate(.55)drop-shadow(0 0 7px #3d2d252e)}.paper-shop-card.shop-card-unaffordable:hover{transform:translateY(var(--shop-paper-y,0)) rotate(var(--paper-tilt));box-shadow:var(--shop-paper-shadow);filter:grayscale(.82)brightness(.68)saturate(.55)drop-shadow(0 0 7px #3d2d252e)}.paper-shop-card:hover .item-card-icon-art{filter:drop-shadow(0 9px 10px #70481e2e)saturate(1.08);rotate:-3deg}.paper-shop-card.shop-card-unaffordable:hover .item-card-icon-art{filter:drop-shadow(0 8px 10px #70481e14)saturate(.62);rotate:0deg}.paper-inventory .slot-grid{background:var(--wood-grain), var(--wood-frame);box-shadow:var(--wood-shadow);overflow:hidden}.paper-inventory .slot-grid:before{content:"";background:var(--wood-grain), linear-gradient(90deg, #ffecc517, transparent 38%, #391f1012);opacity:.58;pointer-events:none;border-radius:10px;position:absolute;inset:8px}.paper-inventory .slot-grid:after{content:"";z-index:0;background:var(--rough-ink-edge);opacity:.18;clip-path:polygon(1% 3%,24% 1%,48% 2.5%,71% 0,99% 2%,98% 72%,99% 97%,76% 99%,54% 97%,28% 99%,0 97%,1.5% 58%);pointer-events:none;border:2px solid #2f190d61;border-radius:11px;position:absolute;inset:4px 5px 6px 4px}.paper-inventory .grid-heading h3{position:relative}.paper-inventory .grid-heading h3:after{content:"";background:var(--selection-wash);z-index:-1;border-radius:999px;height:5px;position:absolute;bottom:-4px;left:2px;right:-8px;transform:rotate(-1deg)}.auth-panel.paper-card{border:3px solid var(--ink);background:var(--paper-fiber), linear-gradient(180deg, #fffaf1c2, #fff1dab3);box-shadow:var(--sketch-shadow);border-radius:12px}.topbar.paper-card{border:3px solid var(--ink);background:var(--paper-fiber), linear-gradient(180deg, #fffaf1bd, #fff4dfad);box-shadow:var(--control-bevel), var(--sketch-shadow-soft);border-radius:12px;transform:none}.topbar.paper-card:before{background:var(--control-top-gloss);opacity:.54;border-radius:9px 9px 4px 4px;height:18px;inset:3px 8px auto;transform:rotate(.18deg)}.paper-card:hover:before{border-color:var(--ink-wash)}.paper-dog-card .dog-art-frame:after{content:"";pointer-events:none;border:2px dashed #3d2d2533;border-radius:8px;position:absolute;inset:8px}.paper-dog-card.selected{background:var(--paper-fiber), linear-gradient(180deg, var(--selection-wash), #fffaf1f5 42%);box-shadow:0 0 0 4px #5a84f62e, var(--sketch-shadow)}.choice.selected,.reward-choice.selected,.shop-card.selected{box-shadow:0 0 0 4px var(--selection-wash), 7px 9px 0 #1f171442, 0 18px 34px #70481e21;animation:.22s cubic-bezier(.2,1.35,.42,1) both paperSelectBounce,.34s ease-out both inkRedraw}.paper-item-card{isolation:isolate}.paper-item-card:before{content:"";z-index:1;pointer-events:none;mix-blend-mode:soft-light;background:linear-gradient(135deg,#ffffff5c,#0000 42%),linear-gradient(#0000 60%,#3d2d2514);border-radius:6px;position:absolute;inset:4px}.paper-item-card:after{content:"";z-index:1;pointer-events:none;border:1px dashed #3d2d253d;border-radius:6px;position:absolute;inset:3px}.paper-item-card.quality-diamond:after{background:linear-gradient(135deg,#fff,#80f2ff 55%,#7a8cff);border:2px solid #3d2d25;border-radius:3px;width:14px;height:14px;inset:auto 7px 7px auto;transform:rotate(45deg)}.paper-item-card.item-card:before,.paper-item-card.item-card:after{border-radius:inherit;border:0;width:auto;height:auto;inset:0;transform:none}.paper-item-card.item-card:before{z-index:2;padding:var(--quality-frame-width);background:var(--quality-frame-material);mix-blend-mode:normal;-webkit-mask-composite:xor;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.paper-item-card.item-card:after{z-index:3;padding:var(--quality-frame-width);background:linear-gradient(116deg, transparent 0 34%, var(--quality-shimmer-color) 46%, transparent 58%), linear-gradient(90deg, transparent, #ffffff6b, transparent);opacity:var(--quality-shimmer-opacity);-webkit-mask-composite:xor;background-position:160% 0,0 0;background-size:220% 100%,100% 100%;animation:2.9s ease-in-out infinite qualityBorderShimmer;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.paper-item-card.item-card.quality-bronze:after,.paper-item-card.item-card.quality-silver:after{animation:none}.inventory-board .paper-item-card.item-card{--inventory-quality-glow:#c25b22d1;--inventory-quality-glow-soft:color-mix(in srgb, var(--inventory-quality-glow) 52%, transparent);--inventory-quality-glow-strong:color-mix(in srgb, var(--inventory-quality-glow) 82%, transparent);--inventory-quality-shadow:0 0 0 2px color-mix(in srgb, var(--inventory-quality-glow) 58%, transparent), 0 0 14px var(--inventory-quality-glow-soft), 0 0 34px var(--inventory-quality-glow-strong), 0 9px 18px #25304733;--inventory-quality-shadow-strong:0 0 0 3px color-mix(in srgb, var(--inventory-quality-glow) 68%, transparent), 0 0 20px color-mix(in srgb, var(--inventory-quality-glow) 76%, transparent), 0 0 48px color-mix(in srgb, var(--inventory-quality-glow) 88%, transparent), 0 12px 22px #25304738;box-shadow:var(--inventory-quality-shadow)}.inventory-board .paper-item-card.item-card.quality-bronze{--inventory-quality-glow:#c25b22d1}.inventory-board .paper-item-card.item-card.quality-silver{--inventory-quality-glow:#cfe0eceb}.inventory-board .paper-item-card.item-card.quality-gold{--inventory-quality-glow:#ffcf42}.inventory-board .paper-item-card.item-card.quality-diamond{--inventory-quality-glow:#66e7ff}.inventory-board .paper-item-card.item-card:hover,.inventory-board .paper-item-card.item-card.selected,.inventory-board .paper-item-card.item-card.upgrade-over{box-shadow:var(--inventory-quality-shadow-strong)}.inventory-board .paper-item-card.item-card.dragging{box-shadow:var(--inventory-quality-shadow)}.paper-shop-card.paper-item-card.item-card{box-shadow:none;filter:var(--shop-paper-filter);clip-path:none;background:0 0;border:0;overflow:visible}.paper-shop-card.paper-item-card.item-card:before{z-index:1;border-radius:inherit;background:linear-gradient(100deg, #ffffff3d, transparent 36%, #70481e12), var(--paper-fiber), var(--shop-paper-tone);width:auto;height:auto;box-shadow:var(--shop-paper-shadow), inset 0 0 0 var(--shop-paper-edge-width) var(--shop-paper-edge-ink), inset 0 2px 0 #ffffffa3, inset 0 -7px 0 #70481e29, inset 0 -13px 18px #3d2d2514;filter:none;opacity:.9;mix-blend-mode:normal;clip-path:var(--shop-paper-cut);border:0;padding:0;inset:0;transform:none;-webkit-mask:none;mask:none}.paper-shop-card.paper-item-card.item-card:after{z-index:1;border-radius:inherit;width:auto;height:auto;box-shadow:none;opacity:.64;mix-blend-mode:multiply;clip-path:var(--shop-paper-cut);background:radial-gradient(circle at 20% 26%,#3d2d2509 0 1px,#0000 1.7px),repeating-linear-gradient(88deg,#3d2d2506 0 1px,#0000 1px 13px);border:0;padding:0;animation:none;inset:2px;transform:none;-webkit-mask:none;mask:none}.paper-shop-card.paper-item-card.item-card:hover{box-shadow:none;filter:var(--shop-paper-filter-hover)}.paper-shop-card.paper-item-card.item-card:hover:before{box-shadow:var(--shop-paper-shadow-hover), inset 0 0 0 var(--shop-paper-edge-width) var(--shop-paper-edge-ink), inset 0 2px 0 #ffffffa3, inset 0 -7px 0 #70481e29, inset 0 -13px 18px #3d2d2514;filter:none}.paper-shop-card.paper-item-card.item-card.selected{box-shadow:none;filter:var(--shop-paper-filter-hover)}.paper-shop-card.paper-item-card.item-card.selected:before{box-shadow:0 0 0 4px var(--selection-wash), var(--shop-paper-shadow-hover), inset 0 0 0 var(--shop-paper-edge-width) var(--shop-paper-edge-ink), inset 0 2px 0 #ffffffa3, inset 0 -7px 0 #70481e29, inset 0 -13px 18px #3d2d2514;filter:none}.paper-shop-card.paper-item-card.item-card.shop-card-owned{box-shadow:none}.paper-shop-card.paper-item-card.item-card.shop-card-owned:before{box-shadow:var(--shop-quality-glow-ring), inset 0 -22px 0 #22a86f1a, 0 0 0 4px #22a86f24, 2px 4px 0 #3d2d251f}.paper-shop-card.paper-item-card.item-card.shop-card-unaffordable,.paper-shop-card.paper-item-card.item-card.shop-card-unaffordable:hover{box-shadow:none;filter:grayscale(.82)brightness(.68)saturate(.55)drop-shadow(0 0 7px #3d2d252e)}.paper-shop-card.paper-item-card.item-card.shop-card-unaffordable:before,.paper-shop-card.paper-item-card.item-card.shop-card-unaffordable:hover:before{box-shadow:var(--shop-paper-shadow), inset 0 0 0 var(--shop-paper-edge-width) var(--shop-paper-edge-ink), inset 0 2px 0 #ffffffa3, inset 0 -7px 0 #70481e29, inset 0 -13px 18px #3d2d2514}.paper-shop-card.shop-card{grid-template:"quality title""art meta"52px"price description"/58px minmax(0,1fr);align-content:stretch;justify-items:start;gap:7px 10px;min-height:138px;padding:12px 13px 10px;overflow:visible}.paper-shop-card.shop-card .shop-quality-chip{grid-area:quality;place-self:start}.paper-shop-card.shop-card .shop-card-art{grid-area:art;place-self:start}.paper-shop-card.shop-card .shop-card-main{grid-area:title;width:100%}.paper-shop-card.shop-card .shop-card-main strong{overflow-wrap:anywhere;max-width:100%;font-size:14px;line-height:1.15}.paper-shop-card.shop-card .shop-card-meta{grid-area:meta}.paper-shop-card.shop-card .effect-line{grid-area:description;min-height:38px;max-height:52px;overflow:hidden}.paper-shop-card.shop-card .price-tag{grid-area:price;place-self:end start}.drag-performance-mode .item-card:before,.drag-performance-mode .item-card:after{display:none}.drag-performance-mode .item-card,.drag-performance-mode .slot,.drag-performance-mode .drag-overlay-item{transition:none!important}.drag-performance-mode .item-card-icon-art{filter:none}.drag-performance-mode .upgrade-indicator{box-shadow:none;animation:none}.drag-performance-mode .floating-tip{display:none}.battle-equipment-row.sketch-panel{background:var(--paper-fiber), #fffaf185;border-radius:12px;padding:6px}.battle-equipment-row .relic-rail{border-radius:10px;grid-area:2/2;align-self:stretch;gap:5px;width:168px;padding:5px}.battle-equipment-row .relic-rail .grid-heading{min-height:auto}.battle-equipment-row .relic-rail .grid-heading h3{font-size:13px}.battle-equipment-row .relic-rail .grid-heading p{display:none}.battle-equipment-row .relic-slot-grid{grid-template-rows:repeat(2,46px);grid-template-columns:repeat(3,46px);justify-content:center;gap:5px}.battle-equipment-row .relic-slot{width:46px;height:46px;padding:4px}.battle-equipment-row .relic-icon-button{border-radius:8px}.handdrawn-stage{background:var(--paper-fiber), radial-gradient(ellipse at 50% 88%, #86603a38, transparent 45%), linear-gradient(180deg, #fffaf1, #ffe9ca);border:3px solid var(--ink);box-shadow:inset 0 0 0 3px #fffaf16b, var(--sketch-shadow-soft)}.handdrawn-stage:after{content:"";pointer-events:none;background:radial-gradient(circle at 21% 24%,#ff91b21f,#0000 18%),radial-gradient(circle at 80% 34%,#5a84f61c,#0000 20%);border:2px dashed #3d2d2521;border-radius:12px;position:absolute;inset:14px}.handdrawn-fx-canvas{mix-blend-mode:multiply;filter:saturate(1.12)contrast(1.03)}.handdrawn-dice.rolling{animation:.42s diceSketchBounce}.battle-item.active:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 20%,#ffffff85,#0000 70%);border:2px solid #ffffffc7;border-radius:6px;animation:.7s ease-out paperShimmer;position:absolute;inset:2px}.handdrawn-status-chip{border:2px solid #3d2d254d;border-radius:7px;box-shadow:1px 2px #3d2d251f}.status-chip.poison.handdrawn-status-chip{color:#166534;background:linear-gradient(#e3ffd9,#bff0d2)}.visual-theme-dogPark{--theme-bg:var(--app-illustration-bg);--theme-accent:#8bd19d57;--theme-spark:#ffd86b6b}.visual-theme-backAlley{--theme-bg:var(--app-illustration-bg);--theme-accent:#64d2ff3d;--theme-spark:#ff6f9147}.visual-theme-royalKennel{--theme-bg:var(--app-illustration-bg);--theme-accent:#ffd86b61;--theme-spark:#b447523d}.visual-theme-surface{isolation:isolate;--theme-bg-opacity:.2;position:relative;overflow:hidden}.visual-theme-surface>*{z-index:1;position:relative}.visual-theme-surface:before{content:"";z-index:0;border-radius:inherit;background-image:linear-gradient(180deg, #fffaf16b, #fff4e49e), var(--theme-bg);opacity:var(--theme-bg-opacity);pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:0}.battle-stage.visual-theme-surface{--theme-bg-opacity:.46;background:radial-gradient(at 50% 88%,#86603a38,#0000 45%),linear-gradient(#fffaf1c7,#ffe9cad1)}.battle-stage.visual-theme-surface:before{background-image:radial-gradient(ellipse at 50% 78%, #60472d38, transparent 40%), linear-gradient(180deg, #fffaf170, #fff4e4ad), var(--theme-bg)}.shop-shelf.visual-theme-surface:before{background-image:linear-gradient(180deg, #fffaf175, #fff4e4a8), radial-gradient(circle at 12% 20%, var(--theme-spark), transparent 22%), var(--theme-bg)}.inventory-board.visual-theme-surface:before{background-image:linear-gradient(180deg, #fffaf185, #fff4e4b3), radial-gradient(circle at 88% 18%, var(--theme-accent), transparent 20%), var(--theme-bg)}.reward-panel.visual-theme-surface:before{background-image:linear-gradient(180deg, #fffaf17a, #fff4e4ad), radial-gradient(circle at 50% 10%, var(--theme-spark), transparent 24%), var(--theme-bg)}.class-reward-ceremony.visual-theme-surface:before{background-image:linear-gradient(180deg, #fffaf16b, #fff4e4c7), radial-gradient(circle at 50% 18%, var(--theme-spark), transparent 26%), var(--theme-bg)}.handdrawn-result.visual-theme-surface:before{background-image:linear-gradient(180deg, #fffaf1b3, #fff4e4e0), radial-gradient(circle at 50% 18%, var(--theme-spark), transparent 24%), var(--theme-bg)}.surprise-surface{--surprise-bg-opacity:.74;--surprise-vignette:radial-gradient(ellipse at 50% 46%, #fffaf11f, transparent 46%), linear-gradient(90deg, #251c1647, transparent 18% 82%, #251c1647), linear-gradient(180deg, #251c1638, transparent 24% 74%, #251c163d)}.surprise-surface.visual-theme-surface:before,.surprise-surface:before{background-image:linear-gradient(180deg, #fffaf124, #fff4e447), var(--surprise-vignette), var(--surprise-bg);opacity:var(--surprise-bg-opacity);filter:saturate(.92)contrast(.96);background-position:50%;background-size:cover}.surprise-surface:after{content:"";z-index:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 18%,#ffd86b38,#0000 28%),linear-gradient(#fffaf129,#462a191a);position:absolute;inset:0}.surprise-surface>*{z-index:1;position:relative}.surprise-surface .ceremony-stage{background:var(--paper-fiber), linear-gradient(180deg, #fffdf5e0, #fff4e4d1 68%, #ffe7cfdb);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.enchant-ceremony.surprise-surface .ceremony-stage{background:var(--paper-fiber), linear-gradient(180deg, #fffdf5e6, #f0fff7d1 58%, #e7f0ffdb)}.class-reward-ceremony.surprise-surface:before,.class-reward-ceremony.surprise-surface:after{content:none}.class-reward-ceremony.surprise-surface .ceremony-stage{isolation:isolate;position:relative;overflow:hidden}.class-reward-ceremony.surprise-surface .ceremony-stage:before{content:"";z-index:0;border-radius:inherit;background-image:linear-gradient(180deg, #fffaf124, #fff4e447), var(--surprise-vignette), var(--surprise-bg);opacity:.62;filter:saturate(.92)contrast(.96);pointer-events:none;background-position:50%,50%,50% 48%;background-size:cover,cover,auto 142%;position:absolute;inset:0}.class-reward-ceremony.surprise-surface .ceremony-stage:after{content:"";z-index:0;border-radius:inherit;pointer-events:none;background:radial-gradient(#fff8e29e,#0000 58%),radial-gradient(circle at 50% 18%,#ffd86b2e,#0000 28%),linear-gradient(#fffaf175,#462a190f);position:absolute;inset:0;box-shadow:inset 0 0 0 999px #fff6e024}.class-reward-ceremony.surprise-surface .ceremony-stage>*{z-index:1;position:relative}.settlement-page{z-index:90;border:4px solid var(--ink);isolation:isolate;border-radius:0;place-items:center;width:min(100vw,1280px);max-width:1280px;min-height:100vh;margin:0;padding:clamp(18px,4vw,42px);display:grid;position:fixed;inset:0 auto 0 50%;overflow:auto;transform:translate(-50%);box-shadow:10px 12px #3d2d2538,0 24px 60px #70481e2e}.settlement-hide-button{z-index:3;position:absolute;top:clamp(14px,3vw,30px);right:clamp(14px,3vw,30px)}.settlement-show-button{z-index:91;position:fixed;top:clamp(14px,3vw,30px);right:clamp(14px,3vw,30px)}.settlement-hero{justify-items:center;gap:8px;display:grid}.settlement-hero .dog-avatar{filter:drop-shadow(0 12px 18px #3d2d2538);background:#fffaf1d1;border-radius:24px;width:104px;height:104px}.settlement-hero span{color:var(--blue);font-size:13px;font-weight:950}.settlement-card{text-align:center;background:var(--paper-fiber), linear-gradient(180deg, #fffbf2f7, #fff1def0);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);justify-items:center;gap:16px;width:min(640px,100%);padding:clamp(20px,4vw,34px);display:grid}.settlement-card h2{color:#2b1f19;text-shadow:0 2px #fffaf1db,0 5px 14px #2b1f1938;font-size:clamp(32px,6vw,56px);line-height:1}.settlement-card>p{color:#2b1f19e6;max-width:520px;font-weight:850}.settlement-score-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(520px,100%);display:grid}.battle-review-dashboard{background:var(--paper-fiber), linear-gradient(180deg, #fffaf1e6, #f5e2c3c7);border:3px solid #704e305c;border-radius:16px;grid-template-columns:minmax(0,1fr);gap:12px;width:min(760px,100%);padding:14px;display:grid;box-shadow:inset 0 0 0 2px #ffffff61,4px 5px #3d2d251f}.battle-review-heading{color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.battle-review-side-card{text-align:left;background:#fffaf1bd;border:3px solid #704e3052;border-radius:14px;gap:10px;padding:12px;display:grid}.battle-review-side-card header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.battle-review-side-card header span,.battle-review-top-item small,.battle-review-metric small{color:#3d2d25a8;font-size:11px;font-weight:900}.battle-review-metric{background:#ffffff75;border-radius:10px;gap:2px;min-width:0;padding:7px 6px;display:grid;box-shadow:inset 0 0 0 1px #704e3021}.battle-review-metric strong{font-size:18px;line-height:1}.settlement-score-grid span{border:3px solid var(--ink);background:var(--paper-fiber), linear-gradient(180deg, #ffffffa8, #ffedc5b8);border-radius:10px;place-items:center;gap:4px;min-height:92px;padding:10px;display:grid;box-shadow:3px 4px #3d2d2529}.settlement-score-grid small{color:#2b1f19d1;font-size:12px;font-weight:950}.settlement-score-grid strong{color:#2b1f19;font-size:34px;line-height:1}.battle-review-dashboard{border:3px solid var(--ink);background:var(--paper-fiber), linear-gradient(180deg, #fffcefe0, #ffefd6c7);border-radius:10px;gap:12px;width:min(560px,100%);padding:14px;display:grid;box-shadow:4px 5px #3d2d2529}.battle-review-heading,.battle-review-side-card header{justify-content:space-between;align-items:center;gap:10px;display:flex}.battle-review-side-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.battle-review-side-card{background:#fffcefb8;border:2px solid #3d2d25b8;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.battle-review-side-card.player{border-color:#2563ebb3}.battle-review-side-card.opponent{border-color:#be123cad}.battle-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.battle-review-metric{background:#ffffff7a;border:1px dashed #3d2d2557;border-radius:8px;gap:2px;min-width:0;padding:8px;display:grid}.battle-review-metric small,.battle-review-top-item small{color:#3d2d25ad;font-size:11px;font-weight:950}.battle-review-metric strong,.battle-review-top-item strong{overflow-wrap:anywhere;min-width:0}.battle-review-top-item{background:#fff7edc7;border:2px solid #3d2d258a;border-radius:8px;gap:3px;padding:9px;display:grid}.high-impact-vfx .battle-fx-stage:after{content:"";border:4px solid color-mix(in srgb, var(--theme-spark) 72%, transparent);opacity:0;pointer-events:none;border-radius:999px;animation:.82s ease-out both highImpactTrailPulse;position:absolute;inset:16% 12%}.high-impact-vfx .battle-feedback-burst{min-width:52px;min-height:42px;box-shadow:0 0 0 5px #fffaf18c, var(--sketch-shadow);border-width:4px;font-size:20px;animation:.56s ease-out both feedbackBurstPop,.62s ease-out both highImpactRewardPop}.high-impact-vfx .battle-item-trigger{animation:.5s ease-out battleTriggerStamp,.58s ease-in-out 2 itemPulse,.74s ease-out meteorSourcePulse,.74s ease-out highImpactTrigger}.battle-dog.vfx-target-damage:after{content:"";z-index:5;aspect-ratio:1.25;mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle,#ffffffd1,#ef444457 32%,#0000 66%);border-radius:50%;width:min(190px,72%);animation:.42s ease-out both highImpactHitFlash;position:absolute;top:38%}.ui-feedback-toast[data-feedback-kind=buy-success],.ui-feedback-toast[data-feedback-kind=sell-success],.ui-feedback-toast[data-feedback-kind=upgrade-success],.ui-feedback-toast[data-feedback-kind=reward-picked],.ui-feedback-toast[data-feedback-kind=relic-picked],.ui-feedback-toast[data-feedback-kind=enchant-applied],.ui-feedback-toast[data-feedback-kind=buy-success]{animation:.56s ease-out both uiFeedbackToast,.72s ease-out both highImpactRewardPop}.ui-feedback-toast[data-feedback-kind=place-failed],.ui-feedback-toast[data-feedback-kind=gold-shortage],.ui-feedback-toast[data-feedback-kind=upgrade-failed],.ui-feedback-toast[data-feedback-kind=action-failed],.ui-feedback-toast[data-feedback-kind=place-failed]{animation:.56s ease-out both uiFeedbackToast,.46s ease-out both highImpactRejectShake}.choice.selected:after,.reward-choice.selected:after{content:"";z-index:3;pointer-events:none;filter:drop-shadow(0 1px #fffaf1b8)drop-shadow(2px 3px #3d2d252e);background:radial-gradient(at 50% 66%,#3d2d25d1 0 23%,#0000 24%),radial-gradient(at 31% 35%,#3d2d25c7 0 10%,#0000 11%),radial-gradient(at 46% 24%,#3d2d25cc 0 11%,#0000 12%),radial-gradient(at 62% 28%,#3d2d25c7 0 10%,#0000 11%),radial-gradient(at 75% 43%,#3d2d25c2 0 9%,#0000 10%),radial-gradient(at 50% 66%,#fffaf185 0 34%,#0000 35%),radial-gradient(at 31% 35%,#fffaf180 0 17%,#0000 18%),radial-gradient(at 46% 24%,#fffaf17a 0 18%,#0000 19%),radial-gradient(at 62% 28%,#fffaf180 0 17%,#0000 18%),radial-gradient(at 75% 43%,#fffaf17a 0 16%,#0000 17%);width:52px;height:48px;animation:.62s ease-out both dogPawMarkPop;position:absolute;top:8px;right:9px;transform:rotate(-13deg)}.rule-tip.paper-card{border:3px solid var(--ink);background:var(--paper-fiber), var(--paper);box-shadow:var(--sketch-shadow-soft);border-radius:8px;transform:rotate(-.35deg)}.rule-tip.rule-tip-floating{position:fixed}.rule-tip.rule-tip-floating.above{transform:translateY(-100%)rotate(-.35deg)}.rule-tip.rule-tip-floating.below{transform:rotate(-.35deg)}@keyframes itemPulse{50%{filter:brightness(1.2);transform:scale(1.06)}}@keyframes diceSketchBounce{0%{transform:rotate(-5deg)translateY(-3px)scale(.94)}55%{transform:rotate(4deg)translateY(1px)scale(1.05)}to{transform:rotate(-1deg)translateY(0)scale(1)}}@keyframes battleRollResultPop{0%{filter:brightness(1.08);transform:scale(.72)rotate(-5deg)}48%{filter:brightness(1.24);transform:scale(1.48)rotate(4deg)}72%{filter:brightness(1.1);transform:scale(.94)rotate(-2deg)}to{filter:brightness();transform:scale(1)rotate(0)}}@keyframes paperShimmer{0%{opacity:0;transform:translate(-16px)}45%{opacity:.9}to{opacity:0;transform:translate(16px)}}@keyframes qualityBorderShimmer{0%,18%{background-position:160% 0,0 0}46%{background-position:-60% 0,0 0}to{background-position:-60% 0,0 0}}@keyframes paperSelectBounce{0%{transform:translateY(0) rotate(var(--paper-tilt,0deg)) scale(1)}56%{transform:translateY(calc(var(--paper-bounce-distance) * -1.5)) rotate(var(--paper-tilt,0deg)) scale(1.025)}to{transform:translateY(0) rotate(var(--paper-tilt,0deg)) scale(1)}}@keyframes inkRedraw{0%{filter:saturate();outline-color:#1f171400}45%{outline-color:var(--ornament-ink);filter:saturate(1.08)}to{filter:saturate();outline-color:#1f171457}}@keyframes invalidSketchShake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-4px)rotate(-.7deg)}55%{transform:translate(3px)rotate(.55deg)}78%{transform:translate(-2px)rotate(-.25deg)}}@keyframes boomCounterCharge{0%{filter:brightness();transform:scale(.96)}52%{filter:brightness(1.22);transform:scale(1.08)}to{filter:brightness();transform:scale(1)}}@keyframes boomCounterFloat{0%{opacity:0;transform:translateY(7px)rotate(-6deg)scale(.86)}35%{opacity:1}to{opacity:0;transform:translateY(-18px)rotate(4deg)scale(1.08)}}@keyframes triggerCountStampPop{0%{filter:brightness();transform:translate(-50%)rotate(-10deg)scale(.8)}48%{filter:brightness(1.2);transform:translate(-50%)rotate(6deg)scale(1.28)}to{filter:brightness();transform:translate(-50%)rotate(-3deg)scale(1)}}@keyframes frogReservoirRipple{0%,to{opacity:.62;transform:translate(-5%)scaleX(.96)}50%{opacity:.95;transform:translate(5%)scaleX(1.04)}}@keyframes frogReservoirFlash{0%{filter:brightness()}45%{filter:brightness(1.38)saturate(1.25)}to{filter:brightness()}}@keyframes stickerWiggle{0%,to{transform:rotate(-8deg)scale(1)}50%{transform:rotate(8deg)scale(1.08)}}@keyframes poisonMist{0%{opacity:.5;transform:translateY(3px)scale(.96)}to{opacity:.9;transform:translateY(-3px)scale(1.04)}}@keyframes resultCardFlip{0%{opacity:0;transform:rotate(-3deg)translateY(10px)scale(.96)}to{opacity:1;transform:rotate(-.45deg)translateY(0)scale(1)}}@keyframes playerLunge{45%{transform:translate(-22px)scale(1.03)}}@keyframes opponentLunge{45%{transform:translate(22px)scale(1.03)}}@keyframes dogHit{20%,60%{filter:brightness(1.45)saturate(1.25);transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes healRing{0%{opacity:.85;transform:scale(.5)}to{opacity:0;transform:scale(1.35)}}@keyframes winnerHop{to{transform:translateY(-8px)}}.dogfight-screen,.dogfight-room-view{gap:18px;display:grid}.dogfight-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:18px;display:grid}.dogfight-actions,.dogfight-room-list,.dogfight-member-list,.dogfight-battle-list,.dogfight-survivor-board,.dogfight-battle-dock,.dogfight-room-status{border:3px solid var(--ink);background:#fffaf1f0;border-radius:10px;box-shadow:6px 7px #3d2d252e}.dogfight-actions,.dogfight-room-list,.dogfight-member-list,.dogfight-battle-list,.dogfight-survivor-board,.dogfight-battle-dock{gap:12px;padding:14px;display:grid}.dogfight-picker{border-top:2px dashed var(--line);gap:10px;padding-top:10px;display:grid}.dogfight-picker .dog-select-screen{width:100%;padding:0}.dogfight-picker .dog-select{grid-template-columns:1fr;gap:10px}.dogfight-picker .dog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dogfight-picker .dog-card{gap:6px;min-height:0;padding:8px}.dogfight-picker .dog-art-frame{max-width:92px}.dogfight-picker .dog-avatar{width:68px;height:68px}.dogfight-picker .dog-card small{display:none}.dogfight-picker .tag-row{gap:4px}.dogfight-picker .tag-row b{min-height:21px;padding:2px 6px;font-size:11px}.dogfight-picker .dog-detail-panel{box-shadow:none;border-width:2px;gap:8px;padding:10px}.dogfight-picker .dog-detail-art{display:none}.dogfight-picker .detail-box{padding:8px}.dogfight-picker .detail-box p{font-size:13px;line-height:1.4}.dogfight-picker .lucky-number-picker{padding:8px}.dogfight-picker .screen-heading{display:none}.dogfight-room-card{border:2px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.dogfight-room-card.selected{border-color:var(--blue);background:#eef4ff}.dogfight-room-toolbar{flex-wrap:wrap;gap:10px;display:flex}.dogfight-room-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.dogfight-room-status h2,.dogfight-room-status p{margin:0}.dogfight-phase-track{grid-template-columns:repeat(3,minmax(92px,1fr));gap:6px;min-width:min(360px,100%);display:grid}.dogfight-phase-track span{text-align:center;border:2px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:7px 10px;font-weight:900}.dogfight-phase-track span.active{border-color:var(--blue);color:var(--ink);background:#eef4ff}.dogfight-run-stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dogfight-room-columns{grid-template-columns:280px minmax(0,1fr) 280px;align-items:start;gap:18px;display:grid}.dogfight-survivor-board{align-content:start;display:grid}.dogfight-player-frame{border:2px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.dogfight-player-frame.bot{background:#fbfbf8;border-style:dashed}.dogfight-player-frame.selected{border-color:var(--blue);outline:3px solid #417fff52}.dogfight-player-frame.eliminated{opacity:.58;filter:grayscale(.35)}.dogfight-player-frame p{color:var(--muted);margin:2px 0 0;font-size:12px;font-weight:800}.dogfight-player-frame b{border:2px solid var(--ink);background:#fff5d2;border-radius:999px;place-items:center;min-width:32px;min-height:32px;display:inline-grid}.dogfight-member-list article{border:2px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.dogfight-member-list article.eliminated{opacity:.58;filter:grayscale(.35)}.dogfight-member-list p{color:var(--muted);margin:2px 0 0;font-size:13px;font-weight:800}.dogfight-play-area{gap:14px;min-width:0;display:grid}.dogfight-workbench{align-items:start}.dogfight-dog-select{padding:14px}.dogfight-dog-select .dog-select-screen{padding:0}.dogfight-battle-dock{align-content:start;display:grid}.dogfight-battle-row{text-align:left;border:2px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:8px;padding:9px 12px;font-weight:900}[data-tutorial-anchor]{scroll-margin:120px}.casual-tutorial-guide{z-index:30;pointer-events:none;width:min(360px,100vw - 32px);position:fixed;inset:auto 22px 22px auto}.tutorial-coach-card{pointer-events:auto;background:var(--paper-fiber), linear-gradient(180deg, #fffaf1, #ffe8ca);border:3px solid var(--ink);gap:10px;padding:16px;display:grid;transform:rotate(-.4deg);box-shadow:8px 9px #3d2d2533}.tutorial-coach-card h2,.tutorial-coach-card p{margin:0}.tutorial-coach-card strong{color:var(--ink);line-height:1.45}.tutorial-replay-button{justify-self:center}.tutorial-highlight{z-index:20;outline-offset:5px;box-shadow:0 0 0 9px #5a84f629, var(--sketch-shadow-soft);outline:4px solid #5a84f69e;position:relative}@keyframes dicePop{50%{transform:translateY(-8px)scale(1.16)rotate(8deg)}}@keyframes battleTriggerStamp{0%{transform:translateY(0)rotate(0)}45%{transform:translateY(-5px)rotate(-2deg)scale(1.04)}to{transform:translateY(0)rotate(-.3deg)scale(1)}}@keyframes meteorSourcePulse{0%{box-shadow:0 0 #fff8db00,0 0 #38bdf800,inset 0 -26px 36px #2530471a}34%{box-shadow:0 0 0 6px #fff8dbc2,0 0 34px #facc15e0,0 0 54px #38bdf875,inset 0 0 24px #ffffff75}to{box-shadow:0 0 0 1px #fff8db00,0 0 #38bdf800,inset 0 -26px 36px #2530471a}}@keyframes meteorTargetPulse{0%{filter:brightness();transform:scale(.98)}42%{filter:brightness(1.36)saturate(1.18);transform:scale(1.07)}to{filter:brightness(1.06);transform:scale(1)}}@keyframes meteorTargetSweep{0%{opacity:0;transform:translate(-34%)rotate(-8deg)}34%{opacity:.98}to{opacity:0;transform:translate(34%)rotate(-8deg)}}@keyframes meteorImpactGlow{0%{opacity:0;transform:scale(.94)}36%{opacity:.95;transform:scale(1.03)}to{opacity:0;transform:scale(1.12)}}@keyframes vfxDamageJolt{0%{transform:translate(0)rotate(0)}30%{transform:translate(-5px)rotate(-2deg)}62%{transform:translate(4px)rotate(1.4deg)}to{transform:translate(0)rotate(0)}}@keyframes feedbackBurstPop{0%{opacity:0;transform:translate(-50%,-40%)rotate(-7deg)scale(.72)}38%{opacity:1;transform:translate(-50%,-58%)rotate(3deg)scale(1.08)}to{opacity:0;transform:translate(-50%,-82%)rotate(-2deg)scale(.96)}}@keyframes highImpactTrailPulse{0%{opacity:0;transform:scale(.55)rotate(-3deg)}36%{opacity:.72;transform:scale(1.03)rotate(2deg)}to{opacity:0;transform:scale(1.28)rotate(-1deg)}}@keyframes highImpactTrigger{0%{box-shadow:0 0 0 0 #ffd86b00, var(--sketch-shadow-soft)}35%{box-shadow:0 0 0 7px #ffd86b5c, 0 0 28px #ffd86bd1, var(--sketch-shadow)}to{box-shadow:0 0 0 0 #ffd86b00, var(--sketch-shadow-soft)}}@keyframes highImpactHitFlash{0%{opacity:0;transform:scale(.62)rotate(-8deg)}28%{opacity:.95;transform:scale(1.04)rotate(4deg)}to{opacity:0;transform:scale(1.22)rotate(-2deg)}}@keyframes highImpactRewardPop{0%{filter:brightness();transform:translateY(8px)rotate(-7deg)scale(.84)}42%{filter:brightness(1.18);transform:translateY(-4px)rotate(4deg)scale(1.1)}to{filter:brightness();transform:translateY(0)rotate(-1deg)scale(1)}}@keyframes dogPawMarkPop{0%{opacity:0;transform:translateY(8px)rotate(-20deg)scale(.74)}46%{opacity:1;transform:translateY(-4px)rotate(-8deg)scale(1.13)}to{opacity:1;transform:translateY(0)rotate(-13deg)scale(1)}}@keyframes highImpactRejectShake{0%,to{transform:translate(0)rotate(0)}22%{transform:translate(-7px)rotate(-2deg)}46%{transform:translate(6px)rotate(2deg)}68%{transform:translate(-4px)rotate(-1deg)}}@keyframes uiFeedbackToast{0%{opacity:0;transform:translateY(10px)rotate(2deg)scale(.96)}18%{opacity:1;transform:translateY(0)rotate(-1deg)scale(1)}82%{opacity:1;transform:translateY(0)rotate(-1deg)scale(1)}to{opacity:0;transform:translateY(8px)rotate(1deg)scale(.98)}}@keyframes feedbackSuccessWash{40%{box-shadow:inset 0 0 0 9999px var(--fx-success-wash)}}@keyframes feedbackDangerShake{15%,55%{box-shadow:inset 0 0 0 9999px var(--fx-danger-wash);transform:translate(-3px)}35%,75%{transform:translate(3px)}}@media (width<=1180px){:root{--slot-w:78px;--slot-h:96px;--board-slot-h:210px}.history-run-list{grid-template-columns:repeat(3,minmax(0,1fr))}.history-detail-layout{grid-template-columns:1fr}.offer-row{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media (width<=760px){:root{--slot-w:58px;--slot-h:82px;--board-slot-h:150px}.app-shell{padding:0 12px 24px}.topbar{flex-direction:column;align-items:flex-start;height:auto}.history-summary{grid-template-columns:1fr;align-items:flex-start}.history-ladder-slot{width:100%}.history-best{text-align:left;justify-items:start}.history-run-list{grid-template-columns:1fr}.player-history-overlay{padding:8px}.player-history-page{padding:12px}.history-page-header{grid-template-columns:minmax(0,1fr) auto}.history-page-best{text-align:left;grid-column:1/-1;justify-items:start}.offer-row,.choice-grid,.battle-hud{grid-template-columns:1fr}.visual-battle{gap:6px;padding:8px}.battle-toolbar{grid-template-columns:1fr;align-items:flex-start}.battle-toolbar .speed-row{justify-content:center;width:100%}.forfeit-run-action{flex-direction:column;align-items:stretch}.battle-stage{grid-template-columns:1fr;min-height:440px;max-height:none;padding:10px}.battle-dice{order:2;grid-area:auto/1;min-height:108px}.battle-dog.opponent{order:1}.battle-dog.player{order:3}.battle-stage .battle-dog{grid-row:auto;grid-template-rows:auto auto auto;grid-template-columns:1fr}.battle-stage .battle-dog.opponent,.battle-stage .battle-dog.player{grid-column:1}.battle-stage .battle-dog .hp{grid-row:auto}.battle-dog-img,.battle-stage .battle-dog-img{width:92px;height:92px}.battle-equipment-row{--slot-w:58px;--slot-h:104px;grid-template-columns:1fr}.battle-equipment-row .relic-rail{grid-area:3/1;width:100%}.battle-equipment-row .relic-slot-grid{grid-template-rows:44px;grid-template-columns:repeat(6,44px);justify-content:start;overflow-x:auto}.battle-equipment-row .relic-slot{width:44px;height:44px}.battle-item{min-height:104px}.floating-tip{width:min(380px,100vw - 28px);bottom:auto;right:auto}.tip-body{grid-template-columns:1fr}.slot-grid{gap:5px;padding:10px}.battle-slot-grid{gap:5px;padding:10px 10px 30px}.battle-item{padding-bottom:12px}.item-card{padding:6px 4px;font-size:11px}.item-icon{width:28px;height:28px}.shop-card{grid-template-columns:48px 1fr}.shop-card-art .item-card-icon-art{width:46px;height:46px}.class-reward-ceremony{min-height:auto}.ceremony-stage{min-height:0;padding:18px}.ceremony-dog-avatar{width:112px;height:112px}.ceremony-reward-preview{grid-template-columns:1fr}.settlement-page{border-width:0;max-width:1280px;min-height:100vh;padding:14px;left:50%;right:auto;transform:translate(-50%)}.settlement-card{gap:12px;padding:18px}.settlement-hero .dog-avatar{width:82px;height:82px}.settlement-score-grid,.battle-review-side-grid{grid-template-columns:1fr}.settlement-score-grid span{grid-template-columns:1fr auto;justify-items:start;min-height:72px}.mode-grid,.apex-layout{grid-template-columns:1fr}.mode-card{min-height:210px}.apex-candidate-card,.apex-report{grid-template-columns:auto minmax(0,1fr)}.apex-rank-row{grid-template-columns:auto auto minmax(0,1fr)}.apex-candidate-card .action-button,.apex-self-marker,.apex-rank-row>span,.apex-config-toggle{grid-column:1/-1;justify-self:start}.apex-config-overlay{padding:8px}.apex-config-sheet{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:10px}.apex-equipment-preview{--slot-h:88px}.apex-equipment-preview .item-art-window{width:46px;max-width:46px;height:46px}.apex-equipment-preview .item-card-icon-art{width:38px;height:38px}}@media (width<=900px){.dogfight-layout,.dogfight-room-columns,.dogfight-room-card{grid-template-columns:1fr}.dogfight-room-card .action-button{justify-self:start}.page-nav{display:none}.app-shell{padding:0 12px 24px}.bag-relic-row,.reward-choice-grid{grid-template-columns:1fr}.screen-content{width:calc(100vw - 24px);margin-top:18px}.topbar{border-width:3px;border-radius:10px;grid-template-columns:1fr;justify-items:stretch;gap:12px;width:calc(100vw - 24px);min-height:0;margin:12px auto 0;padding:14px;display:grid;box-shadow:4px 5px #3d2d252e}.topbar>.brand-block{min-width:0}.topbar>.stats{justify-content:start;margin-left:0}.dog-trait-summary{max-width:100%}.chapter-progress{max-width:calc(100vw - 24px)}}@media (width<=720px){.battle-review-side-grid{grid-template-columns:1fr}.battle-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-log-filters{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after,.item-card:after,.visual-theme-surface:before,.battle-item-vfx-target,.battle-log-filter{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.paper-card,.paper-card:nth-child(2n),.handdrawn-dice,.handdrawn-result,.battle-item-vfx-target{transform:none}.visual-theme-surface:before{opacity:.18}}.account-panel-actions{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:center;gap:8px;width:min(520px,100%);display:flex}.account-panel-button,.shop-card-actions button,.panel-title-row button,.achievement-tabs button{color:#352217;cursor:pointer;background:#fff7dc;border:2px solid #4b3527;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-weight:800;display:inline-flex}.account-panel-button:hover,.shop-card-actions button:hover,.panel-title-row button:hover,.achievement-tabs button:hover,.achievement-tabs button.active{background:#ffe39a}.account-shop-screen,.achievements-screen,.account-settings-screen{gap:18px;width:min(1180px,100%);margin:0 auto;display:grid}.account-currency-pill{background:#fff2b8;border:2px solid #5b3a21;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-weight:900;display:inline-flex}.shop-section,.daily-task-panel{gap:12px;display:grid}.shop-section-grid,.achievement-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.shop-cosmetic-card,.achievement-card,.daily-task-row{background:#fffae8eb;border:2px solid #4b352759;border-radius:8px;gap:8px;padding:14px;display:grid}.shop-cosmetic-card p,.achievement-card p,.daily-task-row span{color:#6d5849;margin:0}.cosmetic-badge{background:#f4d78b;border:2px solid #5b3a21;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.rarity-common{--rarity:#a3a3a3}.rarity-rare{--rarity:#2f80ed}.rarity-epic{--rarity:#8b5cf6}.rarity-legendary{--rarity:#d97706}.shop-cosmetic-card{border-color:var(--rarity,#4b352759)}.account-setting-card.equipped{box-shadow:0 0 0 3px #4f7cff33}.account-settings-empty{color:#6d5849;margin:0;font-weight:700}.cosmetic-type{font-size:.86rem;font-weight:800}.shop-card-actions,.panel-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.shop-card-actions span{align-items:center;gap:4px;font-weight:900;display:inline-flex}.daily-task-row{grid-template-columns:minmax(0,1fr) minmax(120px,220px) auto;align-items:center}.daily-task-row>div{gap:2px;display:grid}.achievement-tabs{flex-wrap:wrap;gap:8px;display:flex}.achievement-card.hidden{opacity:.72;filter:grayscale(.25)}.achievement-card.claimable{box-shadow:0 0 0 3px #d977062e}progress{accent-color:#d97706;width:100%;height:10px}@media (width<=720px){.daily-task-row{grid-template-columns:1fr}}.exploration-map-screen{z-index:40;position:fixed;inset:0}.exploration-map-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:radial-gradient(circle at 22% 12%,#ffd86b38,#0000 24%),#2a1f187a;padding:8px;position:absolute;inset:0}.exploration-map-shell{background:linear-gradient(180deg, #fff4ded6, #f2d9b4b8), url(/assets/map/exploration-parchment-scroll.webp) center / cover no-repeat, var(--paper-fiber), linear-gradient(135deg, #fff4defc, #f6e2befa 54%, #ebcfa9fa);border:4px solid #583b279e;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;width:min(1680px,100vw - 16px);height:calc(100vh - 16px);margin:0 auto;padding:12px;display:grid;box-shadow:10px 12px #1f171452,0 28px 70px #1f171447,inset 0 0 0 2px #ffffff61}.exploration-map-topbar{background:var(--paper-fiber), linear-gradient(180deg, #fff6e0f5, #edcfa5e0);box-shadow:var(--paper-edge-stroke), inset 0 -2px 0 #70492d1f;border:2px solid #583b275c;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:8px 10px 10px;display:flex}.map-title-placard{color:#5f3e24;background:linear-gradient(90deg,#f8dfb3d6,#e8bd784d);border-left:4px solid #603d2385;border-radius:6px;align-items:center;gap:14px;min-width:min(420px,52vw);padding:10px 24px 10px 18px;display:flex;box-shadow:inset 0 1px #ffffff6b}.map-title-placard svg{color:#86551f;filter:drop-shadow(0 2px #ffffff80)}.exploration-map-topbar h2,.map-side-card h3{color:var(--text-h);margin:0}.exploration-map-topbar p,.map-side-card p{color:var(--muted);margin:4px 0 0;font-weight:800}.map-run-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.exploration-map-route-board{background:linear-gradient(#fff2d857,#eecfa538),url(/assets/map/exploration-parchment-scroll.webp) 50%/cover no-repeat,#fff4de94;border:2px solid #583b274d;border-radius:8px;grid-template-columns:minmax(0,1fr) clamp(260px,22vw,340px);gap:0;min-height:0;display:grid;overflow:hidden}.map-route-canvas{isolation:isolate;background:0 0;border:0;border-radius:0;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff80}.map-route-canvas:before{content:"";pointer-events:none;border:1px dashed #613f262e;border-radius:6px;position:absolute;inset:18px}.map-layer-marker-row{z-index:7;pointer-events:none;height:58px;position:absolute;inset:0 0 auto}.map-layer-marker{left:var(--marker-x);color:#6d492c;background:#cfab80b8;border:2px solid #5e3d244d;border-radius:999px;place-items:center;width:38px;height:38px;font-weight:950;display:inline-grid;position:absolute;top:22px;transform:translate(-50%);box-shadow:inset 0 2px #ffffff5c}.map-route-layer,.map-route-svg{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.map-route-draft-svg{z-index:5}.map-route-draft-surface{touch-action:none;pointer-events:none}.map-route-draft-surface.tool-brush,.map-route-draft-surface.tool-eraser{pointer-events:auto;cursor:crosshair}.map-route-draft-surface.tool-eraser{cursor:cell}.map-route-draft-stroke{fill:none;stroke:#3075cdc7;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px #ffffff85)}.map-route-draft-stroke.active{stroke:#e6a11ad6}.map-drawing-toolbar{z-index:6;background:var(--paper-fiber), linear-gradient(180deg, #fff6e0f5, #e5c497eb);border:2px solid #5b3d2752;border-radius:999px;gap:8px;padding:8px;display:flex;position:absolute;bottom:24px;left:20px;box-shadow:3px 4px #3d2d2529,inset 0 1px #ffffff9e}.map-drawing-toolbar button{color:#6c4728;background:#fffaf1c2;border:2px solid #5b3d273d;border-radius:999px;place-items:center;width:36px;height:36px;display:inline-grid;box-shadow:inset 0 1px #ffffff94}.map-drawing-toolbar button.active{color:#2f5f9d;background:#dbebffeb;border-color:#3f7fd59e}.map-drawing-toolbar button:disabled{opacity:.46;cursor:default}.map-route-path{fill:none;stroke:#7059425c;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.2 3.4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px #ffffff8c)}.map-route-path.available{stroke:#e6a11a;stroke-width:5.3px;stroke-dasharray:none;filter:drop-shadow(0 0 1px #ffffffe6)drop-shadow(0 0 5px #e6a11a66)}.map-route-path.completed{stroke:#5e9f55;stroke-width:4.5px;stroke-dasharray:none;filter:drop-shadow(0 1px #ffffffa6)}.map-route-path.inspected{stroke:#3f7fd5;stroke-width:4.8px;stroke-dasharray:none;filter:drop-shadow(0 0 1px #ffffffe0)drop-shadow(0 0 4px #3f7fd561)}.map-node{left:calc(var(--node-x) * 1%);top:calc(var(--node-y) * 1%);width:136px;min-height:112px;color:var(--text-h);background:var(--paper-fiber), linear-gradient(180deg, #fffaf1fa, #ffeed3f2);cursor:pointer;z-index:3;border:2px solid #3d2d254d;border-radius:12px;align-content:center;justify-items:center;gap:5px;padding:8px 6px;transition:transform .14s,filter .14s,box-shadow .14s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:3px 4px #3d2d2524,inset 0 2px #ffffffc2}.map-node.compact-route-node{background:var(--paper-fiber), linear-gradient(180deg, #fffaeff7, #f7e2bef0);border-radius:10px;width:82px;min-height:78px;padding:7px 7px 6px;box-shadow:4px 5px #3d2d2529,inset 0 2px #ffffffbd}.map-node:hover:not(:disabled),.map-node.available{transform:translate(-50%,-50%)translateY(-2px);box-shadow:4px 6px #3d2d252e,0 10px 20px #5a84f629}.map-node:disabled{cursor:default}.map-node.locked{opacity:.62;filter:saturate(.68)grayscale(.22)}.map-node.completed{background:var(--paper-fiber), linear-gradient(180deg, #e2f8e6f5, #d4efdbeb);border-color:#489652b8}.map-node.current{outline:4px solid #ffd86ba8}.map-node.selected{z-index:5;box-shadow:0 0 0 5px #ffd86b42,4px 6px #3d2d252e}.map-node.previewed:not(.selected){z-index:4;box-shadow:0 0 0 4px #3f7fd52e,4px 5px #3d2d2524}.map-node.compact-route-node.available{border-color:#5a84f6e0}.map-node-sticker{background:radial-gradient(circle,#fffffff2,#fff4dfb8);border-radius:50%;place-items:center;width:48px;height:48px;display:inline-grid;box-shadow:inset 0 0 0 2px #ffffffdb,0 4px #3d2d2524}.map-node-sticker.sm{width:34px;height:34px}.map-node.compact-route-node.available .map-node-sticker,.map-node.compact-route-node.current .map-node-sticker{background:radial-gradient(circle,#fffffffa,#ffe59ad6);outline:4px solid #e6a11a80;width:58px;height:58px}.map-node-sticker.lg{width:70px;height:70px}.map-node-icon{object-fit:contain;filter:drop-shadow(0 2px #3d2d252e);width:82%;height:82%}.map-node-title,.map-node-preview{text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;overflow:hidden}.map-node-title{font-size:.68rem;font-weight:950;line-height:1.1}.map-node-preview{color:var(--muted);font-size:.72rem;font-weight:800}.map-node-detail-panel{background:linear-gradient(#fff4de9e,#eed1a97a);border-left:2px solid #5b3d274d;align-content:start;gap:12px;min-width:0;min-height:0;padding:16px;display:grid;overflow:auto}.map-side-card{background:var(--paper-fiber), linear-gradient(180deg, #fffaf1f5, #ffefd8eb);box-shadow:var(--sketch-shadow-soft);border:2px solid #3d2d2542;border-radius:12px;gap:12px;padding:14px;display:grid}.map-reward-copy,.map-reward-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.map-reward-actions{justify-content:flex-end}.map-reward-art{width:64px;height:64px}.map-node-detail{justify-items:start}.map-node-detail.selected{z-index:2;position:sticky;top:0}.map-node-detail.preview{background:var(--paper-fiber), linear-gradient(180deg, #eff7ffe0, #ffefd8d6);border-color:#3f7fd561}.map-node-detail.available{border-color:#e6a11a9e}.map-node-detail.preview.available{border-color:#3f7fd580}.map-node-detail-mode{color:#335f9a;background:#dbebffad;border:1px solid #3f7fd557;border-radius:999px;margin-bottom:4px;padding:3px 7px;font-size:.72rem;font-weight:950;display:inline-flex}.monster-equipment-name-button{color:#375f96;max-width:100%;font:inherit;text-align:left;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:950;text-decoration:underline;display:inline-flex}.monster-equipment-name-button:hover,.monster-equipment-name-button:focus-visible{color:#1f4d86}.map-enter-action{justify-content:center;width:100%;font-size:1.05rem}.map-reward-preview-links{gap:8px;width:100%;display:grid}.map-reward-preview-links>div{flex-wrap:wrap;gap:8px;display:flex}.map-reward-preview-link{color:#375f96;text-underline-offset:3px;background:#fffaf1b8;border:2px dashed #5b3d2752;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-weight:950;text-decoration:underline;display:inline-flex}.map-reward-preview-link small{color:var(--muted);font-size:.68rem;text-decoration:none}.map-node-detail-kicker,.map-node-state-copy{color:var(--muted);font-size:.78rem;font-weight:950}.map-node-state-copy.muted{opacity:.72}.map-node.compact-route-node.locked .map-node-title{display:none}.map-reward-inventory{min-height:0;overflow:auto}.map-reward-summary-modal{z-index:var(--z-modal-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#231b158a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.map-reward-summary-sheet{background:var(--paper-fiber), linear-gradient(180deg, #fffaf0fa, #f6e5c3f7);border:3px solid #5b3d277a;border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(560px,100vw - 28px);min-width:0;min-height:0;max-height:min(620px,100vh - 28px);padding:18px;display:grid;overflow:hidden;box-shadow:8px 10px #1f171442,0 26px 70px #26191057}.map-reward-summary-header{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;display:grid}.map-reward-summary-header span{color:var(--muted);font-size:.82rem;font-weight:950}.map-reward-summary-header h3{color:var(--text-h);margin:3px 0 0;font-size:1.38rem}.map-reward-summary-emblem,.map-reward-summary-icon{background:radial-gradient(circle,#fffffff5,#ffe59ad6);border:2px solid #5b3d2747;place-items:center;display:inline-grid;box-shadow:inset 0 2px #ffffffb8,0 4px #3d2d2524}.map-reward-summary-emblem{color:#7a4d18;border-radius:50%;width:58px;height:58px}.map-reward-summary-entries{align-content:start;gap:10px;min-height:0;padding-right:4px;display:grid;overflow:auto}.map-reward-summary-entry{background:var(--paper-fiber), linear-gradient(180deg, #fffaf1f0, #ffefd8e6);border:2px solid #5b3d2738;border-radius:10px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:10px;display:grid}.map-reward-summary-entry strong,.map-reward-summary-entry p{overflow-wrap:anywhere}.map-reward-summary-entry strong{color:var(--text-h);font-weight:950}.map-reward-summary-entry p{color:var(--muted);margin:4px 0 0;font-weight:850;line-height:1.42}.map-reward-summary-icon{color:#375f96;border-radius:12px;width:58px;height:58px}.map-reward-summary-art{width:52px;height:52px}.map-reward-summary-close{justify-self:end}.map-monster-equipment-modal{z-index:85;background:#231b157a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.map-monster-equipment-sheet{background:var(--paper-fiber), linear-gradient(180deg, #fffaf0fa, #f6e5c3f5);border:2px solid #5b3d274d;border-radius:18px;grid-template-rows:auto minmax(0,1fr);gap:14px;width:min(1120px,100vw - 28px);min-width:0;height:min(520px,100vh - 28px);min-height:0;padding:18px;display:grid;overflow:hidden;box-shadow:0 26px 70px #26191057}.map-monster-equipment-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.map-monster-equipment-header span,.map-monster-equipment-header p{color:var(--muted);font-weight:900}.map-monster-equipment-header h3{margin:3px 0;font-size:1.55rem}.map-monster-equipment-preview{--slot-h:106px;grid-template-rows:26px 158px;grid-template-columns:minmax(0,1fr);align-content:start;min-height:0;overflow:hidden}.map-monster-equipment-preview .battle-row-title{min-width:0;height:26px}.map-monster-equipment-preview .battle-row-title span,.map-monster-equipment-preview .battle-row-title small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.map-monster-equipment-preview .battle-slot-grid{align-content:start;height:158px;min-height:158px;max-height:158px;padding:10px 10px 30px;overflow:auto hidden}.map-monster-equipment-preview .battle-item{min-height:0;overflow:hidden}.map-monster-equipment-preview .item-art-window{min-height:38px}.map-monster-equipment-preview .item-card-icon-art{width:44px;height:44px}.map-monster-equipment-preview .item-effect{display:none}@media (width<=760px){.exploration-map-overlay{padding:8px}.exploration-map-shell{height:calc(100vh - 16px);padding:10px}.exploration-map-topbar{flex-direction:column;align-items:flex-start}.exploration-map-route-board{grid-template-rows:minmax(900px,auto) minmax(230px,auto);grid-template-columns:1fr;overflow:auto}.map-route-canvas{min-height:900px}.map-node.compact-route-node{width:68px;min-height:76px;padding:7px 6px}.map-node-sticker{width:44px;height:44px}.map-node.compact-route-node.available .map-node-sticker,.map-node.compact-route-node.current .map-node-sticker{width:52px;height:52px}.map-layer-marker-row{width:56px;height:auto;inset:0 auto 0 0}.map-layer-marker{left:28px;top:var(--marker-x);transform:translateY(-50%)}.map-node-preview{display:none}.map-node-detail-panel{border-top:2px solid #5b3d274d;border-left:0;min-height:230px;max-height:230px}.map-drawing-toolbar{bottom:14px;left:50%;transform:translate(-50%)}}:root{--handdrawn-frame-border:3px;--handdrawn-inner-line:#3d2d256b;--handdrawn-corner-ornament:radial-gradient(circle at 12px 12px, transparent 0 8px, #3d2d257a 8px 10px, transparent 10px 100%), radial-gradient(circle at 28px 28px, transparent 0 6px, #7a563a38 6px 7.5px, transparent 7.5px 100%);--handdrawn-bone-paper:#fff7e8;--handdrawn-bone-edge:#4b3328;--handdrawn-dice-face:#fff0ca;--handdrawn-dice-side:#d9a766;--handdrawn-dice-top:#ffe4a8}.handdrawn-frame{border:var(--handdrawn-frame-border) solid var(--ink);background:var(--paper-grain), #fffaf1e0;box-shadow:var(--lifted-paper-shadow);border-radius:18px;position:relative}.handdrawn-frame:before{content:"";border:1px solid var(--handdrawn-inner-line);background:var(--handdrawn-corner-ornament);pointer-events:none;border-radius:13px;position:absolute;inset:8px}.handdrawn-frame-wood{background:var(--wood-grain), var(--wood-frame);box-shadow:var(--wood-shadow)}.handdrawn-frame-bone:before{border-radius:999px}.handdrawn-frame-ribbon{background:var(--banner-ribbon), #fffaf1eb}.handdrawn-button{border:3px solid var(--ink);min-height:38px;color:var(--ink);background:var(--control-top-gloss), #fff3c9;box-shadow:var(--pressed-sketch-shadow), var(--control-bevel);border-radius:10px 12px 9px 13px;justify-content:center;align-items:center;gap:8px;padding:7px 14px;font-weight:950;display:inline-flex;position:relative}.handdrawn-button-primary{color:#fff;background:var(--control-top-gloss), linear-gradient(135deg, var(--blue), #6a9cff)}.handdrawn-button-secondary{background:var(--control-top-gloss), #fff4e4}.handdrawn-button-danger{color:#fff;background:var(--control-top-gloss), linear-gradient(135deg, #ef476f, #ff91b2)}.handdrawn-button-icon{border-radius:12px;width:38px;min-width:38px;padding:7px}.handdrawn-button:active,.handdrawn-button.pressed{transform:translateY(var(--paper-bounce-distance));box-shadow:var(--pressed-sketch-shadow)}.handdrawn-relic-icon-button{border-radius:999px}.handdrawn-text-button,.handdrawn-tab-button,.handdrawn-list-button,.handdrawn-number-button,.handdrawn-slot-button,.handdrawn-relic-icon-button{border-color:var(--ink);font:inherit;position:relative}.handdrawn-text-button{cursor:pointer}.handdrawn-tab-button,.handdrawn-list-button,.handdrawn-number-button{cursor:pointer;transition:transform .14s,box-shadow .14s,background .14s}.handdrawn-tab-button.active,.handdrawn-list-button.selected,.handdrawn-number-button.selected{box-shadow:var(--pressed-sketch-shadow), inset 0 2px 0 #ffffff94;transform:translateY(-1px)}.handdrawn-slot-button{cursor:pointer}.handdrawn-slot-button.over{transform:translateY(-1px)}.handdrawn-relic-icon-button{cursor:pointer;border-radius:999px}.handdrawn-item-frame{isolation:isolate;position:relative;box-shadow:4px 5px #3d2d252e,inset 0 2px #ffffff9e}.handdrawn-item-frame:where(button){cursor:pointer;font:inherit}.dog-badge{border:4px solid var(--ink);background:radial-gradient(circle at 38% 30%, #fffffff2, #ffecbeb8 48%, #c57e4680), var(--paper-grain);isolation:isolate;border-radius:999px;flex:none;place-items:center;width:72px;height:72px;display:inline-grid;position:relative;box-shadow:4px 5px #3d2d2538,0 16px 26px #70481e2e}.dog-badge:before{content:"";z-index:-1;background:radial-gradient(circle at 20% 20%,#ffffffb8,#0000 24%),radial-gradient(circle at 78% 80%,#7a563a47,#0000 26%);border:3px solid #3d2d256b;border-radius:999px;position:absolute;inset:-8px}.dog-badge-image{object-fit:cover;filter:drop-shadow(0 7px 8px #3d2d2533);border-radius:999px;width:86%;height:86%}.dog-badge img{border-radius:999px}.dog-badge-ring{pointer-events:none;border:2px dashed #3d2d2547;border-radius:999px;position:absolute;inset:7px}.dog-badge-xs{border-width:3px;width:42px;height:42px}.dog-badge-sm{width:58px;height:58px}.dog-badge-lg{width:108px;height:108px}.dog-badge-battle{width:clamp(88px,8vw,112px);height:clamp(88px,8vw,112px)}.dog-badge-player:before{box-shadow:0 0 0 5px #5a84f629}.dog-badge-opponent:before{box-shadow:0 0 0 5px #ff91b229}.bone-health{border:3px solid var(--ink);background:var(--paper-grain), #fffaf1eb;border-radius:18px;gap:5px;width:min(278px,100%);padding:9px 14px;display:grid;position:relative;box-shadow:3px 4px #3d2d252e,inset 0 2px #ffffffb8}.bone-health-title{color:var(--ink);align-items:center;gap:6px;font-weight:950;display:inline-flex}.bone-health .bone-health-bar{filter:drop-shadow(0 3px #3d2d2524);background:0 0;border:0;border-radius:0;height:44px;margin:0 0 2px;position:relative;overflow:hidden}.bone-health .bone-health-svg{width:100%;height:100%;display:block;overflow:visible}.bone-health .bone-health-track{fill:var(--handdrawn-bone-paper);stroke:#0000}.bone-health .bone-health-outline{fill:none;stroke:var(--handdrawn-bone-edge);stroke-width:4px;stroke-linejoin:round;stroke-linecap:round;paint-order:stroke}.bone-health .bone-health-fill{fill:#ec5f6d;transition:width .22s ease-out}.bone-health .bone-health-shield{fill:#38bdf8d1;transition:width .22s ease-out,left .22s ease-out}.bone-health .bone-health-poison{fill:#22c55e9e;transition:width .22s ease-out,left .22s ease-out}.dynamic-dice{--dice-size:88px;--dice-radius:18px 21px 17px 20px;justify-items:center;overflow:visible}.dynamic-dice-cube{width:var(--dice-size);height:var(--dice-size);filter:drop-shadow(0 15px 10px #3d2d253d);position:relative;transform:rotate(-4deg)}.dynamic-dice-base{z-index:1;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.dynamic-dice.rolling .dynamic-dice-cube{animation:.62s cubic-bezier(.2,1.2,.25,1) handdrawnDiceRoll}.dynamic-dice-face{border:3px solid var(--ink);border-radius:var(--dice-radius);background:radial-gradient(circle at 30% 24%, #ffffffd1, transparent 28%), var(--paper-grain), var(--handdrawn-dice-face);place-items:center;display:grid;box-shadow:inset 0 6px #ffffff94,inset 0 -8px #70481e1f,5px 6px #3d2d2529}.dynamic-dice-face.front{width:100%;height:100%;position:relative}.dynamic-dice-face.top,.dynamic-dice-face.side{display:none}.dynamic-dice-pips{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:62px;height:62px;display:grid}.dynamic-dice-pips i{background:0 0;border-radius:999px;place-self:center;width:14px;height:14px}.dynamic-dice-pips i.active{background:var(--ink);transform:scale(1);box-shadow:inset 1px 1px #ffffff3d,1px 1px #ffffff8c}.dynamic-dice-value,.battle-dice b.dynamic-dice-value{display:none}.battle-dice.dynamic-dice{--dice-size:96px;grid-template-rows:var(--dice-size);perspective:0;align-content:center;justify-items:center;min-height:118px}.battle-dice.dynamic-dice .dynamic-dice-cube{width:var(--dice-size);height:var(--dice-size);filter:drop-shadow(8px 12px 7px #3d2d253d);position:relative;transform:rotate(-4deg)}.battle-dice.dynamic-dice.rolling .dynamic-dice-cube{animation:.58s cubic-bezier(.2,1.35,.28,1) battleDiceCubeSpin}.battle-dice.dynamic-dice .dynamic-dice-face{color:#3d2d25;box-shadow:none;backface-visibility:hidden;background:0 0;border:0;place-items:center;display:grid;position:absolute}.battle-dice.dynamic-dice .dynamic-dice-face.front{z-index:2;border-radius:0;width:48%;height:48%;inset:30% auto auto 18%;transform:none}.battle-dice.dynamic-dice .dynamic-dice-face.top,.battle-dice.dynamic-dice .dynamic-dice-face.side,.battle-dice.dynamic-dice .dynamic-dice-face.top,.battle-dice.dynamic-dice .dynamic-dice-face.side{display:none}.battle-dice.dynamic-dice .dynamic-dice-pips{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:0;width:100%;height:100%;display:grid}.battle-dice.dynamic-dice .dynamic-dice-pips i{opacity:0;background:currentColor;border-radius:999px;place-self:center;width:11px;height:11px;box-shadow:inset 1px 1px #ffffff3d,1px 1px #ffffff80}.battle-dice.dynamic-dice .dynamic-dice-pips i.active{opacity:1;transform:none}.battle-dice.dynamic-dice .dynamic-dice-face.top .dynamic-dice-pips,.battle-dice.dynamic-dice .dynamic-dice-face.side .dynamic-dice-pips{display:none}.battle-dice.dynamic-dice .dynamic-dice-value{z-index:3;width:30px;height:30px;color:var(--ink);background:radial-gradient(circle at 34% 24%,#ffffffd1,#0000 30%),linear-gradient(#fff7d6,#f2cd78);border:3px solid #3d2d25c7;border-radius:999px;place-items:center;margin-top:-4px;font-size:19px;line-height:1;display:grid;position:absolute;bottom:11px;right:13px;box-shadow:inset 0 4px #ffffff8c,4px 5px #3d2d2529}.battle-dice.dynamic-dice.dynamic-dice-player .dynamic-dice-value{color:#14532d;background:linear-gradient(#dcfce7,#86efac)}.battle-dice.dynamic-dice.dynamic-dice-opponent .dynamic-dice-value{color:#7f1d1d;background:linear-gradient(#fee2e2,#fca5a5)}.battle-dice.dynamic-dice.dynamic-dice-system .dynamic-dice-value{color:#4b3b2f;background:linear-gradient(#fff7ed,#fed7aa)}.battle-dice.dynamic-dice.rolling .dynamic-dice-value{animation:.58s cubic-bezier(.16,1.55,.22,1) battleRollResultPop}.handdrawn-choice-card{border:3px solid var(--ink);background:var(--paper-grain), #fff8e8eb;position:relative;box-shadow:4px 5px #3d2d2529,inset 0 2px #ffffffb8}.handdrawn-choice-card:after{content:"";border-radius:inherit;pointer-events:none;border:1px dashed #3d2d2547;position:absolute;inset:7px}.floating-paper-tip{border:3px solid var(--ink);background:var(--paper-grain), #fffaf1f5;box-shadow:5px 7px #3d2d252e,0 18px 34px #3d2d2533}.floating-paper-tip:before{content:"";pointer-events:none;border:1px solid #3d2d253d;border-radius:12px;position:absolute;inset:7px}.handdrawn-status-chip{background:var(--paper-grain), #fffaf1e6;border:2px solid #3d2d25b8;box-shadow:2px 2px #3d2d2524}@keyframes handdrawnDiceRoll{0%{transform:rotate(-4deg)translateY(0)scale(1)}28%{transform:rotate(16deg)translateY(-16px)scale(1.08)}58%{transform:rotate(-13deg)translateY(4px)scale(.98)}82%{transform:rotate(5deg)translateY(-3px)scale(1.02)}to{transform:rotate(-4deg)translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.dynamic-dice.rolling .dynamic-dice-cube{animation:none}}
