/* TINY ROOM LAB — design tokens + shared components */
:root{
  --o:#F47A20; --o2:#FF9A4D; --o3:#FFE6D1; --od:#C95A0C;
  --ink:#1D1E21; --ink2:#2A2C31; --ink3:#3A3D44; --mute:#7C766F; --line:#ECE5DC;
  --paper:#FBF7F2; --card:#FFFFFF; --cream:#F5EEE5;
  --r:20px; --r2:14px; --sh:0 1px 2px rgba(29,30,33,.06),0 8px 28px rgba(29,30,33,.08);
  --glass:rgba(22,22,26,.52); --glassb:rgba(255,255,255,.14);
  --f:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; --fd:'Instrument Serif','Iowan Old Style',Georgia,serif;
  --safe-b:env(safe-area-inset-bottom,0px); --safe-t:env(safe-area-inset-top,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;font-family:var(--f);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
a{color:inherit}
.disp{font-family:var(--fd);font-weight:400;letter-spacing:-.01em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;height:48px;padding:0 20px;border-radius:999px;font-weight:650;font-size:15px;letter-spacing:-.005em;transition:transform .15s ease,background .2s,box-shadow .2s;white-space:nowrap;text-decoration:none}
.btn:active{transform:scale(.97)}
.btn-o{background:var(--o);color:#fff;box-shadow:0 6px 20px rgba(244,122,32,.38),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-o:hover{background:#ff8429}
.btn-dark{background:var(--ink);color:#fff}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid var(--glassb);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.btn-line{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn-big{height:58px;font-size:16.5px;padding:0 26px}
.chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 15px;border-radius:999px;background:var(--glass);color:#fff;border:1px solid var(--glassb);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);font-weight:600;font-size:14px}
.yt{display:inline-flex;align-items:center;gap:7px}
.yt i{width:18px;height:13px;border-radius:4px;background:#FF0033;position:relative;display:inline-block}
.yt i:after{content:'';position:absolute;left:7px;top:3.5px;border-left:5.5px solid #fff;border-top:3px solid transparent;border-bottom:3px solid transparent}

/* bottom sheets (mobile) -> floating panels (desktop) */
#scrim{position:fixed;inset:0;background:rgba(10,10,12,.28);opacity:0;pointer-events:none;transition:opacity .3s;z-index:40}
#scrim.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--paper);color:var(--ink);border-radius:26px 26px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.25);
  max-height:84vh;max-height:84dvh;overflow:auto;overscroll-behavior:contain;transform:translateY(105%);transition:transform .42s cubic-bezier(.2,.8,.2,1);padding:10px 20px calc(22px + var(--safe-b))}
.sheet.on{transform:none}
.sheet .grab{width:40px;height:5px;border-radius:9px;background:#D9D0C5;margin:2px auto 12px}
.sheet .x{position:sticky;top:0;float:right;width:44px;height:44px;margin:-6px -10px 0 0;border-radius:50%;display:grid;place-items:center;font-size:20px;color:var(--mute);z-index:2}
.sheet .x:hover{background:var(--cream)}
.sheet h2{font-family:var(--fd);font-weight:400;font-size:30px;line-height:1.05;margin:4px 0 6px;letter-spacing:-.01em}
.sheet .kick{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--o)}
.sheet p{color:#55504A;line-height:1.5;font-size:15px;margin:6px 0 14px}
@media (min-width:900px){
  .sheet{left:auto;right:24px;bottom:24px;top:auto;width:420px;border-radius:24px;max-height:calc(100vh - 140px);transform:translateX(calc(100% + 40px))}
  .sheet .grab{display:none}
  #scrim{background:transparent}
}

/* inputs */
.field{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 5px 5px 16px;box-shadow:var(--sh)}
.field input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px;height:40px}
.field:focus-within{border-color:var(--o);box-shadow:0 0 0 4px rgba(244,122,32,.15)}

#toast{position:fixed;left:50%;bottom:calc(96px + var(--safe-b));transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:14px;font-size:14px;font-weight:550;opacity:0;pointer-events:none;transition:all .3s;z-index:90;max-width:88vw;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.25)}
#toast.on{opacity:1;transform:translate(-50%,0)}
#tsw{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:95}
