/* randomgenerator.org — shared.css */
:root{--bg:#0a0a0f;--surface:#111118;--surface2:#16161f;--border:#1e1e2e;--text:#e8e8f0;--muted:#b4b4d1;--muted2:#4a4a62;--a1:#ff6b35;--a2:#7c3aed;--a3:#06b6d4;--a4:#10b981;--a5:#f59e0b;--a6:#ec4899;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}
body{font-family:'Syne',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(255,107,53,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,107,53,.022) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}.reveal.visible{opacity:1;transform:translateY(0);}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}
@keyframes fls{0%{opacity:1}40%{opacity:.15}100%{opacity:1}}
@keyframes pIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ── Nav ─────────────────────────────────────────────────────── */
nav{position:sticky;top:0;z-index:200;background:rgba(10,10,15,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:0 40px;height:60px;}
.nav-container{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:100%;gap:16px;}
.nav-logo{font-family:'DM Mono',monospace;font-size:18px;font-weight:500;letter-spacing:.08em;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0;}
.nav-logo-icon{height:22px;width:22px;flex-shrink:0;}
.nav-logo em{color:var(--a1);font-style:normal;}
.nav-logo .nav-tld{font-size:9px;color:var(--muted);margin-left:2px;letter-spacing:.04em;}
.nav-right{display:flex;align-items:center;gap:4px;list-style:none;height:100%;}
.nav-item{position:relative;display:flex;align-items:center;height:100%;}
.nav-link,.nav-trigger{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;background:none;border:none;cursor:pointer;padding:6px 10px;display:flex;align-items:center;gap:5px;transition:color .2s;white-space:nowrap;}
.nav-link:hover,.nav-trigger:hover,.nav-item.open>.nav-trigger,.nav-item[data-dropdown="generators"]:hover>.nav-trigger{color:var(--text);}
.nav-trigger-ico{font-size:14px;line-height:1;}
.nav-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .25s;flex-shrink:0;}
.nav-item.open .nav-chevron,.nav-item[data-dropdown="generators"]:hover .nav-chevron{transform:rotate(225deg) translateY(-1px);}
.nav-cta{background:var(--a1)!important;color:#fff!important;padding:7px 14px;font-family:'DM Mono',monospace;font-size:11px;font-weight:700!important;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:filter .2s;white-space:nowrap;display:inline-block;}
.nav-cta:hover{filter:brightness(1.12);color:#fff!important;}

/* ── Dropdown (lang + small) ──────────────────────────────────── */
.nav-dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-6px);background:var(--surface);border:1px solid var(--border);min-width:230px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:300;}
.nav-dropdown::before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--a1),var(--a2),var(--a3));}
.nav-item.open .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.nav-dropdown a,.nav-dropdown button{display:flex;align-items:center;gap:10px;padding:11px 16px;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.07em;color:var(--muted);text-decoration:none;background:none;border:none;width:100%;text-align:left;cursor:pointer;transition:background .15s,color .15s;border-bottom:1px solid var(--border);}
.nav-dropdown a:last-child,.nav-dropdown button:last-child{border-bottom:none;}
.nav-dropdown a:hover,.nav-dropdown button:hover{background:var(--surface2);color:var(--text);}
.nav-dd-ico{font-size:1rem;flex-shrink:0;width:20px;text-align:center;}
.nav-dd-label{flex:1;}
.nav-dd-badge{font-size:9px;letter-spacing:.1em;padding:2px 5px;background:var(--bg);border:1px solid var(--border);color:var(--muted2);}
.lang-dropdown{min-width:180px;left:auto;right:0;transform:translateY(-6px);}
.nav-item.open .lang-dropdown{transform:translateY(0);}
.lang-btn.lang-active{color:var(--a3)!important;}
.lang-btn.lang-active .nav-dd-badge{border-color:var(--a3);color:var(--a3);}

