:root{--ink:#2b2f31;--ink-soft:#5f666a;--ink-quiet:#868d90;--paper:#f4f2ee;--paper-strong:#fbfaf7;--line:rgba(43,47,49,0.12);--accent:#39413f;--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;background:#d7d7d1;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimiseLegibility;overflow:hidden}body{overscroll-behavior:none}.stage{position:fixed;inset:0;display:block}.stage__loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;font-size:.6875rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-quiet)}.stage__canvas{position:absolute;inset:0}.stage__canvas canvas{display:block;width:100%!important;height:100%!important;outline:none;touch-action:none;cursor:default}.connection{position:absolute;top:1rem;right:1.2rem;z-index:4;padding:.34rem .62rem;border-radius:999px;background:rgba(251,250,247,.72);border:1px solid var(--line);color:var(--ink-soft);font-size:.6875rem;letter-spacing:.07em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.connection--connected:before{content:"";display:inline-block;width:.4rem;height:.4rem;margin-right:.36rem;border-radius:999px;background:#4f7c59}.stage--capture .overlay{display:none}.overlay{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:2}.welcome{pointer-events:auto;max-width:26rem;padding:2.35rem 2.5rem 2.1rem;text-align:center;border-radius:1.15rem;background:rgba(251,250,247,.82);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 24px 60px -28px rgba(28,32,34,.45);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);opacity:0;transform:translateY(.6rem) scale(.985);transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1);visibility:hidden}.welcome.is-visible{opacity:1;transform:none;visibility:visible}.welcome.is-hidden{opacity:0;transform:translateY(-.4rem);visibility:hidden;pointer-events:none}.welcome__eyebrow{margin:0 0 .85rem;font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-quiet)}.welcome__title{margin:0;font-size:1.9rem;font-weight:500;letter-spacing:-.015em;color:var(--ink)}.welcome__hint,.welcome__note{margin:1.15rem 0 0;font-size:.8125rem;line-height:1.65;color:var(--ink-soft)}.welcome__hint span,.welcome__note span,.welcome__quiet span{display:inline-block;padding:.05rem .34rem;border-radius:.32rem;background:rgba(43,47,49,.07);border:1px solid rgba(43,47,49,.06);font-size:.75rem;font-weight:500;color:var(--ink)}.welcome__name{margin-top:1.35rem}.welcome__name-label{display:block;margin-bottom:.45rem;font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-quiet)}.welcome__name-input{width:100%;padding:.68rem .85rem;border:1px solid rgba(57,65,63,.22);border-radius:.72rem;background:rgba(255,255,255,.72);color:var(--ink);font-family:inherit;font-size:.9rem;transition:border-color .18s ease,box-shadow .18s ease}.welcome__name-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(57,65,63,.12)}.welcome__name-display,.welcome__name-edit{display:flex;align-items:center;gap:.6rem}.welcome__name-display{justify-content:center}.welcome__name-input{flex:1 1}.welcome__name-value{min-width:0;padding:.62rem .85rem;border-radius:.72rem;background:rgba(43,47,49,.06);color:var(--ink);font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.welcome__button{padding:.72rem 1.6rem;border:0;border-radius:999px;background:var(--accent);color:var(--paper-strong);font-family:inherit;font-size:.8125rem;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s ease,box-shadow .2s ease;box-shadow:0 10px 26px -14px rgba(28,32,34,.8)}.welcome__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem;margin-top:1.6rem}.welcome__button:hover{background:#2c3331;transform:translateY(-1px)}.welcome__button:active{transform:translateY(0)}.welcome__button:focus-visible{outline:2px solid rgba(57,65,63,.5);outline-offset:3px}.welcome__button--secondary{background:transparent;color:var(--accent);border:1px solid rgba(57,65,63,.24);box-shadow:none}.welcome__button--secondary:hover{background:rgba(57,65,63,.07)}.welcome__quiet{margin:1.5rem 0 0;padding-top:1.15rem;border-top:1px solid var(--line);font-size:.6875rem;line-height:1.7;color:var(--ink-quiet)}.statusline{position:absolute;left:50%;bottom:1.6rem;transform:translate(-50%,.5rem);display:flex;align-items:center;gap:.55rem;padding:.5rem 1rem;border-radius:999px;background:rgba(251,250,247,.7);border:1px solid var(--line);box-shadow:0 12px 30px -22px rgba(28,32,34,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:.6875rem;letter-spacing:.02em;color:var(--ink-soft);opacity:0;visibility:hidden;transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}.statusline.is-visible{opacity:.9;transform:translate(-50%);visibility:visible}.statusline__dot{width:.34rem;height:.34rem;border-radius:50%;background:#7d9a76;box-shadow:0 0 0 3px rgba(125,154,118,.18)}.resume-hint{left:50%;bottom:6.8rem;transform:translateX(-50%);padding:.46rem .8rem;background:rgba(251,250,247,.95)}.resume-hint,.settings-button{position:absolute;z-index:7;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font:inherit;font-size:.6875rem;cursor:pointer;box-shadow:0 12px 30px -22px rgba(28,32,34,.6)}.settings-button{right:1.2rem;top:2.8rem;padding:.44rem .8rem;background:rgba(251,250,247,.94)}.interaction-prompt{position:absolute;left:50%;bottom:4.6rem;display:flex;align-items:center;gap:.55rem;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;background:rgba(251,250,247,.92);box-shadow:0 12px 30px -22px rgba(28,32,34,.6);color:var(--ink-soft);font-size:.6875rem;z-index:3;transform:translateX(-50%)}.interaction-prompt__key{min-width:1.2rem;padding:.15rem .3rem;border-radius:.35rem;background:var(--ink-soft);color:var(--paper);font-weight:650;text-align:center}.interaction-notice{top:4.2rem;left:50%;padding:.48rem .9rem;border:1px solid var(--line);border-radius:999px;box-shadow:0 12px 30px -22px rgba(28,32,34,.6);color:var(--ink);font-size:.75rem;transform:translateX(-50%)}.interaction-notice,.voice-panel{position:absolute;z-index:4;background:rgba(251,250,247,.94)}.voice-panel{right:1.2rem;bottom:1.2rem;min-width:17rem;padding:.9rem;border:1px solid var(--line);border-radius:.9rem;box-shadow:0 20px 45px -30px rgba(28,32,34,.8)}.voice-panel__message,.voice-panel__status{font-size:.75rem;color:var(--ink-soft)}.voice-panel--connected .voice-panel__status{color:var(--ink);font-weight:600}.voice-panel--error .voice-panel__status{color:#a33;font-weight:600}.voice-panel__partner{margin-top:.15rem;font-size:.85rem;font-weight:600;color:var(--ink)}.voice-panel__message{margin-top:.35rem}.voice-panel button{margin:.55rem .35rem 0 0;padding:.35rem .7rem;background:rgba(43,47,49,.05);font:inherit;font-size:.72rem;cursor:pointer}.proximity-voice,.voice-panel button{border:1px solid var(--line);border-radius:999px;color:var(--ink)}.proximity-voice{position:absolute;right:1.2rem;bottom:1.2rem;z-index:4;display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;background:rgba(251,250,247,.94);box-shadow:0 18px 40px -30px rgba(28,32,34,.8);font-size:.75rem}.proximity-voice__message{color:#a33}.proximity-voice button{padding:.28rem .65rem;border:1px solid var(--line);border-radius:999px;background:rgba(43,47,49,.05);font:inherit;font-size:.7rem;color:var(--ink);cursor:pointer}.screen-share-controls{top:5rem;z-index:5;display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;background:rgba(251,250,247,.94);color:var(--ink);font-size:.72rem;box-shadow:0 18px 40px -30px rgba(28,32,34,.8)}.projector-hint,.screen-share-controls{position:absolute;left:50%;transform:translateX(-50%);border:1px solid var(--line);border-radius:999px}.projector-hint{bottom:8.5rem;z-index:6;padding:.42rem .75rem;background:rgba(251,250,247,.95);color:var(--ink-soft);font-size:.6875rem;box-shadow:0 12px 30px -22px rgba(28,32,34,.6)}.projector-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:8;display:grid;grid-gap:.4rem;gap:.4rem;padding:.6rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(251,250,247,.97);box-shadow:0 24px 50px -30px rgba(28,32,34,.85)}.projector-menu button{min-width:12rem;padding:.48rem .75rem;border:1px solid var(--line);border-radius:999px;background:rgba(43,47,49,.04);color:var(--ink);font:inherit;font-size:.75rem;cursor:pointer}.projector-menu button:hover{background:rgba(43,47,49,.1)}.screen-share-controls button{padding:.28rem .7rem;border:1px solid var(--line);border-radius:999px;background:rgba(43,47,49,.05);font:inherit;color:var(--ink);cursor:pointer}.screen-share-overlay{position:absolute;inset:.5rem;z-index:10;display:grid;place-items:center;background:rgba(12,15,16,.88)}.screen-share-overlay__video{width:100%;height:calc(100% - 4rem);object-fit:contain;border:1px solid rgba(255,255,255,.16);background:#000}.screen-share-overlay__placeholder{display:grid;place-content:center;grid-gap:1rem;gap:1rem;width:100%;height:calc(100% - 4rem);border:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 38%),#101416;color:rgba(255,255,255,.78);font-size:.85rem}.screen-share-overlay__placeholder span{justify-self:center;width:4rem;height:4rem;border-radius:999px;background:conic-gradient(#66a3ff,#7bd88f,#f2c14e,#ef7d7d,#66a3ff);opacity:.85}.screen-share-overlay__close{position:absolute;right:2rem;bottom:2rem;padding:.5rem .95rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.12);color:white;font:inherit;cursor:pointer}.crosshair{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:rgba(43,47,49,.42);box-shadow:0 0 0 1.5px rgba(251,250,247,.5);pointer-events:none}@media (prefers-reduced-motion:reduce){.statusline,.welcome,.welcome__button{transition-duration:1ms}}