:root{
  --saffron:#FF9933; --green:#138808; --navy:#0a0f1a;
  --slate:#1a2235; --card:#141b2d; --text:#e8eaf0;
  --muted:#8892a6; --line:rgba(255,255,255,0.08);
  --red:#e24b4a; --amber:#FF9933; --good:#4ade80;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--navy);color:var(--text);min-height:100dvh;display:flex;flex-direction:column;overscroll-behavior:none}
.app{max-width:460px;width:100%;margin:0 auto;flex:1;display:flex;flex-direction:column;padding:0 16px}
.hd{display:flex;align-items:center;justify-content:space-between;padding:16px 2px 10px}
.logo{font-family:'Playfair Display',serif;font-size:26px;font-weight:700}
.logo .q{background:linear-gradient(135deg,var(--saffron),var(--green));-webkit-background-clip:text;background-clip:text;color:transparent}
.logo .rest{color:var(--text)} .logo .dot{color:var(--muted)}
.signin{font-size:13px;color:var(--muted);text-decoration:none}
.tabs{display:flex;gap:6px;margin:6px 0 14px}
.tab{flex:1;text-align:center;padding:10px;border-radius:10px;font-size:14px;color:var(--muted);background:var(--slate);cursor:pointer;user-select:none;transition:.15s;font-family:inherit;border:none}
.tab.on{background:rgba(255,153,51,0.12);color:var(--saffron);font-weight:600;box-shadow:inset 0 0 0 1px rgba(255,153,51,0.3)}
.stage{flex:1;display:flex;flex-direction:column}

.result{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;align-items:center;gap:12px;min-height:78px}
.result-text{flex:1;font-family:'JetBrains Mono',monospace;font-size:19px;font-weight:700;word-break:break-all;line-height:1.4;color:var(--text)}
.result-actions{display:flex;gap:8px;flex-shrink:0}
.ic{padding:8px 12px;border-radius:10px;background:var(--slate);border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s}
.ic:hover{border-color:var(--saffron);color:var(--saffron)}
.ic:active{transform:scale(.95)}

.strength{margin-top:12px;display:flex;align-items:center;gap:10px}
.strength-bar{flex:1;height:8px;background:var(--slate);border-radius:6px;overflow:hidden}
.strength-bar span{display:block;height:100%;width:0;border-radius:6px;transition:width .3s,background .3s}
.strength-label{font-size:12px;font-weight:600;min-width:64px;text-align:right;color:var(--muted)}

.ctl{display:none;margin-top:16px}
.ctl.on{display:block}
.rowbetween{display:flex;align-items:center;justify-content:space-between;margin:14px 0 6px}
.lbl{font-size:12px;color:var(--muted)}
.val{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:var(--saffron)}
input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:6px;background:var(--slate);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--saffron),var(--green));cursor:pointer;border:2px solid var(--navy)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--saffron);cursor:pointer;border:2px solid var(--navy)}

.toggles{display:flex;gap:8px;margin-top:14px}
.tog{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px;border-radius:10px;background:var(--slate);border:1px solid var(--line);cursor:pointer;font-size:13px;font-weight:600;color:var(--muted);transition:.15s;user-select:none}
.tog input{accent-color:var(--saffron);cursor:pointer}
.tog:has(input:checked){border-color:var(--saffron);color:var(--saffron)}
.tog.wide{margin-top:10px;justify-content:flex-start;font-weight:400;font-size:13px}

.segrow{display:flex;gap:8px}
.seg{flex:1;padding:10px;border-radius:10px;background:var(--slate);border:1px solid var(--line);color:var(--muted);font-size:12px;text-align:center;cursor:pointer;transition:.15s;user-select:none}
.seg.on{border-color:var(--saffron);color:var(--saffron)}

.dice{width:100%;margin-top:16px;padding:14px;border-radius:14px;border:none;cursor:pointer;font-family:inherit;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--saffron),var(--green));display:flex;align-items:center;justify-content:center;gap:10px}
.dice:active{transform:scale(.98)}
.dice-face{font-size:24px;line-height:1;display:inline-block}
.dice-face.rolling{animation:tumble .6s ease}
@keyframes tumble{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
.dicehint{text-align:center;font-size:11px;color:var(--muted);margin-top:8px}

.entropy{text-align:center;font-size:12px;color:var(--muted);margin-top:16px;min-height:16px}
.entropy b{color:var(--text)}

.cross{display:block;text-align:center;margin-top:16px;padding:12px;border-radius:12px;background:var(--slate);border:1px solid var(--line);color:var(--saffron);text-decoration:none;font-size:13px;font-weight:600;transition:.15s}
.cross:hover{border-color:var(--saffron)}

.foot{text-align:center;font-size:11px;color:var(--muted);padding:16px 0}
.foot a{color:var(--saffron);text-decoration:none}
.foot .xlink{display:inline-flex;align-items:center;gap:4px;margin-left:8px;color:var(--muted);text-decoration:none;transition:color .15s}
.foot .xlink:hover{color:var(--text)}
.foot .xlink svg{vertical-align:middle}