:root{color-scheme:dark;--bg:#080a10;--side:#0d1017;--panel:#151921;--panel2:#1a202c;--line:#30384b;--text:#edf3ff;--muted:#99a5b8;--accent:#69aaff;--accent-secondary:#9c81f7;--on-accent:#081120;--alert:#f1d18e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:15px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--accent)}.shell{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{background:var(--side);border-right:1px solid var(--line);padding:28px 15px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:5px 11px 56px}.brand-icon{font-size:23px;font-weight:800;letter-spacing:-4px;border:1px solid #5678c5;color:var(--accent);width:41px;height:41px;display:grid;place-items:center;border-radius:12px;padding-right:4px}.brand strong{font-size:23px;letter-spacing:-1px;display:block;line-height:1.1}.brand small{font-size:9px;color:var(--accent);letter-spacing:2px;font-weight:800}.nav-label,.panel-kicker,.eyebrow,.stat-caption,.crumb{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.9px}.nav-label{padding-left:13px;margin-bottom:14px}.nav{display:grid;gap:7px}.nav-btn{border:1px solid transparent;border-radius:10px;background:transparent;color:#acb8cd;text-align:left;padding:14px 12px;display:flex;align-items:center;gap:12px;font-weight:650}.nav-btn:hover,.nav-btn:focus-visible{background:#192338;color:white}.nav-btn.active{background:linear-gradient(95deg,#172848,#241e3e);border-color:#4668ae;color:var(--accent)}.nav-ico{font-size:18px;width:24px;text-align:center}.sidebar-bottom{margin-top:auto;padding:16px 13px 0;border-top:1px solid var(--line);font-size:11px;color:#d3ddf1}.sidebar-bottom p{color:var(--muted);font-size:11px;line-height:1.75;margin-bottom:0}.online-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;display:inline-block;box-shadow:0 0 12px #5898ff66;margin-right:6px}.main{min-width:0}.topbar{height:66px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,78px);gap:20px}.crumb span{color:var(--accent)}.topright{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--muted)}.protect{color:var(--accent)}.version{border:1px solid var(--line);padding:5px 8px;border-radius:5px}.content{width:min(1030px,100%);margin:0 auto;padding:55px clamp(20px,5vw,65px) 30px}.tab{display:none}.tab.active{display:block}.eyebrow{color:var(--accent);margin-bottom:16px}h1{font-size:clamp(39px,5vw,63px);line-height:1.09;letter-spacing:-2.8px;margin:0;font-weight:800}h1 em{font-style:normal;color:var(--accent)}.intro{color:var(--muted);font-size:15px;line-height:1.7;max-width:690px;margin:19px 0 32px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:25px;margin:0 0 18px;box-shadow:0 5px 25px #00000015}.hero-panel{background:linear-gradient(125deg,#1a2338 0%,#161c2a 56%,#151921 100%);border-color:#4664a0}.panel-head,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-head{margin-bottom:20px}h2{font-size:19px;letter-spacing:-.4px;margin:5px 0 0}.section-heading{margin-bottom:19px}.section-heading h2{margin-top:0}.secure-pill,.small-tag{font-size:11px;color:var(--accent);border:1px solid #3d5377;border-radius:50px;padding:8px 11px;white-space:nowrap}.output-box{border:1px solid #405984;background:#0b101a;border-radius:11px;overflow:hidden}.output-box textarea{display:block;background:transparent;color:var(--accent);font-size:18px;letter-spacing:.3px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;width:100%;border:0;outline:0;resize:vertical;min-height:100px;max-height:250px;overflow-wrap:anywhere;padding:17px;line-height:1.6}.output-controls{border-top:1px solid #293650;display:flex;justify-content:flex-end;padding:8px;gap:8px}.mini-btn,.ghost-btn,.chip,.copy-tool{background:transparent;border:1px solid #354762;color:#e4ecfc;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:700}.mini-btn:hover,.ghost-btn:hover,.chip:hover,.copy-tool:hover{border-color:var(--accent);color:var(--accent)}.stats{display:flex;gap:0;padding-top:23px}.stats>div{width:33.333%;padding:0 18px;border-right:1px solid var(--line)}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stat-caption{display:block;font-size:9px;margin-bottom:8px}.stats b{font-size:19px}.muted,.field-label span{color:var(--muted);font-size:12px}.presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.chip.selected{background:#202c4d;color:var(--accent);border-color:#5779b9}.length-row{display:flex;justify-content:space-between;align-items:center;font-weight:700;gap:20px;margin-bottom:16px}.length-input{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.length-input input{width:82px;padding:9px;border:1px solid var(--line);border-radius:7px;color:var(--accent);background:#0c111d;text-align:center;font-weight:800}.length-input input::-webkit-inner-spin-button{opacity:1}input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.range-hints{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:5px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:29px}.check-line{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);background:#111723;border-radius:9px;cursor:pointer}.check-line span{display:flex;flex-direction:column;min-width:0;gap:5px}.check-line b{font-size:13px}.check-line small{font:11px ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}input[type=checkbox]{accent-color:var(--accent);height:17px;width:17px;flex-shrink:0}.suboptions{display:flex;flex-direction:column;gap:10px;margin-top:19px}.simple-check,.extra-checks label{display:flex;align-items:center;gap:8px;font-size:13px;color:#c3cee2;cursor:pointer}.explainer{color:var(--muted);line-height:1.65;font-size:13px;margin:0 0 20px}.explainer strong{color:#e0e8f8}.extra-checks{display:flex;gap:12px 25px;flex-wrap:wrap;margin-bottom:20px}.field-label{display:block;font-size:12px;font-weight:800;margin:14px 0 8px}.field{display:block;width:100%;background:#0c101a;border:1px solid #37455e;border-radius:9px;padding:12px 13px;color:var(--text);outline:none;min-width:0}.field:focus,.length-input input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #69aaff1f}.field::placeholder{color:#7a8aa6}.tiny-info{color:#9eacc2;font-size:11px;line-height:1.6}.action-row{display:flex;gap:12px;flex-wrap:wrap;margin:19px 0 35px}.action-row.inpanel{margin-bottom:0}.primary-btn{border:0;background:var(--accent);color:var(--on-accent);font-weight:850;min-width:235px;border-radius:10px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.primary-btn:hover{background:#9cc9ff}.ghost-btn{padding:15px 19px}.input-action{display:flex;gap:10px}.input-action input{flex:1}.inline-btn{background:#1d2d4b;border:1px solid #546fac;border-radius:9px;padding:11px 13px;font-size:12px;white-space:nowrap;color:var(--accent);font-weight:800}.inline-btn:hover{background:#253a60}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.large-field{resize:vertical;line-height:1.5}.qr-output .qr-render{display:flex;align-items:center;justify-content:center;padding:20px;background:#fff;border-radius:12px;max-width:320px;margin:20px auto}.qr-render canvas{width:min(260px,100%);height:auto;image-rendering:pixelated;aspect-ratio:1}.qr-output{text-align:center}.qr-output h2{text-align:left}.hidden{display:none!important}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tool-panel{margin:0;min-width:0}.tool-panel h2{margin:10px 0 0}.tool-panel p{margin:8px 0 16px;color:var(--muted);font-size:12px;line-height:1.6;min-height:20px}.tool-icon{display:grid;place-items:center;font-size:23px;width:40px;height:40px;background:#242e4b;color:var(--accent);border-radius:9px}.full{width:100%;margin:12px 0}.tool-result{margin-top:10px;min-height:78px;resize:vertical;overflow-wrap:anywhere;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent)}.copy-tool{margin-top:9px}.span-wide{grid-column:1/-1}.recovery-result{min-height:165px}.message{position:fixed;right:22px;bottom:20px;max-width:min(460px,calc(100vw - 36px));padding:13px 17px;border:1px solid #4a64b5;background:#1a2440;border-radius:10px;z-index:9;box-shadow:0 10px 30px #0006;font-size:13px}.message.error{border-color:#a18adf;color:#eee2ff}.footer{display:flex;gap:16px;justify-content:space-between;align-items:center;padding-top:35px;margin-top:28px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.8}.footer span{color:var(--accent)}.security-notes{color:var(--muted);font-size:12px;line-height:1.75;margin:28px 0 0;padding:18px 0}.security-notes h2{color:var(--text);font-size:14px}.security-notes p{max-width:850px}@media(max-width:920px){.shell{display:block}.sidebar{height:auto;position:relative;padding:14px 18px 8px}.brand{padding:5px 2px 13px}.nav-label,.sidebar-bottom{display:none}.nav{display:flex;gap:5px;overflow-x:auto}.nav-btn{padding:10px;font-size:12px;flex-shrink:0}.topbar{padding:0 20px}.content{padding:40px 22px}.footer{flex-wrap:wrap}}@media(max-width:610px){.content{padding:30px 15px}.sidebar{padding:12px 10px 6px}.nav-btn{font-size:11px;gap:6px;padding:8px}.nav-ico{font-size:15px;width:17px}.topbar{height:52px}.crumb{font-size:9px}.protect{display:none}.panel{padding:17px}.check-grid,.two-col,.tools-grid{grid-template-columns:1fr}.span-wide{grid-column:auto}.panel-head,.section-heading{align-items:flex-start;flex-wrap:wrap}.secure-pill{font-size:10px}.stats b{font-size:15px}.stat-caption{font-size:8px}.stats>div{padding:0 9px}.presets{gap:5px}.chip{padding:8px 10px}.primary-btn{width:100%}.input-action{flex-wrap:wrap}.input-action .field{flex-basis:100%}.inline-btn{white-space:normal}.extra-checks{flex-direction:column}h1{font-size:37px;letter-spacing:-1.5px}.output-box textarea{font-size:14px}}


/* PWGen v1.0.1 | Nightfall theme: black / anthracite + blue / violet */
:root {
  color-scheme: dark;
  --bg: #080a10;
  --side: #0d1017;
  --panel: #151921;
  --panel2: #1a202c;
  --line: #30384b;
  --text: #edf3ff;
  --muted: #99a5b8;
  --accent: #79b3ff;
  --accent-secondary: #aa91ff;
  --on-accent: #ffffff;
  --alert: #d7c2ff;
  --edge-gradient: linear-gradient(125deg, rgba(59,130,246,.7) 0%, rgba(107,100,247,.5) 48%, rgba(159,112,255,.48) 100%);
  --edge-gradient-subtle: linear-gradient(125deg, rgba(72,118,206,.53) 0%, rgba(88,99,170,.35) 48%, rgba(135,91,220,.5) 100%);
}
body {
  background: #080a10;
  background-image: radial-gradient(ellipse 60% 35% at 82% -5%, rgba(37,82,175,.13), transparent 75%);
}
.sidebar {
  background: linear-gradient(180deg,#0f131d,#0b0d14 84%);
  border-right-color: #26334b;
}
.brand-icon {
  color: #a6caff;
  border: 1px solid transparent;
  background: linear-gradient(#161d2a,#161d2a) padding-box, var(--edge-gradient) border-box;
  box-shadow: 0 0 20px rgba(63,118,243,.11);
}
.brand small { color: #a3a9fc; }
.nav-btn { transition: background .15s ease, border-color .15s ease, color .15s ease; }
.nav-btn:hover,.nav-btn:focus-visible { background: #1b2231; }
.nav-btn.active {
  background: linear-gradient(110deg,rgba(33,72,137,.34),rgba(79,56,139,.26));
  border-color: rgba(94,141,238,.53);
  color: #b9d8ff;
  box-shadow: inset 2px 0 0 #86a9ff,0 4px 16px rgba(0,0,0,.16);
}
.topbar { background: rgba(11,14,23,.54); border-color: #293247; }
.version { border-color: #39455f; color: #c6d4ed; }
.crumb span,.eyebrow,.protect { color: #a6c4ff; }
h1 em {
  color: #9fb9ff;
  background: linear-gradient(100deg,#8ac2ff 0%,#a39dff 70%,#cab2ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* Real gradient BORDER (not a glowing filled panel): two background layers. */
.panel {
  border: 1px solid transparent;
  background: linear-gradient(148deg,#171b25 0%,#12161f 75%) padding-box, var(--edge-gradient-subtle) border-box;
  box-shadow: 0 12px 32px rgba(0,0,0,.19);
}
.hero-panel {
  background: linear-gradient(128deg,#1a2233 0%,#151b29 44%,#131722 100%) padding-box, var(--edge-gradient) border-box;
  box-shadow: 0 14px 42px rgba(0,0,0,.27), 0 0 36px rgba(58,97,208,.065);
}
.secure-pill,.small-tag {
  color: #c7d9ff;
  border-color: #465c89;
  background: rgba(46,67,112,.15);
}
.output-box {
  border-color: #435a89;
  background: #0a101c;
  box-shadow: inset 0 0 0 1px rgba(42,67,121,.09);
}
.output-box textarea,.tool-result { color: #b3d3ff; }
.output-controls { border-top-color: #2a3753; }
.mini-btn,.ghost-btn,.chip,.copy-tool { border-color: #3c4962; color: #dbe6fa; }
.mini-btn:hover,.ghost-btn:hover,.chip:hover,.copy-tool:hover { border-color: #7dacf9; color: #a9caff; }
.chip.selected {
  background: linear-gradient(115deg,rgba(54,102,181,.3),rgba(101,77,180,.26));
  color: #cae0ff;
  border-color: #708fd0;
}
.length-input input,.field { background: #0d121c; border-color: #36435c; color: var(--text); }
.length-input input { color: #b8d6ff; }
.field:focus,.length-input input:focus {
  border-color: #89b7ff;
  box-shadow: 0 0 0 3px rgba(94,139,250,.19);
}
.field::placeholder { color: #71819a; }
input[type=range],input[type=checkbox] { accent-color: #7caeff; }
.check-line { background: #121722; border-color: #303b51; transition: border-color .15s ease,background .15s ease; }
.check-line:hover,.check-line:focus-within { border-color: #718fd1; background: #172036; }
.primary-btn {
  background: linear-gradient(110deg,#377eec,#5e6bf2 57%,#825ee5);
  color: #ffffff;
  box-shadow: 0 7px 22px rgba(64,89,227,.22);
  transition: filter .15s ease, transform .15s ease, box-shadow .15s ease;
}
.primary-btn:hover { background: linear-gradient(110deg,#468af4,#6978ff 57%,#956df0); box-shadow: 0 8px 30px rgba(81,112,241,.3); }
.primary-btn:active { transform: translateY(1px); }
.inline-btn {
  color: #bfd5ff;
  background: linear-gradient(115deg,#1c2b49,#282044);
  border-color: #4d65a1;
}
.inline-btn:hover { background: linear-gradient(115deg,#26395f,#352959); }
.tool-icon {
  background: linear-gradient(145deg,rgba(51,94,180,.36),rgba(92,59,150,.28));
  color: #b7cdff;
  border: 1px solid #46537c;
}
.online-dot { background: #78baff; box-shadow: 0 0 13px rgba(90,164,255,.4); }
.message { border-color: #536fb3; background: #18233a; color: #e6efff; }
.message.error { border-color: #8879c5; color: #eedfff; }
*:focus-visible { outline: 2px solid #9bbdff; outline-offset: 2px; }
@media(prefers-reduced-motion:reduce){
  .nav-btn,.check-line,.primary-btn { transition: none; }
}

/* v1.1.0 – kompakte Privatansicht */
.content{padding-top:30px}
.short-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
.short-header .eyebrow{margin-bottom:7px}
.short-header h1{font-size:clamp(32px,3.5vw,44px);letter-spacing:-1.5px}
.dot-accent{color:var(--accent-secondary)}
.quick-panel{background:linear-gradient(150deg,#171d2b,#111621) padding-box,var(--edge-gradient) border-box}
.panel-actions{display:flex;flex-wrap:wrap;gap:8px}
.primary-btn.small-button,.ghost-btn.small-button{width:auto;min-width:0;padding:9px 13px;font-size:12px;justify-content:center}
.batch-list{display:grid;gap:10px}
.batch-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #303c57;border-radius:10px;background:#0d131e}
.batch-length{font-size:12px;color:#d5e2fa;white-space:nowrap}
.batch-value{width:100%;min-width:0;height:44px;min-height:44px;max-height:44px;resize:none;display:block;padding:11px 12px;border:1px solid #2c3b58;border-radius:8px;background:#090f19;color:#b7d4ff;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto;white-space:pre;overflow-wrap:normal}
.batch-value:focus{outline:2px solid #789ff6}
.batch-row .mini-btn{white-space:nowrap}
.batch-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:13px;color:var(--muted);font-size:11px}
.rules-panel .field-label{margin:0 0 8px}
.rules-panel #password-profile{font-weight:700}
.profile-hint{color:var(--muted);font-size:12px;margin:9px 0 22px;line-height:1.5}
.rules-panel input:disabled,.rules-panel label:has(input:disabled){opacity:.55;cursor:not-allowed}
.rules-panel .length-row{margin-top:12px}
.rules-panel .check-grid{margin-top:20px}
.rule-divider{height:1px;background:var(--line);margin:22px 0 17px}
.mix-heading{margin-bottom:12px}
.mix-heading h3{font-size:14px;margin:0}
.rules-panel .extra-checks{margin-bottom:8px}
.custom-mix{margin-top:9px;color:var(--muted);font-size:12px}
.custom-mix summary{cursor:pointer;user-select:none;padding:7px 0}
.custom-mix .field{margin:4px 0 9px}
.rules-panel .tiny-info{margin-bottom:0}
.hero-panel{margin-top:18px}
.hero-panel .action-row{margin-top:17px}
.hero-panel .output-box textarea{max-height:160px;min-height:85px}
.security-notes{margin:15px 0 0;padding:4px 0 6px}
.security-notes summary{cursor:pointer;font-size:12px;color:var(--muted)}
.security-notes p{font-size:12px;line-height:1.6}
@media(max-width:610px){
  .short-header{align-items:flex-start}
  .short-header .small-tag{font-size:10px;padding:6px 9px}
  .panel-actions{width:100%}
  .panel-actions .small-button{flex:1}
  .batch-row{grid-template-columns:1fr auto;gap:7px}
  .batch-length{grid-column:1}
  .batch-row .mini-btn{grid-row:1;grid-column:2;padding:8px 11px}
  .batch-value{grid-column:1/-1;grid-row:2}
}

.rules-panel.profile-locked .length-row,
.rules-panel.profile-locked #password-range,
.rules-panel.profile-locked .range-hints,
.rules-panel.profile-locked .check-grid,
.rules-panel.profile-locked .suboptions{display:none}
.rules-panel.profile-locked .profile-hint{margin-bottom:7px}
.rules-panel.profile-locked .rule-divider{margin-top:16px}
/* v1.2.0: controls, result and actions form one task-specific panel. */
.content{padding-top:24px}
.combined-panel{margin-bottom:13px;padding:22px;background:linear-gradient(137deg,#171d2b,#11151e 80%) padding-box,var(--edge-gradient) border-box}
.combined-heading{margin:0 0 14px;align-items:center}
.combined-heading h2{font-size:19px;letter-spacing:-.4px}
.profile-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.profile-main{min-width:0}
.profile-main .field-label{margin:0 0 7px}
.profile-main .field{min-height:44px}
.profile-main .profile-hint{margin:6px 0 0;line-height:1.35;font-size:11px;min-height:15px}
.profile-generate .primary-btn{min-width:150px;min-height:44px;padding:10px 15px;white-space:nowrap;font-size:13px}
.custom-rules{padding:14px 0 0}
.combined-panel.profile-locked .custom-rules{display:none}
.custom-rules .length-row{margin:0 0 7px}
.custom-rules .check-grid{margin-top:12px}
.custom-rules .check-line{padding:10px 12px}
.custom-rules .suboptions{margin-top:12px}
.mix-compact{border-top:1px solid #2b3853;margin-top:14px;padding-top:12px}
.mix-top,.result-heading{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:9px}
.mix-top h3,.result-heading h3{font-size:13px;margin:0;font-weight:750}
.mix-top span,.result-heading span{color:var(--muted);font-size:10px}
.mix-compact .extra-checks{gap:7px 20px;margin:0}
.mix-compact .extra-checks label{font-size:12px}
.mix-compact .custom-mix{margin-top:4px}
.mix-compact .custom-mix summary{padding:5px 0;font-size:11px}
.mix-compact .tiny-info{margin:4px 0 0;font-size:10px;line-height:1.35}
.result-area{margin-top:15px;border-top:1px solid #2c3750;padding-top:14px}
.result-area .output-box textarea{min-height:54px;height:67px;max-height:170px;resize:vertical;font-size:14px;line-height:1.5;padding:11px 13px}
.result-area .output-controls{padding:5px;gap:6px}
.result-area .mini-btn{padding:8px 12px;font-size:11px}
.result-bottom{display:flex;align-items:center;gap:12px;margin-top:11px}
.result-area .stats{padding-top:0;flex:1;min-width:0}
.result-area .stats>div{padding:0 11px}
.result-area .stats>div:first-child{padding-left:0}
.result-area .stat-caption{margin-bottom:4px;font-size:9px;letter-spacing:1.1px}
.result-area .stats b{font-size:14px}
.result-clear .ghost-btn{padding:8px 12px;font-size:11px}
.quick-panel{background:linear-gradient(150deg,#151a25,#11151c) padding-box,var(--edge-gradient-subtle) border-box;margin-bottom:13px;padding:18px 22px}
.quick-panel .section-heading{margin-bottom:10px;align-items:center}
.quick-panel .section-heading h2{font-size:16px}
.quick-panel .panel-actions{gap:6px}
.quick-panel .small-button{padding:8px 11px;font-size:11px}
.batch-list{gap:0;border:1px solid #303b50;border-radius:10px;overflow:hidden;background:#0b111b}
.batch-row{background:transparent;border:0;border-radius:0;border-bottom:1px solid #263246;display:grid;grid-template-columns:95px minmax(0,1fr) 78px;gap:8px;align-items:center;padding:5px 8px}
.batch-row:last-child{border-bottom:0}
.batch-length{color:#c6d5ec;font-size:11px;padding:0 4px}
.batch-row .batch-value{background:#101724;min-height:35px;height:35px;max-height:35px;white-space:nowrap;overflow-x:auto;border:1px solid #263652;color:#b8d5ff;font-size:12px;padding:6px 9px}
.batch-row .batch-copy{font-size:11px;padding:8px 9px;min-height:35px}
@media(max-width:610px){
 .content{padding:16px 11px 24px}
 .combined-panel{padding:14px}
 .combined-heading h2{font-size:17px}
 .combined-heading .secure-pill{white-space:normal;text-align:center;max-width:45%;font-size:10px;padding:6px 8px}
 .profile-row{grid-template-columns:1fr;gap:8px}
 .profile-generate .primary-btn{min-height:40px;width:100%;padding:9px 13px}
 .profile-main .profile-hint{min-height:0}
 .mix-compact{margin-top:11px;padding-top:10px}
 .mix-compact .extra-checks{display:flex;flex-direction:row;gap:7px 15px;flex-wrap:wrap}
 .result-area{margin-top:11px;padding-top:11px}
 .result-area .stats b{font-size:12px}
 .result-area .stat-caption{font-size:8px;letter-spacing:.4px}
 .result-area .stats>div{padding:0 6px}
 .result-bottom{gap:4px}
 .result-clear .ghost-btn{font-size:10px;padding:7px 8px}
 .result-area .output-box textarea{font-size:12px;height:60px;min-height:60px}
 .quick-panel{padding:13px 11px}
 .quick-panel .section-heading{align-items:center;flex-wrap:wrap;gap:8px}
 .quick-panel .section-heading h2{font-size:15px}
 .quick-panel .panel-actions{width:auto}
 .quick-panel .panel-actions .small-button{flex:initial;padding:7px 9px}
 .batch-row{grid-template-columns:62px minmax(0,1fr) 58px;gap:5px;padding:5px}
 .batch-length{font-size:10px;padding:0 2px;grid-row:auto;grid-column:auto}
 .batch-row .batch-value{grid-row:auto;grid-column:auto;font-size:10px;min-height:34px;height:34px;padding:5px 7px}
 .batch-row .batch-copy{grid-row:auto;grid-column:auto;padding:7px 4px;font-size:10px;min-height:34px}
}

/* PWGen 1.3: kräftiger Dark Blue / Purple Look und kompakte Karten */
:root{--edge-gradient:linear-gradient(120deg,#2988ff 0%,#7062ff 49%,#d047f8 100%);--edge-gradient-subtle:linear-gradient(130deg,#377dff 0%,#6857da 58%,#8b4ed8 100%)}
html{background:#070a13}
body{background:radial-gradient(ellipse at 75% 1%,#111e3b 0,transparent 43%),#070a13}
.shell{grid-template-columns:235px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,#0c1222,#080d17);border-right:1px solid #1f3555}
.brand{color:#edf3ff;text-decoration:none;cursor:pointer}
.brand:hover .brand-icon,.brand:focus-visible .brand-icon{box-shadow:0 0 18px #426fffbb}
.brand-icon{color:#48aeff;border:1px solid #6472fe;background:linear-gradient(140deg,#0e1f3b,#100b24);box-shadow:0 0 12px #3160fd33}
.nav-btn.active{border-left:2px solid #47b5ff;background:linear-gradient(95deg,#0e3664,#2b1c51);color:#b3e5ff}
.content{width:min(1540px,100%);padding:26px clamp(14px,2.1vw,34px) 30px}
.topbar{height:65px;padding:0 clamp(16px,2.3vw,34px)}
.panel{border:2px solid transparent;background:linear-gradient(155deg,#111f36,#101726 70%,#141324) padding-box,var(--edge-gradient-subtle) border-box;box-shadow:0 7px 30px #020409aa}
.combined-panel{padding:24px 26px;border:2px solid transparent;background:linear-gradient(140deg,#102441 0%,#111729 45%,#131022 100%) padding-box,var(--edge-gradient) border-box;box-shadow:0 0 18px #486cfd30,0 16px 35px #0007}
.quick-panel{padding:22px 24px;border:2px solid transparent;background:linear-gradient(140deg,#12243b,#131523 73%) padding-box,var(--edge-gradient) border-box;box-shadow:0 0 13px #7755ed2f}
.combined-heading{margin-bottom:17px}
.combined-heading h2{font-size:21px}
.profile-generate .primary-btn{min-width:205px;min-height:46px;box-shadow:0 0 18px #4a66ec65}
.primary-btn{background:linear-gradient(102deg,#239dff 0%,#4b6cfa 48%,#a337ef 100%);color:#fff}
.primary-btn:hover{background:linear-gradient(102deg,#39b2ff,#6079ff 48%,#ae49f9);box-shadow:0 0 21px #6b66f180}
.field,.output-box,.batch-value{border-color:#396498}
.field:focus-visible,.batch-value:focus-visible{outline:2px solid #6c8bff}
.mix-compact{border-top:1px solid #31516d}
.result-area{border-top:1px solid #294767}
.result-area .output-box textarea{height:82px;font-size:16px;color:#a5d8ff;background:#080f1e}
.output-box{box-shadow:inset 0 0 0 1px #1f3b5a}
.result-area .stats>div{background:linear-gradient(115deg,#11223a,#0e192d);border:1px solid #203651;border-radius:10px;margin-right:8px;padding:11px 13px}
.result-area .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.result-area .stats>div:last-child{margin-right:0}
.result-area .stats b{font-size:15px}
.batch-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;background:none;border:0;border-radius:0;overflow:visible}
.batch-row{min-width:0;min-height:160px;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:11px 11px 12px;border:1px solid #304667;border-radius:11px;background:linear-gradient(160deg,#0c1a2d,#0b1322);position:relative;overflow:hidden}
.batch-row:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#248dff,#974dff)}
.batch-row:last-child{border:1px solid #304667}
.batch-meta{display:flex;flex-direction:column;gap:3px;margin-top:6px}
.batch-length{color:#e7f1ff;font-size:13px;font-weight:800;padding:0}
.batch-strength{color:#64caff;font-size:10px;font-weight:700}
.batch-row .batch-value{min-width:0;width:100%;height:42px;min-height:42px;max-height:42px;background:#070e1d;color:#abd9ff;border:1px solid #31466b;font-size:12px;padding:10px 8px}
.batch-actions{display:flex;gap:6px;margin-top:auto}
.batch-actions .mini-btn{padding:7px 4px;min-width:0;flex:1;font-size:10px;min-height:32px;white-space:nowrap}
.footer{margin-top:24px;padding-top:19px}
.footer-links{display:flex;gap:19px;flex-wrap:wrap}
.footer-links a{color:#a8c6fc;text-decoration:none}
.footer-links a:hover{text-decoration:underline;color:#e4efff}
/* Rechtstexte: identische Gestaltung, klare Lesbarkeit */
.legal-page{min-height:100vh;background:radial-gradient(ellipse at 60% 0,#15264a 0,transparent 52%),#070a13;color:#e8f1ff}
.legal-top{max-width:980px;margin:auto;padding:25px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.legal-top .brand{padding:0;align-items:center}
.legal-top nav{display:flex;gap:16px;flex-wrap:wrap}
.legal-top nav a,.legal-bottom a{color:#bed3ff;text-decoration:none;font-size:13px}
.legal-top nav a:hover,.legal-bottom a:hover{text-decoration:underline}
.legal-main{max-width:980px;margin:0 auto;padding:12px 20px 30px}
.legal-card{padding:30px clamp(18px,4vw,42px);border:2px solid transparent;border-radius:18px;background:linear-gradient(145deg,#101f34,#121623 75%) padding-box,var(--edge-gradient) border-box}
.legal-card h1{font-size:clamp(30px,4vw,45px);letter-spacing:-1.2px;margin-bottom:10px}
.legal-card h2{font-size:18px;margin:28px 0 11px}
.legal-card p,.legal-card li,.legal-card address{font-size:14px;line-height:1.8;color:#c6d3e9;font-style:normal}
.legal-card ul{padding-left:22px}
.legal-card a{color:#88bbff}
.legal-card .legal-intro{color:#93b7f7}
.legal-placeholder{color:#c5a5ff;background:#282043;border:1px dashed #7865cd;padding:2px 6px;border-radius:5px}
.legal-warning{border:1px solid #7464d5;background:#201a37;border-radius:11px;padding:13px 17px;margin:23px 0;font-size:13px;color:#ece0ff}
.legal-bottom{max-width:980px;margin:auto;padding:15px 20px 26px;display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid #2d3a53}
@media(max-width:1200px){.batch-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px){.shell{display:block}.batch-list{grid-template-columns:repeat(2,minmax(0,1fr))}.result-area .stats>div{padding:9px}}
@media(max-width:610px){
 .content{padding:13px 10px 22px}
 .combined-panel,.quick-panel{padding:14px 11px}
 .combined-heading h2{font-size:17px}
 .result-area .stats{gap:3px}
 .result-area .stats>div{padding:8px 5px;margin:0;border-radius:6px}
 .result-area .stats b{font-size:12px}
 .result-bottom{flex-wrap:wrap}
 .result-clear{margin-left:auto}
 .batch-list{display:flex;flex-direction:column;gap:5px}
 .batch-row{min-height:0;display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px 7px}
 .batch-meta{gap:2px;margin-top:0}
 .batch-length{font-size:10px}
 .batch-strength{font-size:9px}
 .batch-row .batch-value{min-width:0;width:100%;min-height:36px;height:36px;max-height:36px;padding:8px 6px;font-size:10px}
 .batch-actions{flex-direction:column;margin:0;gap:4px}
 .batch-actions .mini-btn{padding:5px 7px;min-height:25px;font-size:9px}
 .legal-top{flex-direction:column;align-items:flex-start}
 .legal-card{padding:21px 17px}
}
/* Equal stat cards; override legacy per-column width. */
.result-area .stats > div {width:100%;min-width:0;margin:0;border:1px solid #203651;padding:11px 13px}
.result-area .stats > div:first-child{padding-left:13px}
@media(max-width:610px){.result-area .stats > div,.result-area .stats > div:first-child{padding:8px 6px}}

/* v1.4.0: controls before decoration, compact inline rule switches */
.profile-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:end;gap:14px}
.profile-main .field-label{margin:0 0 8px;line-height:17px}
.profile-main .field{height:46px;min-height:46px}
.profile-generate .primary-btn{height:46px;min-height:46px;margin:0;white-space:nowrap}
.profile-hint{margin:6px 0 8px;min-height:0;font-size:11px;line-height:1.4}
.custom-rules{padding:12px 0 6px}
.range-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;font-weight:750;font-size:13px}
.range-heading label{cursor:pointer}
#length-current{display:inline-flex;align-items:center;justify-content:center;min-width:52px;border-radius:7px;padding:5px 11px;color:#e9f4ff;font:800 16px ui-monospace,Consolas,monospace;background:linear-gradient(105deg,#152e53,#282048);border:1px solid #4e73ca;box-shadow:0 0 0 1px #20245c}
.range-track-wrap{position:relative;padding:0 0 6px;--range-fraction:.061}
#password-range{width:100%;height:7px;margin:15px 0 1px;border-radius:50px;appearance:none;-webkit-appearance:none;outline:0;background:linear-gradient(90deg,#299cff 0%,#7066fe var(--range-percent,6%),#27344f var(--range-percent,6%),#27344f 100%);cursor:pointer}
#password-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:19px;height:19px;border-radius:50%;border:3px solid #b8eaff;background:#5c6eff;box-shadow:0 0 0 4px #5978ff22,0 0 15px #5a7bffb8}
#password-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:3px solid #b8eaff;background:#5c6eff;box-shadow:0 0 0 4px #5978ff22,0 0 15px #5a7bffb8}
#password-range:focus-visible{outline:2px solid #9ebeff;outline-offset:9px}
.range-tooltip{position:absolute;pointer-events:none;bottom:calc(100% - 4px);left:calc(10px + (100% - 20px) * var(--range-fraction));transform:translate(-50%,-1px) scale(.95);opacity:0;transition:opacity .12s ease,transform .12s ease;border:1px solid #85a0ff;border-radius:7px;padding:7px 12px;font:800 15px ui-monospace,Consolas,monospace;background:linear-gradient(125deg,#2563df,#6a4af4);color:white;box-shadow:0 6px 19px #2643bd9c;z-index:3}
.range-track-wrap:hover .range-tooltip,.range-track-wrap:focus-within .range-tooltip,.range-track-wrap.is-sliding .range-tooltip{opacity:1;transform:translate(-50%,-7px) scale(1)}
.custom-rules .range-hints{font-size:10px;margin-top:0}
.generator-option-row{display:flex;align-items:center;flex-wrap:wrap;gap:11px 20px;margin:15px 0 11px}
.character-options{display:flex;flex-wrap:wrap;align-items:center;gap:9px 21px;flex:1 1 auto}
.character-options label,.option-five{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:550;color:#d6e8ff;cursor:pointer;white-space:nowrap}
.character-options input,.option-five input{margin:0;accent-color:#69aaff}
.option-five{color:#bba9ff;font-weight:700}
.profile-locked .character-options{display:none}
.profile-locked .generator-option-row{margin-top:14px}
.custom-rules .suboptions{margin-top:14px;flex-direction:row;gap:12px 24px;flex-wrap:wrap}
.mix-compact{margin-top:11px}
.generated-count{font-weight:550;color:#91b8fd;font-size:12px}
.generated-list{border:1px solid #3d598d;border-radius:10px;background:#090f1c;padding:4px 7px;display:grid;gap:0;min-width:0}
.generated-list>.muted{padding:8px 12px;margin:0}
.generated-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:6px 2px;border-bottom:1px solid #263754;min-width:0}
.generated-row:last-child{border-bottom:0}
.generated-number{font:800 11px ui-monospace,Consolas,monospace;color:#7ea6e8;text-align:center}
.generated-value{width:100%;height:39px;min-width:0;padding:8px 10px;overflow:auto;border:1px solid #26395c;border-radius:7px;background:#080f20;color:#b8dfff;white-space:nowrap;font:13px ui-monospace,SFMono-Regular,Consolas,monospace}
.generated-value:focus{outline:2px solid #7297ff}
.generated-row .mini-btn{font-size:11px;padding:9px 11px;white-space:nowrap}
.result-controls{margin-top:6px;border:0;background:transparent;padding:3px 0;gap:7px}
.result-controls .mini-btn:last-child{background:#141e38;color:#d8e6ff}
@media(max-width:980px){
  .profile-row{grid-template-columns:minmax(0,1fr) auto}
  .profile-generate .primary-btn{min-width:0;padding:10px 14px}
}
@media(max-width:640px){
  .profile-row{grid-template-columns:1fr;gap:8px}
  .profile-generate .primary-btn{width:100%;height:43px;min-height:43px;justify-content:center}
  .profile-hint{margin:5px 0 7px}
  .custom-rules .suboptions{flex-direction:column;gap:9px}
  .generator-option-row{gap:12px;margin:13px 0}
  .character-options{gap:9px 16px}
  .character-options label,.option-five{font-size:12px}
  .generated-list{padding:3px 4px}
  .generated-row{grid-template-columns:21px minmax(0,1fr) auto;gap:4px;padding:5px 0}
  .generated-value{font-size:11px;padding:8px 6px}
  .generated-row .mini-btn{padding:8px 6px;font-size:10px}
  .generated-row .mini-btn:last-child{grid-column:3;grid-row:2;margin-top:-1px}
  .generated-row .mini-btn:nth-child(3){grid-column:3;grid-row:1}
  .generated-row .generated-value{grid-column:2;grid-row:1/span 2;height:65px}
  .generated-row .generated-number{grid-column:1;grid-row:1/span 2}
  .result-controls{justify-content:space-between;gap:4px}
  .result-controls .mini-btn{padding:9px 8px;font-size:10px;min-width:0}
}
@media(prefers-reduced-motion:reduce){.range-tooltip{transition:none}}