/* ── Mega Menu ───────────────────────────────────────────────── */
.mega-menu{position:fixed;top:60px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s;z-index:300;padding:0;}
.mega-menu::before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--a1),var(--a2),var(--a3),var(--a4),var(--a5),var(--a6));}
.nav-item.open .mega-menu,.nav-item[data-dropdown="generators"]:hover .mega-menu{opacity:1;visibility:visible;pointer-events:auto;}
.mega-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:24px 40px 28px;}
.mega-col{padding:0 12px;}
.mega-col:first-child{padding-left:0;}.mega-col:last-child{padding-right:0;}
.mega-col-title{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid var(--border);}
.mega-link{display:flex;align-items:center;gap:10px;padding:8px 8px;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.05em;color:var(--muted);text-decoration:none;transition:background .15s,color .15s;border-radius:4px;}
.mega-link:hover{background:var(--surface2);color:var(--text);}
.mega-link .nav-dd-ico{font-size:.9rem;}
.mega-link .nav-dd-label{font-size:11px;}
.nav-dice-link{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:6px 10px;display:flex;align-items:center;gap:6px;transition:color .2s;white-space:nowrap;}
.nav-dice-link:hover{color:var(--a1);}
.nav-dice-ico{font-size:.9rem;}

/* ── Hamburger ───────────────────────────────────────────────── */
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;margin-left:auto;}
.nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--muted);transition:all .25s;}
.nav-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px);}
.nav-drawer{display:none;position:fixed;top:60px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);z-index:199;padding:12px 0 20px;max-height:calc(100vh - 60px);overflow-y:auto;}
.nav-drawer.open{display:block;}
.nav-drawer a,.nav-drawer button{display:flex;align-items:center;gap:12px;padding:13px 28px;font-family:'DM Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;background:none;border:none;width:100%;text-align:left;cursor:pointer;transition:color .15s;}
.nav-drawer a:hover,.nav-drawer button:hover{color:var(--text);}
.nav-drawer-section{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted2);padding:14px 28px 6px;border-top:1px solid var(--border);margin-top:4px;}
.nav-drawer-section:first-child{border-top:none;margin-top:0;}
.nav-drawer .drawer-cta{margin:12px 28px 0;text-align:center;width:calc(100% - 56px);padding:12px 0;display:block;}
.lang-btn-drawer.lang-active{color:var(--a3)!important;}

/* ── Sections ────────────────────────────────────────────────── */
section{position:relative;z-index:1;}
.si{max-width:1100px;margin:0 auto;padding:80px 40px;}
.stag{display:inline-block;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent,var(--a1));border-left:2px solid var(--accent,var(--a1));padding-left:10px;margin-bottom:18px;}
.stitle{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin-bottom:14px;}
.ssub{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);max-width:500px;line-height:1.8;}

/* ── Controls ────────────────────────────────────────────────── */
input[type=number],input[type=range],select{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:8px 11px;font-family:'DM Mono',monospace;font-size:12px;width:100%;outline:none;transition:border-color .2s;-webkit-appearance:none;appearance:none;}
input[type=range]{padding:6px 0;cursor:pointer;accent-color:var(--accent,var(--a2));}
input:focus,select:focus{border-color:var(--accent,var(--a1));}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236b6b85' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px;}
select option{background:#111118;}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:.5;}
textarea.split-textarea{width:100%;font-family:'DM Mono',monospace;font-size:12px;padding:10px 12px;border:1px solid var(--border);background:var(--bg);color:var(--text);resize:vertical;outline:none;transition:border-color .2s;line-height:1.7;scrollbar-width:thin;scrollbar-color:var(--border) transparent;}
textarea.split-textarea:focus{border-color:var(--accent,var(--a3));}
textarea.split-textarea::-webkit-scrollbar{width:6px;}
textarea.split-textarea::-webkit-scrollbar-track{background:transparent;}
textarea.split-textarea::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}
textarea.split-textarea::-webkit-scrollbar-thumb:hover{background:var(--muted2);}
textarea.split-textarea::placeholder{color:var(--muted2);}
.ctrl-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.cg{display:flex;flex-direction:column;gap:5px;flex:1;min-width:90px;}
.cg.full{flex:1 1 100%;}
.cg label{font-family:'DM Mono',monospace;font-size:9px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;}
.range-row{display:flex;align-items:center;gap:10px;}
.rval{font-family:'DM Mono',monospace;font-size:12px;font-weight:500;min-width:26px;text-align:right;color:var(--accent,var(--a2));}
.chk-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.chk{display:flex;align-items:center;gap:6px;font-family:'DM Mono',monospace;font-size:10px;color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.07em;transition:color .2s;user-select:none;}
.chk:hover{color:var(--text);}
.chk input[type=checkbox]{width:13px;height:13px;cursor:pointer;accent-color:var(--accent,var(--a2));}

