.dice-app{display:grid;gap:1.15rem;max-width:1120px;margin:0 auto;padding:2rem 2.3rem 1.8rem;background:#f6f6f7;border:1px solid #ececf0;box-shadow:0 8px 24px #1414140a}:root[data-theme=dark] .dice-app{background:#232326f0;border-color:#ffffff0f;box-shadow:0 16px 40px #00000042}.dice-toolbar{display:grid;gap:.45rem;justify-items:center}.toolbar-left{display:grid;gap:.25rem;justify-items:center;text-align:center;position:relative}.section-title{margin:0;font-size:clamp(1.15rem,1vw + .85rem,1.55rem);color:var(--ink);font-weight:800;display:inline-flex;align-items:center;gap:.45rem}.title-help{border:0;background:transparent;padding:0;margin:0;font-size:1rem;color:#98a2b3;line-height:1;cursor:help;display:inline-grid;place-items:center}.hint-inline{display:none;margin:0;font-size:.86rem;color:var(--muted);max-width:44rem}.hint-inline.visible{display:block;background:color-mix(in srgb,var(--card) 94%,transparent);border:1px solid var(--line);border-radius:12px;padding:.55rem .7rem;box-shadow:0 8px 20px #0000000f}.dice-status{min-height:1.25rem;font-size:.82rem;color:var(--accent);font-weight:600;text-align:center}.intro-tip{justify-self:end;max-width:26rem;border:1px solid rgba(15,123,104,.22);background:#0f7b680f;border-radius:14px;padding:.65rem .75rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem}.intro-tip p{margin:0;font-size:.86rem}.intro-tip .btn{padding:.45rem .7rem;font-size:.9rem}.preset-list{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}.preset-mobile{display:none;justify-content:center}.preset-mobile-trigger{width:100%;max-width:24rem;border-radius:14px;background:#eef0f5;border-color:#dfe3ec}:root[data-theme=dark] .preset-mobile-trigger{background:#ffffff0a;border-color:#ffffff1a}.preset-modal{position:fixed;inset:0;z-index:80;display:grid;align-items:end}.preset-modal-backdrop{position:absolute;inset:0;border:0;background:#0000005c;cursor:pointer}.preset-modal-sheet{position:relative;z-index:1;background:#f7f8fb;border-radius:18px 18px 0 0;border:1px solid #e4e8f0;padding:.9rem .9rem 1rem;box-shadow:0 -10px 30px #00000026}:root[data-theme=dark] .preset-modal-sheet{background:#242427;border-color:#ffffff14;box-shadow:0 -14px 34px #00000059}.preset-modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.preset-modal-head h3{margin:0;font-size:1rem}.preset-modal-close{width:2.2rem;height:2.2rem}.preset-modal-hint{margin:0 0 .65rem;font-size:.84rem;color:var(--muted)}.preset-modal-list{display:grid;gap:.55rem}.preset-modal-list .preset-btn{width:100%;justify-content:center}.preset-btn{border:1px solid transparent;background:#e7e8ed;border-radius:16px;padding:.55rem .6rem;cursor:pointer;display:inline-flex;gap:.42rem;align-items:center;justify-content:center;transition:transform .12s ease,box-shadow .12s ease}.preset-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px #00000014}.preset-btn--named{display:grid;gap:.4rem;justify-items:center;min-width:13rem;padding:.55rem .8rem .65rem;position:relative}.preset-btn--featured{background:linear-gradient(#f7f7fb,#f7f7fb) padding-box,linear-gradient(115deg,#2f61df,#26d17c 42%,#ffd94a,#ff9d3b 78%,#8457f7) border-box;box-shadow:0 10px 22px #2f61df24}.preset-badge{font-size:.62rem;line-height:1;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2f61df;background:#2f61df14;border:1px solid rgba(47,97,223,.14);border-radius:999px;padding:.22rem .45rem}.preset-dots-row{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;flex-wrap:wrap}.preset-label{font-size:.82rem;font-weight:700;color:var(--ink);line-height:1.1}:root[data-theme=dark] .preset-btn{background:#ffffff14}:root[data-theme=dark] .preset-btn--featured{background:linear-gradient(#191a1ff5,#191a1ff5) padding-box,linear-gradient(115deg,#4f7cff,#2be08a 42%,#ffe16a,#ffb057 78%,#9b74ff) border-box;box-shadow:0 14px 26px #00000038}:root[data-theme=dark] .preset-badge{color:#b8cbff;background:#4f7cff1f;border-color:#4f7cff33}.preset-dot{width:1.65rem;height:1.65rem;border-radius:999px;border:0;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;box-shadow:inset 0 1px #fff6}:root[data-theme=dark] .preset-dot{border-color:#ffffff2e}.action-row{display:grid;grid-template-columns:auto minmax(18rem,31rem) auto;justify-content:center;align-items:center;gap:1rem;margin:.35rem 0 .2rem}.roll-btn{min-height:4.55rem;width:100%;border-radius:999px;font-size:1.35rem;font-weight:800;letter-spacing:.02em;border:0;background:linear-gradient(180deg,#3a6ce8,#2f61df);box-shadow:0 10px 24px #2f61df47}.roll-btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px #2f61df57}.action-row .icon-btn{width:2.65rem;height:2.65rem;border-radius:999px;border:1px solid #d9dbe2;background:#f7f7fa;color:var(--ink);box-shadow:none;font-size:1.15rem}:root[data-theme=dark] .action-row .icon-btn{background:#ffffff0a;border-color:#ffffff1f}.settings-panel{border:1px solid var(--line);border-radius:18px;padding:.8rem;background:color-mix(in srgb,var(--card) 88%,transparent)}.add-dice-row{display:flex;justify-content:center}.add-dice-row .btn{min-width:13rem}.add-dice-row--top{margin-top:-.15rem;margin-bottom:.15rem}.add-dice-row--bottom{margin-top:-.1rem}.settings-grid{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.dice-stage{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.dice-stage.has-used-dice{grid-template-columns:minmax(0,1fr) minmax(14.5rem,18rem)}.dice-stage.settings-open{align-items:stretch}.dice-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.45rem;align-items:start;min-height:9.25rem;margin-top:.15rem}.dice-grid.settings-open{display:grid;grid-template-columns:1fr;gap:.8rem;justify-content:stretch;min-height:0}.die-card{border:1px solid #e6e8ef;border-radius:16px;padding:.7rem;background:#f7f8fb;box-shadow:0 1px 2px #00000005;display:grid;gap:.7rem}:root[data-theme=dark] .die-card{background:#ffffff05;border-color:#ffffff14}.die-card.compact{justify-items:center;align-content:center;width:8.8rem;min-height:8.8rem;padding:1rem;border-radius:18px}.die-scope-row{display:flex;justify-content:center;margin-top:-.15rem}.die-card.compact .die-scope-row{margin-top:-.25rem}.die-scope-row .btn.small{min-height:2rem;padding:.35rem .6rem;font-size:.8rem;border-radius:999px}.die-scope-action{border:1px solid rgba(47,97,223,.2);background:linear-gradient(180deg,#f7fbff,#eef4ff);color:#2149b3;font-weight:700;box-shadow:0 4px 10px #2f61df14;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.die-scope-action:hover{transform:translateY(-1px);border-color:#2f61df57;box-shadow:0 8px 16px #2f61df24}:root[data-theme=dark] .die-scope-action{background:linear-gradient(180deg,#3f6ce22e,#2951be2e);border-color:#6f99ff47;color:#d8e4ff;box-shadow:none}.die-card.compact .die-scope-row .btn.small{font-size:.74rem;padding:.3rem .55rem}.die-main{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;align-items:center}.die-card.compact .die-main{display:grid;gap:0;justify-items:center}.die-face{width:5.2rem;height:5.2rem;border-radius:13px;border:2px solid rgba(0,0,0,.12);box-shadow:0 3px 10px #00000014;display:grid;place-items:center;cursor:pointer;position:relative;user-select:none;transition:transform .12s ease,box-shadow .12s ease;overflow:hidden}.die-face:after{content:"";position:absolute;inset:.35rem;border-radius:10px;border:2px solid rgba(0,0,0,.07);pointer-events:none;z-index:0}.die-face:hover{transform:scale(1.04);box-shadow:0 8px 20px #00000024}.die-face.rolling{animation:wiggle .22s ease-in-out infinite}.die-face-content{position:relative;z-index:1;width:100%;height:100%;display:grid;place-items:center}.die-hover-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#00000059;color:#fff;font-size:1.1rem;opacity:0;transition:opacity .15s ease;z-index:2}.die-face:hover .die-hover-overlay,.die-face:focus-visible .die-hover-overlay{opacity:1}.die-card.compact .die-hover-overlay{border-radius:10px}.die-card.compact .die-face{border-color:#d9dbe3}:root[data-theme=dark] .die-card.compact .die-face{border-color:#ffffff24}.die-badge-left{position:absolute;left:.15rem;bottom:.15rem;width:1rem;height:1rem;border-radius:999px;display:grid;place-items:center;font-size:.62rem;background:#0000008c;color:#fff;z-index:3}.pause-order{position:absolute;bottom:.15rem;right:.15rem;min-width:1rem;height:1rem;padding:0 .2rem;border-radius:999px;display:grid;place-items:center;font-size:.62rem;background:#0000008c;color:#fff;font-weight:700;z-index:3}.die-value-text{font-weight:800;font-size:2rem;line-height:1}.die-meta{display:grid;gap:.2rem;text-align:center;color:var(--muted);font-size:.82rem}.die-card.compact .die-meta{gap:.05rem;font-size:.72rem}.die-card.compact .die-meta strong{font-size:.8rem}.used-dice-panel{border:1px dashed #d8dce6;border-radius:16px;background:#ffffff8c;padding:.8rem;display:grid;gap:.7rem;align-content:start;min-height:9.25rem}.used-dice-panel.has-items{border-style:solid;background:color-mix(in srgb,var(--card) 92%,transparent)}:root[data-theme=dark] .used-dice-panel{border-color:#ffffff1f;background:#ffffff05}.used-dice-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;color:var(--ink);font-size:.9rem}.used-dice-panel-head span{min-width:1.65rem;height:1.65rem;border-radius:999px;display:grid;place-items:center;font-weight:500;font-size:.8rem;background:#e7ebf4;color:#2a3446}:root[data-theme=dark] .used-dice-panel-head span{background:#ffffff14;color:#edf1fb}.used-dice-empty{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}.used-dice-list{display:grid;gap:.6rem;align-content:start}.used-die-card{border:1px solid #e6e8ef;border-radius:14px;padding:.55rem;background:#f7f8fb;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem .6rem;align-items:center}:root[data-theme=dark] .used-die-card{background:#ffffff08;border-color:#ffffff14}.used-die-preview{width:3.2rem;height:3.2rem;border-radius:10px;border:2px solid rgba(0,0,0,.12);position:relative;display:grid;place-items:center;overflow:hidden;box-shadow:0 2px 8px #00000014;opacity:.9}.used-die-preview:after{content:"";position:absolute;inset:.22rem;border-radius:8px;border:1px solid rgba(0,0,0,.08);pointer-events:none}:root[data-theme=dark] .used-die-preview{border-color:#ffffff24}.used-die-preview .die-pips{padding:.34rem;gap:.08rem}.used-die-preview .die-pips i{width:.34rem;height:.34rem}.used-die-preview .die-value-text{font-size:1.15rem}.used-die-badge{position:absolute;right:.12rem;bottom:.12rem;width:.95rem;height:.95rem;border-radius:999px;display:grid;place-items:center;background:#0c8242db;color:#fff;font-size:.58rem;font-weight:800;z-index:2}.used-die-meta{display:grid;gap:.15rem;min-width:0;color:var(--muted);font-size:.76rem}.used-die-meta strong{color:var(--ink);font-size:.8rem}.used-die-return{min-height:2rem;padding:.35rem .55rem;border-radius:999px;white-space:nowrap}.die-settings{display:grid;gap:.55rem;justify-items:center}.die-controls{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.die-controls--edit{flex-wrap:nowrap;justify-content:center}.die-controls .btn.small{padding:.45rem .65rem;min-width:2.2rem;height:2.2rem}.color-input{width:2.4rem;height:2.2rem;border:1px solid var(--line);border-radius:10px;padding:.15rem;background:transparent;cursor:pointer}.icon-picker{position:relative;overflow:hidden;color:var(--ink);flex-shrink:0}.icon-picker svg,.die-controls .icon-btn svg,.action-row .icon-btn svg{display:block;pointer-events:none;width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.color-input--icon{position:absolute;inset:0;width:100%;height:100%;opacity:0;padding:0;border:0;cursor:pointer}.die-settings .field[type=number]{width:4rem;text-align:center;flex-shrink:0}.empty-text{text-align:center;margin:0}.tutorial-text{margin:0;white-space:pre-line;font-size:.95rem;line-height:1.45;max-width:64rem;justify-self:center}.die-pips{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:.16rem;padding:.72rem}.die-pips span{display:grid;place-items:center}.die-pips i{width:.62rem;height:.62rem;border-radius:999px;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes wiggle{0%{transform:rotate(0)}25%{transform:rotate(3deg)}50%{transform:rotate(-3deg)}to{transform:rotate(0)}}@media(max-width:640px){.dice-toolbar{align-items:stretch}.dice-toolbar{display:none}.intro-tip{flex-direction:column;align-items:flex-start;justify-self:stretch;max-width:none}.preset-list{display:none}.preset-mobile{display:flex}.roll-btn{width:100%;min-height:3.4rem;font-size:1.15rem}.action-row{grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center}.action-row .icon-btn{width:2.8rem;height:2.8rem}.dice-stage,.dice-stage.has-used-dice{grid-template-columns:1fr;gap:.8rem}.used-dice-panel{min-height:0}.dice-grid{gap:.7rem;justify-content:center;min-height:0}.die-card.compact{width:calc(50% - .35rem);min-height:7.35rem;padding:.75rem}.die-face{width:4.35rem;height:4.35rem}.used-die-card{grid-template-columns:auto minmax(0,1fr) auto}.used-die-preview{width:3rem;height:3rem}.die-pips{padding:.52rem}.die-pips i{width:.5rem;height:.5rem}.die-value-text{font-size:1.75rem}}
