/* Directr 2026 redesign layer. Loads after style.css and restyles the app without touching its logic.
   Look: clean shadcn-style dark UI, Geist type, Directr orange accent, subtle motion. */
@font-face{font-family:"Geist";src:url(fonts/geist.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{
  --bg:#09090b;--bg2:#0e0e11;--card:#131316;--card2:#19191d;--hover:#1e1e23;--border:#25252b;--border2:#34343c;
  --fg:#fafafa;--fg2:#a1a1aa;--fg3:#6f6f78;
  --panel:var(--card);--panel-solid:var(--card);--ink:var(--fg);--muted:var(--fg2);--line:var(--border);--line2:var(--border2);--chip:var(--hover);
  --accent:#ff7a1a;--accent2:#ff5c00;--accent-fg:#fff;--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444;
  --radius:16px;--shadow:0 24px 60px -24px rgba(0,0,0,.8);--glass:rgba(14,14,17,.78);
  --f:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.34,1.56,.64,1);--gap:16px;--pad:20px;
  color-scheme:dark}
:root.dr-compact{--gap:10px;--pad:14px}
body{font:14.5px/1.55 var(--f);background:var(--bg);letter-spacing:-.003em}
h1,h2,h3{font-family:var(--f);text-wrap:balance}
h2{font-size:22px;font-weight:600;letter-spacing:-.025em}
h3{font-weight:600}
::selection{background:color-mix(in oklab,var(--accent) 40%,transparent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
a{color:var(--accent)}

/* the old starfield + helix background is replaced by a clean surface */
#bgvid,#helix{display:none!important}
body::before{display:none}
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(900px 500px at 85% -10%,color-mix(in oklab,var(--accent) 7%,transparent),transparent 70%)}

/* ---------- shell ---------- */
.app{z-index:5}
.sidebar{background:var(--bg2)!important;border-right:1px solid var(--border);width:256px;transition:width .4s var(--ease)}
.sb-head .brand img{border-radius:9px}
.sb-head .brand b{font-size:16px;font-weight:700;letter-spacing:-.01em}
.iconbtn{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--fg2);cursor:pointer;transition:background .2s,color .2s,transform .15s var(--ease)}
.iconbtn:hover{background:var(--hover);color:var(--fg)}
.iconbtn:active{transform:scale(.94)}
.sb-new{background:var(--accent)!important;color:var(--accent-fg)!important;border:0!important;font-weight:600;height:38px;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 24px -12px var(--accent);position:relative;overflow:hidden;transition:background .2s,transform .15s var(--ease)}
.sb-new:hover{background:var(--accent2)!important}
.sb-new:active{transform:scale(.97)}
.sb-search{height:36px;border:1px solid var(--border)!important;background:var(--card)!important;color:var(--fg3)!important;transition:border-color .2s}
.sb-search:hover{border-color:var(--border2)!important;color:var(--fg2)!important}
.sb-search kbd{border-color:var(--border);background:var(--bg2);font-family:ui-monospace,Consolas,monospace}
.sb-nav{position:relative;scrollbar-width:none}
.sb-nav::-webkit-scrollbar{display:none}
.sb-label{font-size:11px;font-weight:600;letter-spacing:.07em;color:var(--fg3);padding:12px 10px 6px}
.sb-item{position:relative;z-index:1;height:36px;color:var(--fg2);font-weight:500;transition:color .2s,background .2s}
.sb-item:hover{color:var(--fg);background:transparent!important}
.sb-item[aria-current=page]{background:transparent!important;box-shadow:none!important;color:var(--fg)}
.sb-item .ic,.sb-new .ic,.sb-search .ic,.sb-chat .ic{display:grid;place-items:center}
.sb-item .ic svg{transition:transform .35s var(--spring)}
.sb-item:hover .ic svg{transform:scale(1.14)}
.sb-item[aria-current=page] .ic{color:var(--accent)}
.sb-ind{position:absolute;left:0;right:0;top:0;height:36px;border-radius:10px;background:var(--hover);border:1px solid var(--border);pointer-events:none;opacity:0;
  transition:transform .45s var(--ease),opacity .2s,height .3s}
.sb-ind::before{content:"";position:absolute;left:-1px;top:9px;bottom:9px;width:3px;border-radius:2px;background:var(--accent)}
.sb-chats{border-top:1px solid var(--border)}
.sb-chat-open{color:var(--fg2)}
.sb-chat.on{background:var(--hover)}
.sb-foot{border-top:1px solid var(--border)}
.avatar{background:linear-gradient(135deg,var(--accent),var(--accent2))!important;color:#fff!important;border:0!important}

.topbar{height:58px;background:var(--glass)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:0 18px}
.page-title{font-size:15.5px;font-weight:600;letter-spacing:-.01em}
.pill{background:var(--card);border-color:var(--border);color:var(--fg2);font-weight:500}
.pill.ok{color:var(--fg2)}
.mode-badge{background:var(--card);font-weight:500}
.agent-pill{transition:background .2s,border-color .2s}
#connBtn{background:var(--card);border:1px solid var(--border);height:34px;padding:0 14px;font-weight:500}
#connBtn.on .dot{animation:dr-pulse 2s infinite}
@keyframes dr-pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.45)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.dr-gear{flex:none}
.banner{background:color-mix(in oklab,var(--warn) 10%,var(--bg));border-bottom-color:color-mix(in oklab,var(--warn) 30%,transparent)}

/* ---------- page area ---------- */
.main .view{max-width:1200px;padding:26px clamp(16px,3vw,32px) 56px}
.main .view>*:not(.chat):not(.studio):not(.connectors):not(.chatpage):not(p){background:transparent!important;border:0!important;padding:0!important;border-radius:0}
.view>.dr-enter{animation:dr-up .5s var(--ease) both}
.view>.dr-enter>*{animation:dr-up .55s var(--ease) both}
.view>.dr-enter>*:nth-child(2){animation-delay:.04s}.view>.dr-enter>*:nth-child(3){animation-delay:.08s}.view>.dr-enter>*:nth-child(4){animation-delay:.12s}
.view>.dr-enter>*:nth-child(5){animation-delay:.16s}.view>.dr-enter>*:nth-child(n+6){animation-delay:.2s}
@keyframes dr-up{from{opacity:0;transform:translateY(10px)}}

/* surfaces */
.card,.glass,.main .view .card{position:relative;background:var(--card)!important;border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad);margin-bottom:var(--gap);
  transition:border-color .3s,box-shadow .35s,transform .35s var(--ease)}