/* ── Output / copy ───────────────────────────────────────────── */
.out-box{background:var(--bg);border:1px solid var(--border);padding:16px 18px;margin-bottom:20px;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.out-val{font-family:'DM Mono',monospace;font-size:1.15rem;font-weight:500;word-break:break-all;flex:1;}
.out-val.ph{color:var(--muted);font-size:.95rem!important;letter-spacing:normal!important;font-style:italic;}
.out-val.flash{animation:fls .3s ease;}
.copy-btn{background:none;border:1px solid var(--border);color:var(--muted);padding:5px 10px;cursor:pointer;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;transition:all .2s;flex-shrink:0;}
.copy-btn:hover{border-color:var(--text);color:var(--text);}
.copy-btn.ok{border-color:var(--a4);color:var(--a4);}

/* ── Generate button ─────────────────────────────────────────── */
.gen-btn{width:100%;padding:14px;font-family:'Syne',sans-serif;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border:none;cursor:pointer;position:relative;overflow:hidden;transition:transform .15s,filter .2s;}
.gen-btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.12);transform:translateX(-101%);transition:transform .25s;}
.gen-btn:hover::after{transform:translateX(0);}
.gen-btn:active{transform:scale(.98);filter:brightness(.9);}
.gb1{background:var(--a1);color:#fff}.gb2{background:var(--a2);color:#fff}.gb3{background:var(--a3);color:#000}.gb4{background:var(--a4);color:#000}.gb5{background:var(--a5);color:#000}.gb6{background:var(--a6);color:#fff}

/* ── Gen panel ───────────────────────────────────────────────── */
.gp{display:none;padding:28px;animation:pIn .25s ease forwards;}.gp.on{display:block;}
.gp-title{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin-bottom:4px;}
.gp-desc{font-family:'DM Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.07em;margin-bottom:22px;}

/* ── Dice roller ────────────────────────────────────────────── */
.dice-tray{min-height:120px;background:var(--surface);border:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;padding:20px;margin-bottom:16px;position:relative;overflow:hidden;}
.dice-tray::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(255,107,53,.04) 0%,transparent 70%);pointer-events:none;}
.dice-tray-empty{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted2);letter-spacing:.08em;}
.die{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-weight:700;font-size:18px;color:#fff;border-radius:10px;position:relative;opacity:0;transform:scale(0) rotate(180deg);cursor:default;user-select:none;text-shadow:0 1px 2px rgba(0,0,0,.3);}
.die.d4{border-radius:4px 4px 50% 50%;width:52px;height:52px;}
.die.d6{border-radius:10px;color:#0a0a0f;text-shadow:none;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.die.d6 .die-dots .dot{background:rgba(10,10,15,.85);box-shadow:0 1px 2px rgba(0,0,0,.1);}
.die.d6 .die-dots .dot.off{background:transparent;box-shadow:none;}
.die.d8,.die.d10{border-radius:6px;transform-origin:center;}
.die.d12{border-radius:14px;}
.die.d20{border-radius:50%;width:58px;height:58px;}
.die.d100{border-radius:8px;width:64px;height:56px;font-size:16px;}
.die.pop{animation:diePop .5s cubic-bezier(.34,1.56,.64,1) forwards;}
@keyframes diePop{0%{opacity:0;transform:scale(0) rotate(180deg)}60%{opacity:1;transform:scale(1.15) rotate(-10deg)}100%{opacity:1;transform:scale(1) rotate(0deg)}}
.die.rolling{animation:dieRoll .4s ease-in-out;}
@keyframes dieRoll{0%{transform:scale(1) rotate(0deg)}25%{transform:scale(.85) rotate(90deg)}50%{transform:scale(1.1) rotate(180deg)}75%{transform:scale(.9) rotate(270deg)}100%{transform:scale(1) rotate(360deg)}}
.die .die-label{position:absolute;bottom:-2px;right:-2px;font-size:8px;background:rgba(0,0,0,.5);color:rgba(255,255,255,.7);padding:1px 4px;border-radius:3px;letter-spacing:.05em;font-weight:500;}
.die-dots{display:grid;grid-template-columns:repeat(3,10px);grid-template-rows:repeat(3,10px);gap:3px;width:36px;height:36px;}
.die-dots .dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 1px 2px rgba(0,0,0,.2);}
.die-dots .dot.off{background:transparent;box-shadow:none;}
.dice-total-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--surface2);border:1px solid var(--border);margin-bottom:10px;}
.dice-total-label{font-family:'DM Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;}
.dice-total-val{font-family:'DM Mono',monospace;font-size:1.6rem;font-weight:700;color:var(--a1);letter-spacing:-.02em;}
.dice-total-val.bump{animation:totalBump .3s ease;}
@keyframes totalBump{0%{transform:scale(1)}50%{transform:scale(1.2)}100%{transform:scale(1)}}
.dice-detail{display:none;font-family:'DM Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:.04em;padding:10px 14px;margin-bottom:12px;background:var(--surface);border:1px solid var(--border);word-break:break-all;line-height:1.7;}

/* ── Color preview ───────────────────────────────────────────── */
.col-prev{width:100%;height:72px;margin-bottom:14px;border:1px solid var(--border);transition:background .3s;}
.col-fmts{display:flex;gap:6px;margin-bottom:16px;}
.cfmt{background:var(--bg);border:1px solid var(--border);font-family:'DM Mono',monospace;font-size:10px;padding:5px 12px;color:var(--muted);cursor:pointer;transition:all .2s;letter-spacing:.1em;text-transform:uppercase;}
.cfmt:hover{border-color:var(--text);color:var(--text);}
.cfmt.on{border-color:var(--accent,var(--a5));color:var(--accent,var(--a5));}

/* ── FAQ ─────────────────────────────────────────────────────── */
.faq-list{margin-top:44px;border:1px solid var(--border);}
.faq-item{border-bottom:1px solid var(--border);}.faq-item:last-child{border-bottom:none;}
.faq-q{width:100%;background:none;border:none;color:var(--text);text-align:left;padding:20px 24px;font-family:'Syne',sans-serif;font-size:.92rem;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;transition:background .2s;}
.faq-q:hover{background:var(--surface2);}
.faq-icon{font-family:'DM Mono',monospace;font-size:1.2rem;color:var(--accent,var(--a1));flex-shrink:0;transition:transform .3s;font-weight:400;line-height:1;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .38s ease,padding .28s ease;padding:0 24px;font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);line-height:1.85;}
.faq-item.open .faq-a{max-height:300px;padding:0 24px 20px;}

/* ── Steps ───────────────────────────────────────────────────── */
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border:1px solid var(--border);margin-top:44px;}
.step{padding:28px 24px;border-right:1px solid var(--border);}.step:last-child{border-right:none;}
.step-n{font-family:'DM Mono',monospace;font-size:2.4rem;font-weight:500;color:var(--border);line-height:1;margin-bottom:16px;position:relative;}
.step-n::after{content:attr(data-n);position:absolute;top:0;left:0;background:linear-gradient(135deg,var(--accent,var(--a1)),var(--accent2,var(--a2)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.5rem;}
.step-t{font-size:.95rem;font-weight:700;margin-bottom:7px;letter-spacing:-.01em;}
.step-b{font-family:'DM Mono',monospace;font-size:11px;color:var(--muted);line-height:1.75;}

/* ── Legal/doc pages ─────────────────────────────────────────── */
.doc-wrap{position:relative;z-index:1;max-width:780px;margin:0 auto;padding:0 40px 80px;}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);margin-bottom:56px;}
.sum-card{background:var(--surface);padding:24px 22px;}
.sum-ico{font-size:1.6rem;margin-bottom:10px;display:block;}
.sum-t{font-size:.92rem;font-weight:700;margin-bottom:5px;letter-spacing:-.01em;}
.sum-b{font-family:'DM Mono',monospace;font-size:11px;color:var(--muted);line-height:1.6;}
.doc-section{margin-bottom:48px;}.doc-section:last-child{margin-bottom:0;}
.sec-label{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent,var(--a3));border-left:2px solid var(--accent,var(--a3));padding-left:9px;margin-bottom:14px;display:inline-block;}
.sec-title{font-size:1.4rem;font-weight:700;letter-spacing:-.02em;margin-bottom:16px;}
.doc-body{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);line-height:1.95;}
.doc-body p{margin-bottom:14px;}.doc-body p:last-child{margin-bottom:0;}
.doc-body ul{margin:10px 0 14px 0;list-style:none;}
.doc-body ul li{padding-left:18px;position:relative;margin-bottom:7px;}
.doc-body ul li::before{content:'—';position:absolute;left:0;color:var(--accent,var(--a3));}
.doc-body a{color:var(--accent,var(--a3));text-decoration:none;}.doc-body a:hover{text-decoration:underline;}
.doc-body strong{color:var(--text);font-weight:500;}
.doc-divider{height:1px;background:var(--border);margin:40px 0;}
.doc-highlight{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent,var(--a5));padding:20px 24px;margin:20px 0;font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);line-height:1.85;}
.doc-highlight strong{color:var(--accent,var(--a5));}
.contact-box{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent,var(--a3));padding:24px 28px;margin-top:48px;}
.contact-box .cb-t{font-size:1rem;font-weight:700;margin-bottom:10px;}
.contact-box .cb-b{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);line-height:1.8;}
.contact-box a{color:var(--accent,var(--a3));text-decoration:none;}

