/* Nusantara Run Festival — gaya elegan & berwarna */
:root{
  --ink:#0B1026; --ink2:#161C3D; --ink3:#232B55;
  --cream:#FFF8F0; --paper:#FFFFFF; --mist:#F4F1FB;
  --coral:#FF5A5F; --amber:#FFB020; --teal:#10C7B5; --violet:#7B5CFF; --pink:#FF4FA3; --sky:#2D9CFF;
  --gold:#C9A25B; --muted:#6B7194; --line:rgba(11,16,38,.10);
  --grad:linear-gradient(120deg,var(--coral),var(--amber) 32%,var(--teal) 64%,var(--violet));
  --grad2:linear-gradient(135deg,var(--violet),var(--pink) 55%,var(--coral));
  --r:20px; --shadow:0 18px 50px -18px rgba(11,16,38,.35);
  --serif:'Playfair Display',Georgia,serif; --sans:'Plus Jakarta Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,92%);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);line-height:1.15;letter-spacing:-.01em}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:1.35rem}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--grad)}
.lead{font-size:1.1rem;color:var(--muted);max-width:60ch}
section{padding:clamp(3.5rem,8vw,6.5rem) 0;position:relative}
.sec-head{display:grid;gap:.8rem;margin-bottom:2.8rem}
.sec-head.center{text-align:center;justify-items:center}

/* Tombol */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.7rem;border-radius:999px;font-weight:700;font-size:.95rem;border:0;cursor:pointer;transition:.3s;font-family:inherit}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 10px 30px -10px rgba(255,90,95,.7);background-size:160% 100%}
.btn-primary:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 16px 34px -10px rgba(123,92,255,.7)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--violet)}
.btn-line{border:1.5px solid var(--ink);color:var(--ink);background:transparent}.btn-line:hover{background:var(--ink);color:#fff}
.btn-sm{padding:.55rem 1.1rem;font-size:.85rem}

/* Header */
.topbar{background:var(--ink);color:#cfd3f3;font-size:.8rem;padding:.45rem 0}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.topbar b{color:var(--amber)}
header.site{position:sticky;top:0;z-index:50;background:rgba(255,248,240,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem;font-family:var(--serif);font-weight:800;font-size:1.2rem;line-height:1.05}
.brand small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.28em;color:var(--gold);font-weight:700;text-transform:uppercase}
.brand svg{width:44px;height:44px;flex:none}
nav.main{display:flex;align-items:center;gap:.2rem}
nav.main>a,nav.main .dd>button{padding:.55rem .9rem;border-radius:999px;font-weight:600;font-size:.92rem;background:none;border:0;cursor:pointer;font-family:inherit;color:inherit;transition:.2s}
nav.main>a:hover,nav.main .dd:hover>button,nav.main a.active,nav.main .dd.active>button{background:var(--ink);color:#fff}
.dd{position:relative}
.dd-menu{position:absolute;top:100%;left:0;min-width:210px;background:#fff;border-radius:16px;padding:.5rem;box-shadow:var(--shadow);border:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:none}
.dd-menu a{display:block;padding:.6rem .9rem;border-radius:10px;font-size:.9rem;font-weight:500}
.dd-menu a:hover{background:var(--mist);color:var(--violet)}
.burger{display:none;background:var(--ink);color:#fff;border:0;width:44px;height:44px;border-radius:12px;font-size:1.2rem;cursor:pointer}

/* Hero */
.hero{background:radial-gradient(1200px 600px at 85% -10%,rgba(123,92,255,.55),transparent 60%),radial-gradient(900px 600px at 0% 100%,rgba(255,90,95,.45),transparent 60%),radial-gradient(700px 500px at 60% 110%,rgba(16,199,181,.35),transparent 60%),var(--ink);color:#fff;padding:clamp(4rem,9vw,7.5rem) 0 0;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}
.hero h1{font-size:clamp(2.8rem,6.4vw,5.6rem);font-weight:800;margin:1rem 0 1.2rem}
.hero p.lead{color:#d6d9f5;font-size:1.15rem}
.hero .cta{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:2rem}
.badge{display:inline-flex;gap:.5rem;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:.45rem 1rem;border-radius:999px;font-size:.82rem;font-weight:600;backdrop-filter:blur(8px)}
.badge i{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(16,199,181,.25);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(16,199,181,0)}}
.hero-art{position:relative;aspect-ratio:1;display:grid;place-items:center}
.orb{position:absolute;border-radius:50%;filter:blur(2px);animation:float 9s ease-in-out infinite}
.orb.a{inset:6%;background:conic-gradient(from 200deg,var(--coral),var(--amber),var(--teal),var(--sky),var(--violet),var(--pink),var(--coral));opacity:.9}
.orb.b{inset:18%;background:var(--ink);animation-delay:-3s}
.orb.c{width:22%;aspect-ratio:1;right:2%;top:8%;background:var(--amber);animation-delay:-5s}
.orb.d{width:14%;aspect-ratio:1;left:0;bottom:14%;background:var(--pink);animation-delay:-2s}
@keyframes float{50%{transform:translateY(-16px) rotate(4deg)}}
.hero-art .num{position:relative;text-align:center;font-family:var(--serif);font-weight:800;font-size:clamp(4rem,9vw,7.5rem);line-height:.9}
.hero-art .num small{display:block;font-family:var(--sans);font-size:.8rem;letter-spacing:.35em;text-transform:uppercase;color:var(--amber);margin-top:.8rem}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:clamp(3rem,6vw,5rem);background:rgba(255,255,255,.14);border-radius:var(--r) var(--r) 0 0;overflow:hidden;max-width:560px}
.countdown div{background:rgba(11,16,38,.6);padding:1.1rem .5rem;text-align:center;backdrop-filter:blur(8px)}
.countdown b{display:block;font-family:var(--serif);font-size:2.2rem;line-height:1}
.countdown span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#aab0dc}
.ribbon{height:10px;background:var(--grad)}

/* Strip statistik */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:-2.6rem;position:relative;z-index:3}
.stat{background:#fff;border-radius:var(--r);padding:1.6rem;box-shadow:var(--shadow);text-align:center;border-top:4px solid var(--c,var(--coral))}
.stat b{font-family:var(--serif);font-size:2.4rem;display:block;color:var(--c,var(--coral))}
.stat span{color:var(--muted);font-size:.9rem}

/* Kartu kategori */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:1.2rem}
.cat-card{position:relative;background:#fff;border-radius:var(--r);padding:1.8rem;overflow:hidden;box-shadow:0 10px 30px -18px rgba(11,16,38,.3);transition:.35s;border:1px solid var(--line);display:flex;flex-direction:column;gap:.7rem}
.cat-card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--c)}
.cat-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:var(--c);opacity:.12;right:-60px;top:-60px;transition:.4s}
.cat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.cat-card:hover::after{transform:scale(1.6);opacity:.18}
.cat-card .km{font-family:var(--serif);font-size:3.4rem;font-weight:800;color:var(--c);line-height:1}
.cat-card .km small{font-size:1rem;margin-left:.2rem;color:var(--muted)}
.cat-card .price{font-weight:800;font-size:1.15rem}
.cat-card .price s{color:var(--muted);font-weight:500;font-size:.85rem;margin-right:.4rem}
.meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.78rem}
.meta span{background:var(--mist);padding:.3rem .7rem;border-radius:999px;font-weight:600}
.bar{height:8px;background:var(--mist);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--c);border-radius:99px}
.cat-card .btn{margin-top:auto;justify-content:center}

