:root{--ink: #2f1d16;--outline: #000;--title-ink: #341b19;--text-dark: #4d3024;--cream: #fff8e9;--paper: #f4e9d0;--line: #f0d0ad;--navy: #415760;--gold: #ffcc00}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#1d272d;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#game{position:absolute;overflow:hidden;background:#2b3b44}#world{position:absolute;inset:0;width:100%;height:100%;display:block}#ui{position:absolute;left:0;top:0;width:1080px;transform-origin:0 0;font-family:Body,system-ui,sans-serif;font-weight:700;color:var(--text-dark);pointer-events:none}#ui>*{pointer-events:auto}#boot{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:max(4vh,env(safe-area-inset-top)) 0 max(5vh,env(safe-area-inset-bottom));box-sizing:border-box;background:#5db6ee url(../boot/loading.webp) center / cover no-repeat;z-index:10;transition:opacity .4s}.keyart #boot{background-image:url(../boot/loading_native.webp)}.keyart #boot .boot-logo{visibility:hidden}.keyart #boot .boot-bottom{position:absolute;left:0;right:0;bottom:24%}@media(min-aspect-ratio:3/5){.keyart #boot{background:#3d6b3a}.keyart #boot:before,.keyart #boot:after{content:"";position:absolute;inset:0;background:url(../boot/loading_native.webp) center / cover no-repeat}.keyart #boot:before{z-index:-2;filter:blur(28px) brightness(.8);transform:scale(1.1)}.keyart #boot:after{z-index:-1;background-size:contain}.keyart #boot .boot-bar{width:min(32vh,420px)}}#boot .boot-logo{width:min(84vw,520px);text-align:center;font:400 48px Title,system-ui,sans-serif;color:#fff;-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);animation:boot-in .5s cubic-bezier(.2,1.5,.4,1) both}#boot .boot-logo img{display:block;width:100%;filter:drop-shadow(0 6px 6px rgba(0,0,0,.35))}#boot .boot-bottom{display:flex;flex-direction:column;align-items:center;gap:8px}#boot .boot-bar{width:min(70vw,420px);height:30px;padding:4px;box-sizing:border-box;border-radius:16px;background:#16202ad9;border:4px solid #fff;box-shadow:0 0 0 4px var(--ink),0 6px 10px #0006;overflow:hidden}#boot .boot-bar i{display:block;height:100%;width:0;border-radius:7px;background:linear-gradient(#ffe066,#ffb400);transition:width .2s}#boot .boot-text{font:900 24px Title,system-ui,sans-serif;color:#fff;-webkit-text-stroke:5px var(--ink);paint-order:stroke fill}@keyframes boot-in{0%{transform:scale(.7);opacity:0}}.k{position:relative}.k-abs{position:absolute}.k-fill{position:absolute;inset:0}.k-layer{position:absolute;inset:0;pointer-events:none;border-style:solid;border-color:transparent;background-repeat:no-repeat;background-size:100% 100%;background-position:center}.k-img{position:absolute;pointer-events:none;background-repeat:no-repeat;background-size:contain;background-position:center}.k-row{display:flex;flex-direction:row;align-items:center}.k-col{display:flex;flex-direction:column;align-items:stretch}.k-center{display:flex;align-items:center;justify-content:center}.t-title{font-family:Title,sans-serif;font-weight:900;color:var(--title-ink);line-height:1}.t-body{font-family:Body,sans-serif;font-weight:750;line-height:1.15}.t-outline{color:#fff;-webkit-text-stroke:.1em var(--outline);paint-order:stroke fill;text-shadow:0 .06em 0 rgba(0,0,0,.35)}.kp{box-sizing:border-box}.kp-img{border-color:transparent}.kp-txt{pointer-events:none}.t-nowrap{white-space:nowrap}.t-label{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center}.k-btn{position:relative;pointer-events:auto;cursor:pointer;transition:transform .22s cubic-bezier(.34,1.8,.64,1),filter .15s;transform:scale(var(--sc, 1));will-change:transform}.k-abs.k-btn,.k-fill.k-btn,.k-img.k-btn{position:absolute}.k-btn.down{transform:scale(calc(var(--sc, 1) * .92));transition:transform .06s ease-out}.roll-slab.k-btn.down{transform:none}.k-btn.disabled{filter:grayscale(.85) brightness(.92);opacity:.7;cursor:default}.k-btn>.content{position:absolute;display:flex;align-items:center;justify-content:center;gap:10px;pointer-events:none;white-space:nowrap}.k-btn .icon{flex:none;background-size:contain;background-repeat:no-repeat;background-position:center}.k-inline-icon{display:inline-block;width:.95em;height:.95em;margin:0 .12em;vertical-align:-.22em;background-size:contain;background-repeat:no-repeat;background-position:center}.k-btn .sub{font-size:.6em}.k-btn .k-col>div+div .k-inline-icon{width:1.15em;height:1.15em}.k-pulse{animation:k-pulse 1.4s ease-in-out infinite}@keyframes k-pulse{0%,to{transform:scale(var(--sc, 1))}50%{transform:scale(calc(var(--sc, 1) * 1.05))}}.k-popup-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.k-dim{position:absolute;inset:0 calc(-1 * var(--ox, 0px));background:#000000b8}.k-window{position:relative}.k-window>.body{position:absolute}.k-scroll{pointer-events:auto;overscroll-behavior:contain;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;scrollbar-width:none;-webkit-overflow-scrolling:touch}.k-scroll::-webkit-scrollbar{display:none}.k-spin{animation:k-spin 9s linear infinite}@keyframes k-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.k-bob{animation:k-bob 2.2s ease-in-out infinite}@keyframes k-shine{0%{transform:translate(-140%) skew(-20deg)}60%,to{transform:translate(240%) skew(-20deg)}}.k-shine{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}.k-shine:after{content:"";position:absolute;top:0;bottom:0;width:35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:k-shine 2.8s ease-in-out infinite}.hl-term{color:#1f6fd6}.hl-num,.hl-up{color:#2fa51f}.hl-down{color:#d0283a}.hl-fire{color:#e0601a}.hl-ice{color:#1e8fd6}.hl-shock{color:#b98300}.hl-poison{color:#3e9a1e}.hl-bleed{color:#d0283a}.hl-up,.hl-down{white-space:nowrap}.hl-arrow{display:inline-block;height:.78em;width:auto;vertical-align:-.06em;margin-right:.08em}.on-dark .hl-term{color:#8cc4ff}.on-dark .hl-num,.on-dark .hl-up{color:#6cf08e}.on-dark .hl-down,.on-dark .hl-bleed{color:#ff6470}.on-dark .hl-fire{color:#ffa040}.on-dark .hl-ice{color:#7ad8ff}.on-dark .hl-shock{color:#ffe14a}.on-dark .hl-poison{color:#9be84e}.on-dark .hl-crit{color:#ffd23a}.on-dark .hl-dmg{color:#ff8a70}.on-dark .hl-name{color:#ffe08a}.battle-ticker-line{position:absolute;left:0;right:0;top:0;height:46px;line-height:46px;white-space:nowrap;font:800 34px Body,sans-serif;color:#fff;-webkit-text-stroke:6px #1e1418;paint-order:stroke fill}.battle-ticker-line .hl-arrow{-webkit-text-stroke:0;filter:drop-shadow(0 0 1.5px #1e1418) drop-shadow(0 0 1.5px #1e1418)}.speech{pointer-events:auto;background:#fff6ec;border:6px solid #2f1d16;border-radius:30px;box-shadow:0 8px #2f1d16;padding:34px 30px 26px;box-sizing:border-box;z-index:20}.speech-text{font:800 38px/1.18 Body,sans-serif;color:#3a2418;min-height:1.18em}.speech-name{position:absolute;left:22px;top:-48px;padding:4px 22px 6px;border:5px solid #2f1d16;border-radius:16px;font:400 32px Title,sans-serif;color:#fff;-webkit-text-stroke:.1em #2f1d16;paint-order:stroke fill;white-space:nowrap}.speech-tail{position:absolute;bottom:-26px;width:44px;height:44px;background:#fff6ec;border-right:6px solid #2f1d16;border-bottom:6px solid #2f1d16;transform:rotate(45deg) skew(8deg,8deg);box-shadow:6px 6px #2f1d16}.dice-tray{border:6px solid;border-radius:28px;box-shadow:inset 0 0 0 4px #ffffff14,0 8px #1e1418}.well-card{position:relative;flex:1 1 0;max-width:320px;padding:22px 14px 18px;border:6px solid #1e1418;border-radius:28px;background:#461e1ad9;box-shadow:0 8px #1e1418;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center}.well-card.off{filter:grayscale(.8) brightness(.6)}.well-odds{font:800 28px/1.15 Body,sans-serif;color:#fff;-webkit-text-stroke:5px #1e1418;paint-order:stroke fill}.well-stamp{position:absolute!important;left:50%;top:40%;transform:translate(-50%,-50%) rotate(-14deg);color:#ff6b6b}.well-skills{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;margin-top:18px}.well-skill{display:flex;flex-direction:column;align-items:center;gap:8px;width:180px;text-align:center}.well-picker{text-align:center}.event-line{position:relative;display:flex;align-items:center;gap:24px;width:820px;padding:16px 24px;border:6px solid #1e1418;border-radius:28px;background:#283c28d9}.event-line.bad{background:#5a1e1ed9}.stat-change{display:flex;align-items:center;justify-content:center;gap:.25em;font-family:Title,sans-serif;font-weight:900;color:#fff;-webkit-text-stroke:.14em #1e1418;paint-order:stroke fill;white-space:nowrap}.stat-change img.hl-arrow{width:.8em;height:.8em}.stat-change .sc-label{margin-right:.15em}.k-sunburst{border-radius:50%;-webkit-mask:radial-gradient(circle,#000 22%,rgba(0,0,0,.6) 45%,transparent 70%);mask:radial-gradient(circle,#000 22%,rgba(0,0,0,.6) 45%,transparent 70%);animation:k-sunburst var(--sb-speed, 16s) linear infinite}@keyframes k-sunburst{to{rotate:360deg}}.k-busy{position:absolute;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:#140e1840;animation:k-busy-in .2s ease-out}.k-busy i{width:120px;height:120px;border-radius:50%;border:14px solid rgba(255,255,255,.25);border-top-color:#fc0;animation:k-spin .8s linear infinite}@keyframes k-spin{to{transform:rotate(360deg)}}@keyframes k-busy-in{0%{opacity:0}}