/* ── Footer ──────────────────────────────────────────────────── */
footer{position:relative;z-index:1;border-top:1px solid var(--border);background:var(--surface);}
.footer-main{max-width:1100px;margin:0 auto;padding:50px 40px 32px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
.footer-brand p{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);line-height:1.8;margin-top:11px;max-width:240px;}
.footer-logo{font-family:'DM Mono',monospace;font-size:14px;font-weight:500;letter-spacing:.06em;display:flex;align-items:center;gap:7px;}
.footer-logo-icon{height:24px;width:24px;flex-shrink:0;}
.footer-logo em{color:var(--a1);font-style:normal;}
.footer-col h4{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);margin-bottom:14px;}
.footer-col ul{list-style:none;}.footer-col li{margin-bottom:8px;}
.footer-col a{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);text-decoration:none;transition:color .2s;}
.footer-col a:hover{color:var(--text);}
.footer-bottom{max-width:1100px;margin:0 auto;padding:16px 40px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.footer-bottom p{font-family:'DM Mono',monospace;font-size:11px;color:var(--muted2);letter-spacing:.06em;}
.footer-bottom a{color:var(--muted);text-decoration:none;transition:color .2s;}
.footer-bottom a:hover{color:var(--text);}
.footer-bar{height:3px;background:linear-gradient(90deg,var(--a1),var(--a2),var(--a3),var(--a4),var(--a5),var(--a6));}
.btn-primary{background:var(--a1);color:#fff;padding:14px 28px;font-family:'Syne',sans-serif;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;position:relative;overflow:hidden;transition:filter .2s,transform .15s;display:inline-block;}
.btn-primary::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.12);transform:translateX(-101%);transition:transform .25s;}
.btn-primary:hover::after{transform:translateX(0);}
.btn-primary:hover{filter:brightness(1.1);}
.btn-primary:active{transform:scale(.97);}