/* Kategori (halaman detail) */
.cat-row{display:grid;grid-template-columns:260px 1fr;gap:2rem;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 10px 30px -18px rgba(11,16,38,.3);margin-bottom:1.6rem;border:1px solid var(--line)}
.cat-row .side{background:linear-gradient(160deg,var(--c),color-mix(in srgb,var(--c) 55%,#0B1026));color:#fff;padding:2rem;display:flex;flex-direction:column;justify-content:center;text-align:center}
.cat-row .side b{font-family:var(--serif);font-size:4.4rem;line-height:1}
.cat-row .body{padding:2rem 2rem 2rem 0;display:grid;gap:.9rem}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}
.kv div{background:var(--mist);padding:.7rem 1rem;border-radius:14px}
.kv small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.kv b{font-size:.98rem}

/* Bagian gelap */
.dark{background:var(--ink);color:#fff}
.dark .lead{color:#c3c7ea}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem}
.feature{padding:2rem;border-radius:var(--r);background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12)}
.feature .ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:1.5rem;margin-bottom:1rem;background:var(--c)}
.feature p{color:#c3c7ea;margin-top:.5rem;font-size:.95rem}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.collage{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.collage div{border-radius:var(--r);aspect-ratio:1;display:grid;place-items:end start;padding:1.2rem;color:#fff;font-family:var(--serif);font-size:1.4rem;font-weight:700}
.collage div:nth-child(1){background:linear-gradient(135deg,var(--coral),var(--amber));transform:translateY(24px)}
.collage div:nth-child(2){background:linear-gradient(135deg,var(--violet),var(--sky))}
.collage div:nth-child(3){background:linear-gradient(135deg,var(--teal),var(--sky));transform:translateY(24px)}
.collage div:nth-child(4){background:linear-gradient(135deg,var(--pink),var(--violet))}
.checks{list-style:none;display:grid;gap:.7rem;margin-top:1.2rem}
.checks li{display:flex;gap:.7rem}.checks li::before{content:"✓";flex:none;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:800;margin-top:2px}

/* Timeline / jadwal */
.tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}
.tab{padding:.7rem 1.4rem;border-radius:999px;background:#fff;border:1.5px solid var(--line);font-weight:700;cursor:pointer;font-family:inherit;font-size:.9rem}
.tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.timeline{display:grid;gap:1rem}
.t-item{display:grid;grid-template-columns:130px 1fr;gap:1.4rem;background:#fff;border-radius:18px;padding:1.2rem 1.5rem;border:1px solid var(--line);border-left:6px solid var(--c,var(--violet));align-items:center}
.t-item .time{font-family:var(--serif);font-size:1.5rem;font-weight:800;color:var(--c,var(--violet))}
.t-item .time small{display:block;font-family:var(--sans);font-size:.72rem;color:var(--muted);font-weight:600}
.t-item p{color:var(--muted);font-size:.92rem}
.tag{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .7rem;border-radius:99px;background:var(--c,var(--violet));color:#fff;margin-bottom:.3rem}

/* Berita */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem}
.news-card{background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);transition:.3s;display:flex;flex-direction:column}
.news-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.news-card .cover{aspect-ratio:16/9;background:var(--g);display:grid;place-items:center;color:#fff;font-family:var(--serif);font-size:2.4rem;font-weight:800;background-size:cover;background-position:center}
.news-card .in{padding:1.4rem;display:grid;gap:.5rem}
.news-card small{color:var(--muted)}
.article{max-width:760px;margin:auto}
.article .body{font-size:1.1rem;white-space:pre-line}

/* Galeri */
.gallery{columns:3 260px;column-gap:1rem}
.g-item{break-inside:avoid;margin-bottom:1rem;border-radius:var(--r);overflow:hidden;background:var(--g);aspect-ratio:var(--ar,4/3);display:flex;align-items:flex-end;padding:1rem;color:#fff;font-weight:700;background-size:cover;background-position:center;transition:.3s}
.g-item:hover{transform:scale(1.02)}

/* Sponsor */
.sp-tier{margin-bottom:2rem}
.sp-tier h4{font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;text-align:center}
.sp-row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.sp{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.2rem 2rem;font-weight:800;color:var(--muted);min-width:160px;text-align:center;display:grid;place-items:center;min-height:76px}
.sp.utama{min-width:300px;min-height:110px;font-size:1.3rem;color:var(--ink);border-top:4px solid var(--amber)}
.sp img{max-height:56px;margin:auto}

/* FAQ */
.faq-group{margin-bottom:2rem}
.faq-group h3{margin-bottom:1rem;color:var(--violet)}
details.faq{background:#fff;border-radius:16px;border:1px solid var(--line);padding:1.1rem 1.4rem;margin-bottom:.8rem;transition:.2s}
details.faq[open]{box-shadow:var(--shadow);border-color:transparent}
details.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}
details.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--coral);transition:.2s}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq p{margin-top:.8rem;color:var(--muted)}

/* Form */
.form-card{background:#fff;border-radius:28px;padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow);border:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.form-grid .full{grid-column:1/-1}
label{display:grid;gap:.4rem;font-weight:700;font-size:.85rem}
input,select,textarea{font:inherit;padding:.85rem 1rem;border-radius:14px;border:1.5px solid #dcdcf0;background:#fbfaff;transition:.2s;width:100%;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--violet);box-shadow:0 0 0 4px rgba(123,92,255,.15);background:#fff}
textarea{min-height:130px;resize:vertical}
.fieldset-title{grid-column:1/-1;font-family:var(--serif);font-size:1.3rem;padding-top:.8rem;border-top:1px dashed var(--line);margin-top:.6rem;display:flex;gap:.6rem;align-items:center}
.fieldset-title:first-child{border:0;margin:0;padding:0}
.fieldset-title span{width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--sans);font-size:.85rem;font-weight:800;display:grid;place-items:center}
.summary{background:linear-gradient(135deg,var(--ink),var(--ink3));color:#fff;border-radius:20px;padding:1.5rem;display:grid;gap:.4rem}
.summary .tot{font-family:var(--serif);font-size:2.2rem;color:var(--amber)}
.note{padding:1rem 1.2rem;border-radius:14px;font-size:.9rem}
.note.ok{background:#e6faf7;color:#066b60}.note.err{background:#ffe9ea;color:#a3202a}.note.info{background:var(--mist);color:var(--ink2)}
.success{text-align:center;display:grid;gap:1rem;justify-items:center}
.success .code{font-family:var(--serif);font-size:2.6rem;letter-spacing:.08em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;border:2px dashed var(--gold);padding:.4rem 1.6rem;border-radius:16px}

/* Tabel */
.table-wrap{overflow:auto;border-radius:var(--r);border:1px solid var(--line);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th{background:var(--ink);color:#fff;text-align:left;padding:.85rem 1rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
td{padding:.8rem 1rem;border-top:1px solid var(--line)}
tr:hover td{background:var(--mist)}
.pill{display:inline-block;padding:.2rem .7rem;border-radius:99px;font-size:.75rem;font-weight:800;color:#fff}
.pill.menunggu{background:var(--amber)}.pill.dibayar{background:var(--teal)}.pill.dibatalkan{background:var(--coral)}.pill.hadir{background:var(--violet)}
.toolbar{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1.2rem}
.toolbar select,.toolbar input{width:auto;flex:1;min-width:160px}

/* Rute */
.route-line{position:relative;padding-left:2rem;border-left:3px dashed var(--violet);display:grid;gap:1.2rem;margin-left:1rem}
.station{position:relative;background:#fff;border-radius:16px;padding:1rem 1.3rem;border:1px solid var(--line)}
.station::before{content:"";position:absolute;left:-2.62rem;top:1.2rem;width:18px;height:18px;border-radius:50%;background:var(--c,var(--teal));border:4px solid var(--cream)}
.station b{color:var(--c,var(--teal))}

/* Race pack */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;counter-reset:s}
.step{background:#fff;border-radius:var(--r);padding:1.8rem;border:1px solid var(--line);counter-increment:s;position:relative}
.step::before{content:counter(s);font-family:var(--serif);font-size:3.4rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;line-height:1;margin-bottom:.4rem}

/* CTA band */
.cta-band{background:var(--grad2);color:#fff;border-radius:32px;padding:clamp(2rem,6vw,4rem);display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.12);right:-100px;top:-140px}
.cta-band>*{position:relative;z-index:1}

/* Page hero */
.page-hero{background:radial-gradient(800px 400px at 90% 0,rgba(123,92,255,.5),transparent 60%),radial-gradient(700px 400px at 0 100%,rgba(255,90,95,.4),transparent 60%),var(--ink);color:#fff;padding:clamp(3.5rem,7vw,5.5rem) 0}
.page-hero h1{font-size:clamp(2.4rem,5vw,4rem);margin:.8rem 0}
.crumbs{font-size:.85rem;color:#aab0dc}.crumbs a:hover{color:var(--amber)}

/* Footer */
footer.site{background:var(--ink);color:#c3c7ea;padding:4.5rem 0 0;position:relative}
footer.site::before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:var(--grad)}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem}
footer h4{color:#fff;font-family:var(--serif);font-size:1.15rem;margin-bottom:1rem}
footer li{list-style:none;margin-bottom:.5rem;font-size:.92rem}
footer a:hover{color:var(--amber)}
.social{display:flex;gap:.6rem;margin-top:1rem}
.social a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;font-weight:800;font-size:.8rem;transition:.2s}
.social a:hover{background:var(--grad);color:#fff}
.copy{border-top:1px solid rgba(255,255,255,.1);margin-top:3rem;padding:1.4rem 0;font-size:.82rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem}

/* Admin */
.admin-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh;background:var(--mist)}
.admin-side{background:var(--ink);color:#fff;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.4rem}
.admin-side button{background:none;border:0;color:#c3c7ea;text-align:left;padding:.8rem 1rem;border-radius:12px;font:inherit;font-weight:600;cursor:pointer}
.admin-side button.on,.admin-side button:hover{background:var(--ink3);color:#fff}
.admin-main{padding:2rem;overflow:auto}
.login-box{max-width:420px;margin:12vh auto}

.reveal{opacity:0;transform:translateY(28px);transition:.8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.loading{padding:3rem;text-align:center;color:var(--muted)}
.demo-banner{background:var(--amber);color:var(--ink);text-align:center;font-size:.8rem;font-weight:700;padding:.35rem}

@media(max-width:960px){
  .hero .wrap,.split{grid-template-columns:1fr}
  .hero-art{max-width:380px;margin:auto}
  .stats{grid-template-columns:repeat(2,1fr)}
  .cat-row{grid-template-columns:1fr}.cat-row .body{padding:0 1.5rem 1.5rem}
  .f-grid{grid-template-columns:1fr 1fr}
  .burger{display:block}
  nav.main{position:fixed;inset:74px 0 auto 0;background:var(--cream);flex-direction:column;align-items:stretch;padding:1rem;max-height:0;overflow:hidden;opacity:0;transition:.3s;border-bottom:1px solid var(--line)}
  nav.main.open{max-height:90vh;opacity:1;overflow:auto}
  .dd-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 0 1rem}
  .dd>button{display:none}
  .admin-shell{grid-template-columns:1fr}.admin-side{flex-direction:row;overflow:auto}
}
@media(max-width:640px){
  .form-grid{grid-template-columns:1fr}.t-item{grid-template-columns:1fr}.f-grid{grid-template-columns:1fr}.topbar .wrap>span:last-child{display:none}
}
