/* Draft UI Language · Signature mode · Party Planner */
:root {
  --draft-bg:#101010; --draft-surface:#181818; --draft-surface-raised:#202020; --draft-surface-soft:#151515;
  --draft-text:#F6F3EB; --draft-text-muted:#B9B5AC; --draft-text-subtle:#7D7972;
  --draft-border:rgba(255,255,255,.16); --draft-border-strong:rgba(255,255,255,.28);
  --draft-primary:#6977FF; --draft-cyan:#5FE6FF; --draft-yellow:#E7F542;
  --draft-success:#5ED39A; --draft-warning:#E9B949; --draft-danger:#FF6B6B; --draft-focus:#5FE6FF;
  --draft-font-sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --draft-font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --draft-ease:cubic-bezier(.22,1,.36,1); --draft-motion-fast:120ms; --draft-motion-base:180ms;
  --bg:var(--draft-bg); --card:var(--draft-surface); --text:var(--draft-text); --muted:var(--draft-text-muted);
  --accent:var(--draft-primary); --accent-2:var(--draft-primary); --ring:color-mix(in srgb,var(--draft-focus) 28%,transparent);
  --ok:var(--draft-success); --warn:var(--draft-warning); --err:var(--draft-danger);
}
.light {
  --draft-bg:#F2EFE7; --draft-surface:#FFFDF6; --draft-surface-raised:#FFFFFF; --draft-surface-soft:#ECE8DE;
  --draft-text:#171717; --draft-text-muted:#625D56; --draft-text-subtle:#858078;
  --draft-border:rgba(16,16,16,.16); --draft-border-strong:rgba(16,16,16,.28); --draft-focus:#245DE8;
  --bg:var(--draft-bg); --card:var(--draft-surface); --text:var(--draft-text); --muted:var(--draft-text-muted);
  --accent:var(--draft-primary); --accent-2:var(--draft-primary); --ring:color-mix(in srgb,var(--draft-focus) 24%,transparent);
}
*{box-sizing:border-box}
html{background:var(--draft-bg)}
body{min-height:100%;margin:0;background:var(--draft-bg)!important;background-image:none!important;color:var(--draft-text);font-family:var(--draft-font-sans);line-height:1.55}
.container{width:min(calc(100% - 48px),1180px);max-width:none;margin:0 auto;padding:20px 0 64px}
header.hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end;gap:32px!important;margin-bottom:20px;padding:26px 28px!important;overflow:visible!important;border:1px solid var(--draft-border)!important;border-radius:12px!important;background:color-mix(in srgb,var(--draft-surface) 82%,transparent)!important;box-shadow:none!important;backdrop-filter:blur(16px)}
header.hero::before,header.hero::after{display:none!important}
.hero-content{min-width:0}.hero-content .kicker{color:var(--draft-text-muted)!important;font:800 11px/1.25 var(--draft-font-mono)!important;letter-spacing:.09em!important;text-transform:uppercase}.hero-content .kicker::after{content:" / PARTY PLANNER"}
.hero-title{max-width:780px;margin:10px 0 9px!important;background:none!important;color:var(--draft-text)!important;font-size:clamp(2.7rem,6vw,5.4rem)!important;font-weight:900!important;line-height:.92!important;letter-spacing:-.042em!important;text-shadow:none!important}
.hero-desc{max-width:700px;margin:0;color:var(--draft-text-muted)!important;font-size:1.05rem!important;line-height:1.55}
#themeToggle.pill{min-width:68px;min-height:44px;padding:7px 9px;border:1px solid var(--draft-border)!important;border-radius:8px!important;background:var(--draft-surface-soft)!important;color:var(--draft-text)!important}
.toggle{width:34px!important;height:20px!important;border:1px solid var(--draft-border-strong)!important;background:var(--draft-surface-raised)!important}.toggle .knob{top:2px!important;left:2px!important;width:14px!important;height:14px!important;background:var(--draft-primary)!important;transition:transform var(--draft-motion-base) var(--draft-ease)!important}.light .toggle .knob{transform:translateX(14px)!important}
.card{position:relative;padding:22px!important;border:1px solid var(--draft-border)!important;border-radius:12px!important;background:var(--draft-surface)!important;box-shadow:none!important;backdrop-filter:none!important}.card+.card{margin-top:14px!important}.card::before{content:"";position:absolute;left:-1px;top:20px;width:3px;height:34px;background:var(--draft-primary)}
.card>.row.spaced>div:first-child>div:first-child,.card>div[style*="font-weight:600"],.card>.row.spaced>div:first-child>div[style*="font-weight:600"]{color:var(--draft-text);font-size:1.06rem;font-weight:800!important;letter-spacing:-.015em}
.grid{gap:16px!important}@media(min-width:900px){.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
label{margin-bottom:7px!important;color:var(--draft-text)!important;font-size:.8rem!important;font-weight:750}
input[type="number"],select{min-height:44px;width:100%;padding:10px 12px!important;border:1px solid var(--draft-border)!important;border-radius:8px!important;background:var(--draft-surface-soft)!important;color:var(--draft-text)!important;font-size:1rem;box-shadow:none!important}select option{background:var(--draft-surface-raised)!important;color:var(--draft-text)!important}input[type="number"]:focus,select:focus{border-color:var(--draft-primary)!important;box-shadow:0 0 0 3px var(--ring)!important}input[type="range"]{accent-color:var(--draft-primary)!important}
.row{gap:8px!important}.spaced{align-items:flex-start!important}.muted{color:var(--draft-text-muted)!important}
.btn,.btn-buy{min-height:44px;padding:9px 13px!important;border:1px solid var(--draft-border)!important;border-radius:8px!important;background:transparent!important;color:var(--draft-text)!important;font-weight:700;box-shadow:none!important;transition:background var(--draft-motion-fast) var(--draft-ease),border-color var(--draft-motion-fast) var(--draft-ease),transform var(--draft-motion-fast) var(--draft-ease)!important}.btn.small{min-height:40px;padding:8px 11px!important}.btn:hover,.btn-buy:hover{border-color:var(--draft-border-strong)!important;background:var(--draft-surface-soft)!important;transform:translateY(-1px);filter:none!important}.btn.primary{border-color:var(--draft-primary)!important;background:var(--draft-primary)!important;color:#101010!important}#copyBtn.btn.primary{border-color:var(--draft-yellow)!important;background:var(--draft-yellow)!important;color:#111!important;box-shadow:4px 4px 0 var(--draft-primary)!important}.btn.active{outline:2px solid var(--draft-focus)!important;outline-offset:2px}
.chip{min-height:40px;padding:8px 11px!important;border:1px solid var(--draft-border)!important;border-radius:999px!important;background:transparent!important;color:var(--draft-text-muted)!important;font-size:.82rem!important;font-weight:700;transition:background var(--draft-motion-fast) var(--draft-ease),color var(--draft-motion-fast) var(--draft-ease),border-color var(--draft-motion-fast) var(--draft-ease)!important}.chip:hover{color:var(--draft-text)!important;border-color:var(--draft-border-strong)!important}.chip.active{border-color:var(--draft-text)!important;background:var(--draft-text)!important;color:var(--draft-bg)!important}
.pill{padding:7px 10px!important;border:1px solid var(--draft-border)!important;border-radius:8px!important;background:var(--draft-surface-soft)!important;color:var(--draft-text-muted)!important}
details.slim{border:1px solid var(--draft-border)!important;border-radius:8px!important;background:var(--draft-surface-soft)!important}details.slim[open]{background:var(--draft-surface-raised)!important}details.slim>summary{min-height:40px;padding:10px 11px!important;color:var(--draft-text-muted)!important;font:750 11px/1.3 var(--draft-font-mono);letter-spacing:.035em}
.tablewrap{overflow:auto;border:1px solid var(--draft-border)!important;border-radius:8px!important;background:var(--draft-surface-soft)}table.t{min-width:660px;font-size:.86rem!important}table.t thead th{position:sticky;top:0;padding:11px 12px!important;border-bottom:1px solid var(--draft-border-strong)!important;background:var(--draft-surface-raised)!important;color:var(--draft-text-muted)!important;font:800 11px/1.25 var(--draft-font-mono);letter-spacing:.04em;text-transform:uppercase}table.t td{padding:11px 12px!important;border-bottom:1px solid var(--draft-border)!important;background:transparent!important;color:var(--draft-text)!important;font-variant-numeric:tabular-nums}table.t tr:nth-child(even) td{background:transparent!important}table.t tbody tr:hover td{background:var(--draft-surface-raised)!important}
.list{padding-left:0!important;list-style:none}.list li{min-height:44px;margin:0!important;padding:8px 0;border-bottom:1px solid var(--draft-border)}
.toast{bottom:18px!important;min-height:44px;padding:11px 14px!important;border:1px solid var(--draft-border-strong)!important;border-radius:8px!important;background:color-mix(in srgb,var(--draft-surface-raised) 86%,transparent)!important;color:var(--draft-text)!important;box-shadow:0 14px 34px rgba(0,0,0,.22);backdrop-filter:blur(16px)}
.footer{margin-top:22px!important;color:var(--draft-text-subtle)!important}.footer-inner{padding:12px!important;border:1px solid var(--draft-border)!important;border-radius:8px!important;background:transparent!important}.footer a{color:var(--draft-text-muted)!important;text-decoration:underline!important;text-underline-offset:3px}
.btn.glow{animation:none!important}.btn.sparkle::before,.btn.sparkle::after{display:none!important;animation:none!important}.btn.celebrate{box-shadow:inset 3px 0 0 var(--draft-success)!important}
:focus-visible{outline:3px solid var(--draft-focus)!important;outline-offset:3px!important}
@media(max-width:880px){.container{width:min(calc(100% - 32px),1180px);padding-top:16px}header.hero{grid-template-columns:1fr!important;gap:18px!important;padding:22px!important}.hero-title{font-size:clamp(2.55rem,10vw,4.2rem)!important}.hero-desc{font-size:1rem!important}#themeToggle.pill{justify-self:start}}
@media(max-width:620px){.container{width:min(calc(100% - 24px),1180px);padding-bottom:48px}header.hero{padding:18px 16px!important}.hero-title{font-size:clamp(2.35rem,13vw,3.25rem)!important}.card{padding:18px 16px!important}.grid.cols-2{grid-template-columns:1fr!important}.row.spaced{align-items:stretch!important;flex-direction:column}.row.spaced>.row{width:100%}.btn,.btn-buy{min-height:44px}#copyBtn{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