.si-narrow{max-width:860px;margin:0 auto;padding:80px 40px;}

/* ── Index / Home ────────────────────────────────────────────── */
.hero-wrap{position:relative;z-index:1;max-width:860px;margin:0 auto;padding:40px;display:flex;flex-direction:column;align-items:center;gap:44px;}
.hero-copy{text-align:center;width:100%;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--a1);border:1px solid rgba(255,107,53,.3);padding:5px 14px;margin-bottom:20px;}
.hero-eyebrow::before{content:'';width:6px;height:6px;background:var(--a1);border-radius:50%;animation:pulse 2s infinite;}
.hero-title{font-size:clamp(2.4rem,5.5vw,4rem);font-weight:700;line-height:1.0;letter-spacing:-.04em;margin-bottom:18px;}
.hero-title .grad{background:linear-gradient(135deg,var(--a1),var(--a2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-body{font-family:'DM Mono',monospace;font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:28px;max-width:560px;margin-left:auto;margin-right:auto;}
.hero-gen{background:var(--surface);border:1px solid var(--border);position:relative;overflow:hidden;width:100%;}
.hero-gen::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--a1),var(--a2),var(--a3),var(--a4),var(--a5),var(--a6));}
.gen-tabs{display:flex;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none;padding-top:2px;}
.gen-tabs::-webkit-scrollbar{display:none;}
.gtab{display:flex;align-items:center;gap:7px;padding:13px 18px;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-family:'Syne',sans-serif;font-size:12px;font-weight:700;letter-spacing:.04em;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s;margin-bottom:-1px;}
.gtab:hover{color:var(--text);}
.gtab .ti{font-size:.95rem;transition:transform .2s;}
.gtab:hover .ti{transform:scale(1.2);}
.gtab[data-t="0"].on{border-color:var(--a1);color:var(--a1);}
.gtab[data-t="1"].on{border-color:var(--a2);color:var(--a2);}
.gtab[data-t="2"].on{border-color:var(--a3);color:var(--a3);}
.gtab[data-t="3"].on{border-color:var(--a4);color:var(--a4);}
.gtab[data-t="4"].on{border-color:var(--a5);color:var(--a5);}
.gtab[data-t="5"].on{border-color:var(--a6);color:var(--a6);}
.gtab-more{text-decoration:none;border-bottom:2px solid transparent;color:var(--muted);font-size:11px;letter-spacing:.08em;margin-left:auto;}
.gtab-more:hover{color:var(--a1);border-color:var(--a1);}
.gtab-more .ti{font-size:.85rem;font-weight:700;}
.stats-strip{position:relative;z-index:1;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:28px 40px;display:flex;justify-content:center;}
.stat{flex:1;max-width:200px;text-align:center;padding:0 28px;border-right:1px solid var(--border);}
.stat:last-child{border-right:none;}
.sn{font-size:2rem;font-weight:700;letter-spacing:-.04em;display:block;background:linear-gradient(135deg,var(--a1),var(--a2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sl{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px;display:block;}
.howto-section{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin-top:52px;}
.about-body p{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:16px;}
.about-body p:last-child{margin-bottom:0;}
.about-feats{border:1px solid var(--border);}
.af{display:flex;gap:14px;padding:18px 22px;border-bottom:1px solid var(--border);align-items:flex-start;}
.af:last-child{border-bottom:none;}
.af-ico{font-size:1.3rem;flex-shrink:0;margin-top:1px;}
.af-t{font-size:.9rem;font-weight:700;margin-bottom:4px;letter-spacing:-.01em;}
.af-b{font-family:'DM Mono',monospace;font-size:11px;color:var(--muted);line-height:1.65;}
.cta-banner{position:relative;z-index:1;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;}
.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(255,107,53,.08) 0%,transparent 60%),radial-gradient(ellipse at 70% 50%,rgba(124,58,237,.07) 0%,transparent 60%);pointer-events:none;}
.cta-inner{max-width:900px;margin:0 auto;padding:80px 40px;text-align:center;position:relative;z-index:1;}
.cta-title{font-size:clamp(2rem,4vw,2.8rem);font-weight:700;letter-spacing:-.03em;margin-bottom:14px;}
.cta-title span{background:linear-gradient(135deg,var(--a1),var(--a2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.cta-sub{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);margin-bottom:32px;letter-spacing:.05em;}

/* ── Subpage ─────────────────────────────────────────────────── */
.page-hero{position:relative;z-index:1;max-width:860px;margin:0 auto;padding:60px 40px 48px;text-align:center;}
.page-eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent,var(--a1));border:1px solid rgba(var(--accent-rgb,255,107,53),.3);padding:4px 13px;margin-bottom:18px;}
.page-eyebrow::before{content:'';width:5px;height:5px;background:var(--accent,var(--a1));border-radius:50%;animation:pulse 2s infinite;}
.page-title{font-size:clamp(2.4rem,5.5vw,4rem);font-weight:700;letter-spacing:-.04em;line-height:1.0;margin-bottom:16px;}
.page-title .grad{background:linear-gradient(135deg,var(--accent,var(--a1)),var(--accent2,var(--a2)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.page-sub{font-family:'DM Mono',monospace;font-size:13px;line-height:1.9;color:var(--muted);max-width:560px;margin:0 auto;}
.page-meta{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);letter-spacing:.05em;margin-top:8px;}
.gen-wrap{position:relative;z-index:1;max-width:700px;margin:0 auto;padding:0 40px 60px;}
.gen-widget{background:var(--surface);border:1px solid var(--border);position:relative;overflow:hidden;width:100%;}
.gen-widget::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent,var(--a1)),var(--accent2,var(--a2)));}
.desc-section{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.desc-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;margin-top:44px;}
.desc-body p{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:16px;}
.desc-body p:last-child{margin-bottom:0;}
.use-cases{border:1px solid var(--border);}
.uc{display:flex;gap:13px;padding:16px 20px;border-bottom:1px solid var(--border);align-items:flex-start;}
.uc:last-child{border-bottom:none;}
.uc-ico{font-size:1.2rem;flex-shrink:0;margin-top:1px;}
.uc-t{font-size:.88rem;font-weight:700;margin-bottom:3px;letter-spacing:-.01em;}
.uc-b{font-family:'DM Mono',monospace;font-size:11px;color:var(--muted);line-height:1.6;}
.related-section{border-top:1px solid var(--border);}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);margin-top:44px;}
.rel-card{background:var(--surface);padding:24px 20px;text-decoration:none;color:var(--text);transition:background .2s;position:relative;overflow:hidden;}
.rel-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--rc,var(--a1));transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.rel-card:hover{background:var(--surface2);}
.rel-card:hover::before{transform:scaleX(1);}
.rel-ico{font-size:1.5rem;margin-bottom:10px;display:block;}
.rel-name{font-size:.88rem;font-weight:700;letter-spacing:-.01em;margin-bottom:5px;}
.rel-desc{font-family:'DM Mono',monospace;font-size:10px;color:var(--muted);line-height:1.55;}