.card::after,.glass::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,-40%),color-mix(in oklab,var(--accent) 75%,transparent),transparent 60%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.card:hover::after,.glass:hover::after{opacity:1}
details.card>summary{list-style:none;display:flex;align-items:center;gap:8px}
details.card>summary::-webkit-details-marker{display:none}
details.card>summary::before{content:"";width:7px;height:7px;border-right:2px solid var(--fg3);border-bottom:2px solid var(--fg3);transform:rotate(-45deg);transition:transform .3s var(--ease)}
details.card[open]>summary::before{transform:rotate(45deg)}
table{border-collapse:collapse;width:100%}
th{color:var(--fg3);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;text-align:left}
th,td{padding:9px 10px;border-bottom:1px solid var(--border)}
tr{transition:background .2s}tbody tr:hover{background:var(--hover)}

/* buttons */
.btn{position:relative;overflow:hidden;height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--fg);font-weight:500;justify-content:center;
  transition:background .2s,border-color .2s,transform .15s var(--ease),box-shadow .25s,color .2s;-webkit-tap-highlight-color:transparent}
.btn:hover{background:var(--hover);border-color:var(--border2)}
.btn:active{transform:scale(.96)}
.btn.sm{height:30px;padding:0 11px;border-radius:8px;font-size:13px}
.btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-fg);filter:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 24px -12px var(--accent)}
.btn.primary:hover{background:var(--accent2);filter:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 14px 30px -12px var(--accent)}
.btn.primary::before,.sb-new::before,.send::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.32) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s var(--ease);pointer-events:none}
.btn.primary:hover::before,.sb-new:hover::before,.send:hover::before{transform:translateX(120%)}
.btn.ghost{background:transparent;border-color:transparent}
.btn.ghost:hover{background:var(--hover)}
.btn.danger{color:var(--bad)}
.btn.danger:hover{background:color-mix(in oklab,var(--bad) 10%,transparent);border-color:color-mix(in oklab,var(--bad) 35%,transparent)}
.send{position:relative;overflow:hidden;background:var(--accent)!important;color:#fff!important;border:0;border-radius:10px;transition:background .2s,transform .15s var(--ease)}
.send:hover{background:var(--accent2)!important}.send:active{transform:scale(.95)}
.dr-ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.22;transform:scale(0);animation:dr-rip .6s var(--ease) forwards;pointer-events:none}
@keyframes dr-rip{to{transform:scale(1);opacity:0}}

