:root{color:#f7f8fc;background:#0a0c12;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 24% 12%,#ff7bb733,#0000 28rem),radial-gradient(circle at 76% 20%,#66e0d12e,#0000 25rem),#0a0c12;min-width:320px;min-height:100vh;margin:0}input[type=checkbox]{accent-color:#ff7bb7;width:16px;height:16px;min-height:0;padding:0}button,input{font:inherit}button{color:inherit;cursor:pointer;border:0;border-radius:8px;min-height:44px}button:disabled{cursor:not-allowed;opacity:.55}input{color:#f7f8fc;background:#0d111b;border:1px solid #30384a;border-radius:8px;width:100%;min-height:42px;padding:0 12px}.consent-screen,.app-shell{max-width:1180px;min-height:100vh;margin:0 auto;padding:32px}.hero{isolation:isolate;place-items:end start;min-height:calc(100vh - 64px);display:grid;position:relative;overflow:hidden}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#0a0c12e6 0%,#0a0c127a 48%,#0a0c120f 100%);position:absolute;inset:0}.hero-asset{z-index:-2;position:absolute;inset:0}.hero-asset img{object-fit:cover;width:100%;height:100%;display:block}.hero-content{gap:18px;max-width:620px;margin:3vh;padding:0 0 9vh;display:grid}.hero h1{max-width:680px;margin:0;font-size:clamp(3.1rem,8vw,7.2rem);line-height:.9}.lead{color:#e6d8df;max-width:520px;margin:0;font-size:1.12rem;line-height:1.55}.eyebrow{color:#66e0d1;letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:800}.topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar h1,.modal h2{margin:0}.mode-bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:28px 0;display:grid}.mode-scroll-wrap{grid-template-columns:18px minmax(0,1fr) 18px;gap:4px;min-width:0;display:grid}.mode-scroll{scrollbar-width:none;white-space:nowrap;grid-column:2;gap:12px;width:100%;min-width:0;margin-bottom:-134px;padding:2px 0 142px;display:flex;overflow:auto hidden}.mode-scroll::-webkit-scrollbar{display:none}.mode-scroll>*{flex:none}.scroll-hint{color:#b8c0d3;z-index:1;background:0 0;justify-content:center;align-items:center;width:18px;height:44px;min-height:44px;padding:0;font-size:1.8rem;display:flex}.scroll-hint:disabled{opacity:0;pointer-events:none}.scroll-hint:not(:disabled):hover{color:#f7f8fc}.scroll-hint.left{grid-column:1}.scroll-hint.right{grid-column:3}.mix-chip-group{align-items:center;gap:6px;display:inline-flex}.mix-split{color:#f7f8fc;white-space:nowrap;background:#161a25;border:1px solid #2a3040;border-radius:8px;align-items:stretch;min-height:44px;display:inline-flex;position:relative}.mix-split.active{color:#0a0c12;background:#f7f8fc;border-color:#f7f8fc}.mix-main,.mix-more{color:inherit;background:0 0;min-height:42px}.mix-main{border-radius:8px 0 0 8px;padding:0 14px}.mix-more{border-left:1px solid #0a0c1238;border-radius:0 8px 8px 0;padding:0 10px}.mix-split:not(.active) .mix-main{border-radius:8px}.mix-split:not(.active) .mix-more{display:none}.mix-menu-wrap{position:relative}.mix-menu{z-index:50;background:#1d2433;border:1px solid #354055;border-radius:8px;gap:4px;min-width:150px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #00000061}.mix-menu button{color:#f7f8fc;text-align:left;background:0 0;justify-content:flex-start;min-height:38px;padding:0 10px}.mix-menu button:hover{background:#252d3f}.mix-menu .menu-danger{color:#ffd6e6}.controls,.result-columns,.modal-actions{flex-wrap:wrap;gap:12px;display:flex}.chip,.ghost,.secondary,.icon-button{color:#f7f8fc;background:#161a25;border:1px solid #2a3040;padding:0 16px}.chip.active{color:#0a0c12;background:#f7f8fc}.primary,.danger{justify-content:center;align-items:center;gap:10px;padding:0 18px;display:inline-flex}.primary{color:#170813;background:#ff7bb7;font-weight:800}.danger{background:#2b1d2a;border:1px solid #ff7bb7}.ghost,.secondary,.icon-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.icon-button{min-height:36px;padding:0 10px}.modal-close{z-index:2;width:40px;min-height:40px;padding:0;position:absolute;top:14px;right:14px}.sticky-add{white-space:nowrap}.game-layout{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:26px;display:grid}.app-footer{color:#f7f8fc6b;text-align:center;margin:28px auto 0;font-size:.72rem}.dice-stage{--dice-stage-aspect-ratio:16 / 10;--dice-stage-min-height:380px;aspect-ratio:var(--dice-stage-aspect-ratio);min-height:var(--dice-stage-min-height);background:radial-gradient(at 50% 34%,#ffffff1a,#0000 24rem),radial-gradient(at 34% 52%,#ff7bb71f,#0000 18rem),radial-gradient(at 66% 52%,#66e0d11a,#0000 18rem),linear-gradient(#151a27,#0d1018 72%);border:1px solid #252b3a;border-radius:8px;justify-self:center;width:100%;max-width:100%;overflow:hidden}.dice-stage canvas{margin:0 auto;display:block}.result-panel,.config-panel,.modal{background:#161a25f2;border:1px solid #2a3040;border-radius:8px;padding:22px}.result-panel{flex-direction:column;justify-content:center;align-self:stretch;display:flex}@media screen and (width>=500px){.result-token{flex:150px}}.result-columns{justify-content:center}.result-token{border:1px solid #30384a;border-radius:8px;flex:150px;padding:16px}.result-token span{color:#b8c0d3;font-size:.85rem;display:block}.result-token strong{margin-top:8px;font-size:1.35rem;display:block}.pink .token-icon,.pink .small-icon{color:#ff7bb7}.teal .token-icon,.teal .small-icon{color:#66e0d1}.token-icon{width:32px;height:32px;margin-bottom:10px}.small-icon{width:20px;height:20px}.instruction{min-height:5.5rem;font-size:clamp(1.35rem,3vw,2.2rem);font-weight:800;line-height:1.2}.rolling-instruction{font-style:italic}.error{color:#ffd166}.modal-backdrop{z-index:10;background:#04060ac7;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.modal{width:min(100%,1040px);max-width:1040px;max-height:min(880px,100vh - 44px);position:relative;overflow:auto}@media screen and (width<=859px){.mix-modal-backdrop{padding-inline:0}.mix-modal-backdrop .modal{width:100vw;max-width:none;max-height:calc(100dvh - 44px)}.mix-modal-backdrop .modal-grid{gap:10px;margin-top:12px}.mix-modal-backdrop .editable-list{gap:8px;padding:8px}.mix-modal-backdrop .modal-export-button{justify-self:end;width:auto}}@media screen and (width<=499px){.mix-modal-backdrop .modal{padding:10px}}.modal-head,.panel-head,.list-head,.modal-footer,.modal-head-actions,.modal-footer-actions{justify-content:space-between;align-items:center;gap:18px;display:flex}.modal-head-actions,.modal-footer-actions{flex-wrap:wrap;justify-content:flex-end}.mix-name-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:18px;display:grid}.mix-name-field{min-width:0}.mix-import-button{white-space:nowrap;align-self:end}.form-warning{color:#ffd6e6;background:#2b1d2a;border:1px solid #ff7bb7;border-radius:8px;padding:12px 14px}.modal-head,.panel-head,.list-head,.modal-footer{align-items:center;gap:14px;display:grid}.modal-head{padding-right:48px}@media screen and (width>=860px){.modal-footer{grid-template-columns:1fr auto}}.modal-footer>p{justify-self:start}.modal-footer-actions{justify-items:stretch;gap:12px;display:grid}.modal-export-button{justify-content:center;width:100%}.modal-save-row{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.modal-actions,.form-warning,.full-field,.modal-grid,.modal-footer{margin-top:18px}.modal-description,.modal-footer p,.panel-head p{color:#b8c0d3;margin:0}.config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.config-list{gap:10px;display:grid}.editable-list{background:#10141f;border:1px solid #252b3a;border-radius:8px;align-content:start;padding:14px;overflow:visible}.editable-item{background:#111827;border:1px solid #354055;border-radius:8px;display:grid;position:relative;overflow:hidden}.editable-item.expanded{z-index:5;border-color:#4a5870;overflow:visible}.card-header{background:#1d2433;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:56px;padding:10px 12px;display:grid}.card-header:hover{background:#252d3f}.card-summary{color:#f7f8fc;text-align:left;background:0 0;border-radius:6px;min-height:36px;padding:0 8px}.card-summary:focus-visible,.trash-icon:focus-visible,input:focus-visible,button:focus-visible{outline-offset:2px;outline:2px solid #ffd166}.collapsed-name{color:#f7f8fc;text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.card-details{border-top:1px solid #354055;gap:12px;padding:12px;display:grid}.trash-icon{color:#ffd6e6;background:#2b1d2a;border:1px solid #ff7bb7;border-radius:8px;justify-content:center;align-items:center;min-height:34px;padding:0 9px;display:inline-flex}.expand-icon{background:inherit;color:#ffd6e6;border-radius:8px;justify-content:center;align-items:center;min-height:34px;padding:0 9px;display:inline-flex}.card-icon{background:#10141f;border:1px solid #2a3040;border-radius:8px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.card-icon-svg{color:#66e0d1;width:28px;height:28px}.field{gap:6px;display:grid}.field code{color:#ffd166;background:#0d111b;border:1px solid #30384a;border-radius:4px;padding:1px 4px}.field small{color:#8f9ab2;font-size:.78rem;line-height:1.35}.field span{color:#b8c0d3;font-size:.82rem}.full-field{grid-column:1/-1}@media (width<=860px){.mix-name-row{grid-template-columns:1fr;align-items:stretch}.mix-import-button{order:-1;justify-self:end}.hero{place-items:end start;min-height:calc(100vh - 36px)}.hero:after{background:linear-gradient(#0a0c1247 0%,#0a0c12d1 64%,#0a0c12f0 100%)}.hero-content{margin:1vh;padding:0 0 7vh}.hero h1{font-size:clamp(3rem,17vw,5.2rem)}.app-shell,.consent-screen{padding:18px}.app-shell{padding-bottom:104px}.game-layout,.config-grid,.mode-bar{grid-template-columns:1fr}.dice-stage{--dice-stage-min-height:320px;background:radial-gradient(at 50% 34%,#ffffff2e,#0000 22rem),radial-gradient(at 34% 52%,#ff7bb729,#0000 16rem),radial-gradient(at 66% 52%,#66e0d124,#0000 16rem),linear-gradient(#20283a,#141a28 72%)}.result-panel{justify-content:flex-start}.result-panel:not(.show-result-columns) .result-columns{display:none}.result-panel.show-result-columns .result-columns{display:flex}.result-panel .instruction{order:-1;margin-top:0}.controls{pointer-events:none;z-index:9;justify-content:center;position:fixed;bottom:18px;left:18px;right:18px}.controls .primary{pointer-events:auto;width:min(100%,320px);box-shadow:0 16px 38px #0000006b}}.confirm-dialog{background:#161a25;border:1px solid #354055;border-radius:8px;width:min(100%,460px);max-width:460px;padding:22px;box-shadow:0 24px 70px #00000080}.confirm-dialog h2{margin:0}.confirm-dialog p{color:#c8cede;line-height:1.55}.confirm-actions{justify-content:flex-end;gap:12px;margin-top:18px;display:flex}.zone-selector{z-index:20;position:relative}.zone-selector-input{color:#f7f8fc;cursor:pointer;background:#0d111b;border:1px solid #30384a;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:42px;padding:6px 10px;display:flex}.zone-selector-input.open,.zone-selector-input:focus-visible{outline-offset:2px;border-color:#66e0d1;outline:2px solid #66e0d147}.zone-selector-values{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.zone-selector-placeholder{color:#8f9ab2;font-size:.92rem}.zone-selector-chevron{color:#8f9ab2;flex:none}.zone-chip{color:#dffdfa;background:#18333b;border:1px solid #2f6c73;border-radius:6px;align-items:center;gap:5px;min-width:0;padding:4px 5px 4px 8px;font-size:.85rem;display:inline-flex}.zone-chip-remove{color:#bfeee9;background:0 0;border-radius:5px;justify-content:center;align-items:center;width:22px;min-height:22px;padding:0;display:inline-flex}.zone-chip-remove:hover{background:#ffffff14}.zone-selector-dropdown{z-index:200;background:#161d2b;border:1px solid #354055;border-radius:8px;gap:4px;max-height:300px;margin-top:6px;padding:6px;display:grid;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px #0006}.zone-selector-actions{gap:6px;padding:2px;display:flex}.small-action{flex:1;min-height:34px;padding:0 10px;font-size:.82rem}.zone-checkbox-item{color:#f7f8fc;cursor:pointer;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;padding:8px 10px;display:grid}.zone-checkbox-item:hover{background:#252d3f}.zone-checkbox-item span{color:#f7f8fc;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}