/* ── 404 ─────────────────────────────────────────────────────── */
body.is-404{display:flex;flex-direction:column;}
body.is-404 nav{position:relative;z-index:10;}
body.is-404 main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;position:relative;z-index:1;text-align:center;}
body.is-404 footer{flex-shrink:0;}
.err-code-wrap{position:relative;margin-bottom:8px;}
.err-code{font-family:'DM Mono',monospace;font-size:clamp(6rem,18vw,14rem);font-weight:500;line-height:1;letter-spacing:-.05em;color:var(--border);position:relative;user-select:none;}
.err-code::before,.err-code::after{content:'404';position:absolute;top:0;left:0;right:0;}
.err-code::before{color:var(--a1);animation:glitch-1 3.2s infinite;clip-path:polygon(0 0,100% 0,100% 35%,0 35%);}
.err-code::after{color:var(--a2);animation:glitch-2 3.2s infinite;clip-path:polygon(0 60%,100% 60%,100% 100%,0 100%);}
@keyframes glitch-1{0%,90%,100%{transform:translateX(0)}92%{transform:translateX(-4px)}94%{transform:translateX(4px)}96%{transform:translateX(-2px)}98%{transform:translateX(2px)}}
@keyframes glitch-2{0%,90%,100%{transform:translateX(0)}91%{transform:translateX(3px)}93%{transform:translateX(-3px)}95%{transform:translateX(5px)}97%{transform:translateX(-1px)}}
.random-hint{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:36px;display:flex;align-items:center;gap:8px;justify-content:center;}
.rnum{font-size:13px;font-weight:500;color:var(--a1);min-width:36px;text-align:center;transition:all .2s;}
.err-title{font-size:clamp(1.6rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-.03em;margin-bottom:12px;}
.err-title span{background:linear-gradient(135deg,var(--a1),var(--a2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.err-sub{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);line-height:1.85;max-width:460px;margin:0 auto 40px;}
.err-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:60px;}
.btn-home{background:var(--a1);color:#fff;padding:13px 28px;font-family:'Syne',sans-serif;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;position:relative;overflow:hidden;transition:filter .2s;display:inline-block;}
.btn-home::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.12);transform:translateX(-101%);transition:transform .25s;}
.btn-home:hover::after{transform:translateX(0);}
.btn-home:hover{filter:brightness(1.1);}
.btn-back{background:none;border:1px solid var(--border);color:var(--muted);padding:13px 28px;font-family:'Syne',sans-serif;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s;display:inline-block;}
.btn-back:hover{border-color:var(--text);color:var(--text);}
.tool-grid-label{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted2);margin-bottom:16px;}
.tool-grid{display:flex;flex-wrap:wrap;gap:1px;background:var(--border);border:1px solid var(--border);max-width:660px;width:100%;}
.tool-card{background:var(--surface);flex:1;min-width:100px;padding:18px 16px;text-decoration:none;color:var(--text);transition:background .2s;position:relative;overflow:hidden;}
.tool-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--tc,var(--a1));transform:scaleX(0);transform-origin:left;transition:transform .28s;}
.tool-card:hover{background:var(--surface2);}
.tool-card:hover::before{transform:scaleX(1);}
.tc-ico{font-size:1.3rem;display:block;margin-bottom:7px;}
.tc-name{font-size:.82rem;font-weight:700;letter-spacing:-.01em;margin-bottom:3px;}
.tc-desc{font-family:'DM Mono',monospace;font-size:9px;color:var(--muted);line-height:1.4;}