/* inputs */
input,select,textarea{background:var(--bg2);border:1px solid var(--border);border-radius:10px;font-size:15px;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
input[type=file]{max-width:100%;min-width:0}
label{color:var(--fg2)}

/* chips, tabs, segmented controls */
.pchip,.chip-btn,.chip-toggle{height:34px;padding:0 13px;border-radius:99px;border:1px solid var(--border);background:var(--bg2);color:var(--fg);font-weight:500;
  transition:background .2s,border-color .2s,transform .2s var(--ease),box-shadow .2s}
.pchip:hover,.chip-btn:hover,.chip-toggle:hover{border-color:var(--border2);background:var(--hover);transform:translateY(-1px)}
.pchip:active,.chip-btn:active,.chip-toggle:active{transform:scale(.95)}
.pchip.on,.chip-toggle.on{background:color-mix(in oklab,var(--accent) 14%,var(--bg2));border-color:var(--accent);color:var(--fg);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 12%,transparent)}
.pchip small{font-family:ui-monospace,Consolas,monospace}
.chip{background:var(--hover);border-color:var(--border)}
.seg{background:var(--bg2);border-color:var(--border);border-radius:11px;padding:3px}
.seg-btn{border-radius:8px;transition:background .25s,color .2s}
.seg-btn.on{background:var(--card2);box-shadow:0 2px 8px -2px rgba(0,0,0,.4);border-color:var(--border2)}
.cat-label,.mini-label{color:var(--fg3);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em}

/* chat */
.msg-row .bubble.bot{background:var(--card2);border-color:var(--border)}
.msg-row .bubble.me{background:var(--accent);color:#fff}
.bot-av{background:color-mix(in oklab,var(--accent) 14%,transparent);border-color:color-mix(in oklab,var(--accent) 35%,transparent)}
.composer{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:16px!important;transition:border-color .2s,box-shadow .2s}
.composer:focus-within{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent)}
.composer textarea{background:transparent;border:0;box-shadow:none}
.chat-bottom{background:linear-gradient(transparent,var(--bg) 35%)}
.suggest-card,.folder,.idea-title{transition:border-color .25s,transform .3s var(--ease),box-shadow .3s}
.suggest-card{background:var(--card);border-color:var(--border)}
.suggest-card:hover,.folder:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in oklab,var(--accent) 50%,transparent)}
.welcome-ic{background:color-mix(in oklab,var(--accent) 12%,transparent)}

/* library */
.thumbwrap{cursor:pointer;border-radius:10px;overflow:hidden}
.thumbwrap img{transition:transform .5s var(--ease)}
.thumbwrap:hover img{transform:scale(1.05)}
.playbadge{transition:transform .35s var(--spring),background .2s}
.thumbwrap:hover .playbadge{transform:scale(1.15);background:var(--accent)}
.folder{background:var(--card);border-color:var(--border)}

/* command palette, toast, preview popup */
.cmdk{background:var(--card);border:1px solid var(--border2);color:var(--fg);box-shadow:var(--shadow);border-radius:16px}
.cmdk[open]{animation:dr-pop .3s var(--ease)}
.cmdk::backdrop{background:rgba(0,0,0,.5);backdrop-filter:blur(3px)}
.cmdk input{font-size:15px;height:52px}
.cmdk-item{transition:background .15s}
.cmdk-item:hover,.cmdk-item:focus{background:var(--hover)}
.cmdk-item .ic{color:var(--fg2);display:grid;place-items:center;width:20px}
@keyframes dr-pop{from{opacity:0;transform:translateY(-6px) scale(.97)}}
.toast{background:var(--fg);color:var(--bg);font-weight:500;border-radius:12px;box-shadow:var(--shadow);animation:dr-toast .45s var(--spring)}
@keyframes dr-toast{from{opacity:0;transform:translate(-50%,14px) scale(.95)}}
.vpop{border-radius:12px;border:1px solid var(--border2);box-shadow:var(--shadow)}

/* sign-in screen */
.si-right{background:var(--bg)}
.si-form .field{background:var(--bg2);border-color:var(--border);border-radius:10px}

