/* The demo's desktop: a menu bar, the app window under it, the floating panels and the guide.
   Tokens follow the site's (public/styles.css) and the app's own theme. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cinzel-latin-700-normal.woff2) format('woff2')}

:root{
  --bg:#f6f6f4; --surface:#ffffff; --surface-2:#efefec;
  --border:#e2e1dc; --text:#1b1b1a; --text-2:#68676f;
  --accent:#0b756b; --on-accent:#ffffff; --accent-soft:#e5efed; --accent-ring:#0d8f83;
  --gold:#d9a441; --rim:#9a6a1c;
  --bar:rgba(246,246,244,.92);
  --shadow:0 10px 28px rgba(20,20,15,.16),0 2px 6px rgba(20,20,15,.08);
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#111113; --surface:#1d1d21; --surface-2:#26262b;
    --border:#33333a; --text:#f1f1ef; --text-2:#a3a2ab;
    --accent:#35c4b5; --on-accent:#08211d; --accent-soft:#16312e; --accent-ring:#35c4b5;
    --gold:#c9962f;
    --bar:rgba(24,24,27,.92);
    --shadow:0 14px 36px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.4);
    color-scheme:dark;
  }
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%;margin:0}
body{display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;-webkit-font-smoothing:antialiased;overflow:hidden}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:6px}

.bar{flex:none;height:36px;display:flex;align-items:center;gap:14px;padding:0 10px 0 12px;background:var(--bar);border-bottom:1px solid var(--border);white-space:nowrap}
.bar-brand{display:flex;align-items:center;gap:7px;font-weight:600}
.bar-brand img{display:block}
.steps{display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}
.step{display:flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:0;border-radius:6px;background:none;color:var(--text-2);cursor:pointer}
.step:hover{background:var(--surface-2);color:var(--text)}
.step.on{background:var(--accent-soft);color:var(--text);font-weight:600}
.rn{font-family:'Cinzel',Georgia,serif;font-weight:700;font-size:11px;color:var(--rim);min-width:14px;text-align:center}
.bar-end{margin-left:auto;display:flex;align-items:center;gap:6px}
.bar-btn{display:inline-flex;align-items:center;height:24px;padding:0 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);text-decoration:none;font-size:12px;cursor:pointer}
.bar-btn:hover{background:var(--surface-2)}
.bar-btn[hidden]{display:none}
.bar-clock{color:var(--text-2);font-variant-numeric:tabular-nums;padding-left:6px}

.screen{position:relative;flex:1;min-height:0}
.stage{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0}
.app{display:block;width:100%;height:100%;border:0}
.panel-layer{position:absolute;inset:0;z-index:5}
.panel-layer[hidden]{display:none}
.panel{position:absolute;left:50%;top:14%;width:640px;max-width:100%;height:238px;border:0;background:transparent;transform:translateX(-50%);color-scheme:normal}
.panel[hidden]{display:none}
#panel-start{height:420px}

.ring{position:absolute;left:0;top:0;z-index:6;border:2px solid var(--accent-ring);border-radius:10px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-ring) 22%,transparent);pointer-events:none;transition:transform .25s ease,width .25s ease,height .25s ease}
.ring[hidden]{display:none}
.tip{position:absolute;left:0;top:0;z-index:7;width:300px;padding:12px 14px 12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);transition:transform .25s ease}
.tip[hidden]{display:none}
.tip-step{margin:0 0 4px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--rim)}
.tip-t{margin:0;line-height:1.5}
.tip-t b{font-weight:600}
.tip kbd{display:inline-block;padding:0 5px;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;background:var(--surface-2);font:500 11.5px/18px var(--font);white-space:nowrap}
.tip-acts{display:flex;align-items:center;gap:6px;margin-top:10px}
.tip-acts:empty{display:none}
.tip-btn{height:28px;padding:0 11px;border:1px solid var(--border);border-radius:7px;background:var(--surface);cursor:pointer;font-weight:600;font-size:12.5px}
.tip-btn:hover{background:var(--surface-2)}
.tip-btn.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.tip-btn.pri:hover{filter:brightness(1.06)}
.tip-x{margin-left:auto;width:24px;height:24px;border:0;border-radius:6px;background:none;color:var(--text-2);font-size:17px;line-height:1;cursor:pointer}
.tip-x:hover{background:var(--surface-2);color:var(--text)}

@media (prefers-reduced-motion:reduce){.ring,.tip{transition:none}}
@media (max-width:640px){.bar-brand span,.bar-clock{display:none}}