/* ── Responsive ──────────────────────────────────────────────── */
@media(max-width:900px){.desc-grid,.about-grid{grid-template-columns:1fr;gap:32px;}}
@media(max-width:760px){
  input[type=number],input[type=text],select,textarea.split-textarea{font-size:16px;}
  nav{padding:0 20px;}
  .nav-right{display:none;}
  .nav-hamburger{display:flex;}
  .mega-menu{display:none!important;}
  .si{padding:56px 24px;}
  .doc-wrap{padding:0 24px 56px;}
  .gen-wrap{padding:0 24px 48px;}
  .footer-main{grid-template-columns:1fr 1fr;padding:36px 24px 24px;}
  .footer-brand{grid-column:1/-1;}
  .footer-bottom{padding:16px 24px;flex-direction:column;text-align:center;}
  .step{border-right:none;border-bottom:1px solid var(--border);}.step:last-child{border-bottom:none;}
  .steps-grid{grid-template-columns:1fr;}
  .stats-strip{flex-wrap:wrap;padding:24px;gap:16px;}
  .stat{border-right:none;max-width:50%;}
  .tool-card{min-width:calc(33% - 1px);}.err-actions{flex-direction:column;align-items:center;}
}
@media(max-width:480px){
  .nav-logo{font-size:14px;}
  .hero-wrap{padding:48px 16px 32px;}
  .hero-title{font-size:2.4rem;}
  .gtab .tlabel{display:none;}
  .gtab{padding:13px 16px;}
  .gp{padding:20px 16px;}
  .footer-main{grid-template-columns:1fr;}
  .footer-brand{grid-column:auto;}
  .summary-grid{grid-template-columns:1fr;}
  .page-title{font-size:2rem;}
  main{padding:44px 20px;}.tool-card{min-width:calc(50% - 1px);}
}