/* ---------- new pieces: quick settings, phone nav, all-tools sheet, media player, edit chips ---------- */
.dr-scrim{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.5);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s}
.dr-scrim.on{opacity:1;pointer-events:auto}
.dr-drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(420px,100%);display:flex;flex-direction:column;background:var(--card);border-left:1px solid var(--border);box-shadow:var(--shadow);
  transform:translateX(105%);transition:transform .5s var(--ease);padding-top:env(safe-area-inset-top,0px)}
.dr-drawer.on{transform:none}
.dr-dhead{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}
.dr-dhead h2{margin:0;font-size:17px;flex:1}
.dr-dbody{flex:1;overflow-y:auto;padding:4px 18px 20px}
.dr-sec{padding:16px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:12px}
.dr-sec h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--fg3)}
.dr-row{display:flex;align-items:center;gap:12px}
.dr-row .t{flex:1;min-width:0}.dr-row .t b{display:block;font-weight:500}.dr-row .t span{display:block;font-size:12.5px;color:var(--fg3)}
.dr-dfoot{padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);display:flex;gap:8px}
.dr-dfoot .btn{flex:1}
.dr-seg{position:relative;display:flex;gap:2px;padding:3px;border-radius:11px;background:var(--bg2);border:1px solid var(--border)}
.dr-seg .th{position:absolute;top:3px;bottom:3px;left:0;width:0;border-radius:8px;background:var(--card2);border:1px solid var(--border2);transition:transform .45s var(--ease),width .45s var(--ease)}
.dr-seg button{position:relative;z-index:1;flex:1;height:30px;border:0;border-radius:8px;background:none;color:var(--fg2);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:color .2s}
.dr-seg button.on,.dr-seg button:hover{color:var(--fg)}
.dr-sw{position:relative;flex:none;width:40px;height:23px;border-radius:99px;border:1px solid var(--border2);background:var(--hover);padding:0;cursor:pointer;transition:background .25s,border-color .25s}
.dr-sw::after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .35s var(--spring)}
.dr-sw[aria-checked=true]{background:var(--accent);border-color:var(--accent)}
.dr-sw[aria-checked=true]::after{transform:translateX(17px)}
.dr-swatches{display:flex;gap:8px}
.dr-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;box-shadow:inset 0 0 0 2px var(--card);transition:transform .3s var(--spring)}
.dr-swatch:hover{transform:scale(1.12)}
.dr-swatch.on{border-color:currentColor}
.dr-swatch.c0{background:#ff7a1a;color:#ff7a1a}.dr-swatch.c1{background:#f43f5e;color:#f43f5e}.dr-swatch.c2{background:#8b5cf6;color:#8b5cf6}.dr-swatch.c3{background:#3b82f6;color:#3b82f6}.dr-swatch.c4{background:#10b981;color:#10b981}

.dr-bnav{display:none}
.dr-sheet{display:none}
@media (max-width:900px){
  .dr-bnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:35;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));
    background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border)}
  .dr-bnav .bi{position:absolute;top:6px;left:0;height:52px;border-radius:14px;background:var(--hover);transition:transform .45s var(--ease),width .45s var(--ease)}
  .dr-bnav button{position:relative;z-index:1;border:0;background:none;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:inherit;font-size:11px;font-weight:500;color:var(--fg3);cursor:pointer;transition:color .2s}
  .dr-bnav button.on{color:var(--fg)}
  .dr-bnav button.on svg{color:var(--accent);animation:dr-bump .4s var(--spring)}
  @keyframes dr-bump{40%{transform:scale(1.18)}}
  body.signing .dr-bnav{display:none}
  .main .view{padding:16px 16px calc(96px + env(safe-area-inset-bottom,0px))}
  .main .view>*:not(.chat):not(.studio):not(.connectors):not(.chatpage):not(p){padding:0!important}
  .toast{bottom:calc(env(safe-area-inset-bottom) + 84px)}
  .chat-bottom{bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  .topbar{height:54px;padding:0 8px;gap:6px}
  .page-title{flex:1 1 auto;min-width:0;font-size:15px}
  #connBtn.on{width:34px;padding:0;justify-content:center;flex:none}
  #connBtn.on span{display:none}
  #connBtn.on .dot{margin:0}
  .agent-pill{max-width:42vw;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar .iconbtn{width:34px;height:34px;flex:none}
  .dr-sheet{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;z-index:61;max-height:86%;background:var(--card);border-top:1px solid var(--border);border-radius:22px 22px 0 0;
    transform:translateY(105%);transition:transform .5s var(--ease);padding-bottom:env(safe-area-inset-bottom,0px)}
  .dr-sheet.on{transform:none}
  .dr-sheet .handle{width:40px;height:5px;border-radius:3px;background:var(--border2);margin:10px auto 4px;flex:none}
  .dr-sheet .sbody{overflow-y:auto;padding:4px 16px 20px}
  .dr-sheet .glabel{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--fg3);padding:14px 2px 8px}
  .dr-sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .dr-stile{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 6px;border-radius:14px;border:1px solid var(--border);background:var(--bg2);color:var(--fg);font:inherit;font-size:12px;font-weight:500;text-align:center;cursor:pointer;transition:transform .2s var(--ease)}
  .dr-stile:active{transform:scale(.94)}
  .dr-stile.on{border-color:var(--accent)}
  .dr-tic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in oklab,var(--accent) 13%,transparent);color:var(--accent)}
}

.dr-player{border:1px solid var(--border2);border-radius:18px;background:var(--card);color:var(--fg);padding:14px;width:min(820px,calc(100% - 24px));max-height:calc(100% - 24px);box-shadow:var(--shadow)}
.dr-player[open]{animation:dr-pop .35s var(--ease)}
.dr-player::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(4px)}
.dr-player .ph{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.dr-player .ph b{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dr-player video,.dr-player img{display:block;width:100%;max-height:70vh;border-radius:12px;background:#000;object-fit:contain}
.dr-player audio{width:100%}

.dr-chips{display:flex;flex-direction:column;gap:12px;padding:14px;margin:4px 0 10px;border:1px solid var(--border);border-radius:14px;background:var(--bg2)}
.dr-chips .hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dr-chips .hd b{font-size:14px}
.dr-chips .hd span{color:var(--fg3);font-size:12.5px}
.dr-chips .hd .grow{flex:1}
.dr-tabs{position:relative;display:flex;gap:2px;padding:3px;border-radius:11px;background:var(--card);border:1px solid var(--border);overflow-x:auto;scrollbar-width:none}
.dr-tabs::-webkit-scrollbar{display:none}
.dr-tabs .th{position:absolute;top:3px;bottom:3px;left:0;width:0;border-radius:8px;background:var(--hover);border:1px solid var(--border2);transition:transform .45s var(--ease),width .45s var(--ease)}
.dr-tabs button{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:0;border-radius:8px;background:none;color:var(--fg2);font:inherit;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}
.dr-tabs button.on,.dr-tabs button:hover{color:var(--fg)}
.dr-tabs .c{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center;animation:dr-popin .35s var(--spring)}
@keyframes dr-popin{from{transform:scale(0)}}
.dr-chiplist{display:flex;flex-wrap:wrap;gap:8px}
.dr-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:99px;border:1px solid var(--border);background:var(--card);color:var(--fg);font:inherit;font-size:13px;font-weight:500;cursor:pointer;
  transition:background .2s,border-color .2s,transform .2s var(--ease),box-shadow .2s;animation:dr-chipin .4s var(--ease) both}
.dr-chip:hover{border-color:var(--border2);background:var(--hover);transform:translateY(-1px)}
.dr-chip:active{transform:scale(.95)}
.dr-chip .ck{display:inline-flex;width:0;overflow:hidden;color:var(--accent);transition:width .25s var(--ease)}
.dr-chip.on{background:color-mix(in oklab,var(--accent) 14%,var(--card));border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 12%,transparent)}
.dr-chip.on .ck{width:14px}
.dr-chip.bump{animation:dr-bump2 .35s var(--spring)}
@keyframes dr-bump2{40%{transform:scale(1.08)}}
@keyframes dr-chipin{from{opacity:0;transform:translateY(6px) scale(.97)}}
.dr-recipes{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.dr-recipe{flex:none;display:flex;flex-direction:column;gap:2px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--fg);font:inherit;cursor:pointer;transition:border-color .2s,transform .25s var(--ease)}
.dr-recipe:hover{border-color:var(--accent);transform:translateY(-2px)}
.dr-recipe b{font-size:13px}.dr-recipe span{font-size:11.5px;color:var(--fg3)}
.dr-ghint{color:var(--fg3);font-size:12.5px;margin:0}

/* settings: spacing + motion */
:root.dr-compact .card,:root.dr-compact .glass{padding:14px}
:root.dr-nomotion *,:root.dr-nomotion *::before,:root.dr-nomotion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
@media (prefers-reduced-motion:reduce){.view>.dr-enter,.view>.dr-enter>*{animation:none}}
