/* Omni's controls borrow their scale and materials from the workspace itself. */
:root{--control-surface:#1b1e22;--control-raised:#35393e;--control-text:#edece7;--control-muted:#a3a6ae;--control-ease:cubic-bezier(.22,.75,.2,1)}
.ui-icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.icon-wash{fill:currentColor;fill-opacity:.12}
.icon-left{rotate:180deg}
:is(.button,.nav-start,.language,.text-button,.skill-demo-button,.announcement-reactions button,.steer-buttons button,.memory-playback button){-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,scale .18s var(--control-ease),translate .18s var(--control-ease)}
:is(button,a):focus-visible{outline:2px solid #b4d7c6;outline-offset:4px}
.button{border-radius:13px;gap:11px;font-weight:500;letter-spacing:-.015em}
.button.primary{background:#f3e8d3;box-shadow:0 1px 0 #fff5 inset,0 4px 12px #0002}
.button.secondary{border-color:#ffffff19;background:#24262b99;box-shadow:0 1px 0 #ffffff05 inset}
.button svg{width:20px;height:20px;stroke-width:1.7}
.nav-start{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:12px;border-color:#ffffff20;background:#ffffff07;line-height:1.3}
.language{min-height:42px;min-width:46px;justify-content:center;border-radius:9px}
.text-button{min-height:40px;padding:8px 10px;gap:7px;border-radius:9px;border:0;font-size:12px;line-height:1.4;color:#c4c6cd}
.text-button svg,.text-button .ui-icon{width:16px;height:16px}
.text-button>span:last-child:not(:first-child){margin-left:0}
.scene-footer .text-button{min-height:40px;padding:8px 10px;font-size:11px;border:0}
.timeline-toolbar .text-button{min-height:40px;font-size:11px;padding:8px 10px}
.heading-aside .text-button{margin-left:-10px}
/* A shared moving selection, with measured widths for either language. */
.mode-switch,.skill-pills,.game-tabs,.cli-scenarios,.memory-select{position:relative;isolation:isolate;display:flex;gap:3px;padding:4px;background:var(--control-surface);border:0;border-radius:13px;box-shadow:0 1px 0 #ffffff08 inset,0 2px 8px #0002}
.mode-switch button,.skill-pills button,.game-tabs button,.cli-scenarios button,.memory-select button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;border:0;border-radius:10px;padding:8px 15px;font-family:inherit;font-size:13px;font-weight:400;line-height:1.35;letter-spacing:0;white-space:nowrap;color:var(--control-muted);background:transparent;box-shadow:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .2s ease,scale .18s var(--control-ease)}
.mode-switch button.active,.skill-pills button.active,.game-tabs button.active,.cli-scenarios button.selected,.memory-select button[aria-pressed=true]{background:var(--control-raised);color:var(--control-text);border-color:transparent;box-shadow:0 1px 0 #ffffff0d inset,0 2px 5px #0002}
.control-thumb{position:absolute;left:0;top:0;pointer-events:none;z-index:0;border-radius:10px;background:var(--control-raised);box-shadow:0 1px 0 #ffffff12 inset,0 2px 5px #0003;transition:transform .3s var(--control-ease),width .3s var(--control-ease),height .3s var(--control-ease)}
.control-thumb.is-setting{transition:none}
.has-control-thumb button[aria-pressed=true]{background:transparent;box-shadow:none}
.mode-switch .mode-character{width:28px;height:28px;object-fit:contain;flex:none;margin-block:-3px}
.mode-switch svg{width:23px;height:23px;margin:0 2.5px}
.mode-switch button{padding-inline:13px}
.skill-pills .ui-icon{width:19px;height:19px;color:#aaaeb5}
.skill-pills button.active .ui-icon{color:#e6d3b1}
.skill-pills{gap:1px}
.skill-pills button{padding-inline:13px;font-size:12px}
.game-tabs{background:#172027ed;box-shadow:0 1px 0 #ffffff08 inset,0 6px 18px #0002}
.game-tabs button{font-size:12px;padding-inline:15px}
.game-hud{top:89px}
.cli-scenarios{width:auto}
.cli-scenarios button{font-size:12px;min-height:42px;padding-inline:13px}
.cli-scenarios .ui-icon{width:18px;height:18px}
.memory-select{box-shadow:none;background:#ffffff03}
.memory-select button{font-size:13px;gap:8px;padding-inline:13px}
.memory-select button span:first-child{font-size:10px;color:#878994;font-variant-numeric:tabular-nums}
.memory-select button[aria-pressed=true] span:first-child{color:#d8bda0}
.memory-playback button{border:0;background:#242528;border-radius:12px;color:#ddd5c6;box-shadow:0 1px 0 #ffffff0d inset}
.memory-playback #memory-shutter{padding-inline:16px;font:13px Outfit,sans-serif}
.memory-playback svg{width:19px;height:19px;stroke-width:1.65}
#memory-pause>span{display:none}
#memory-pause .icon-pausing,#memory-pause[data-playing=true] .icon-resuming{display:none}
#memory-pause[data-playing=true] .icon-pausing{display:block}
/* Supporting controls stay quieter than the demonstration and the primary CTA. */
.announcement-reactions button,.skill-demo-button{border:0;border-radius:10px;min-height:42px;background:#2c3035;color:#dededc;box-shadow:0 1px 0 #ffffff08 inset;font-size:12px;padding:8px 13px;gap:8px}
.announcement-reactions .ui-icon{width:17px;height:17px;color:#d8c4a6}
.skill-demo-button .ui-icon{width:18px;height:18px;color:#c8b9c9}
.skills-app{border-color:transparent;border-radius:13px}
.skills-app.selected{background:#2a2d32;border-color:transparent;box-shadow:0 1px 0 #ffffff0b inset}
.skills-app.selected strong{color:#efebe3}
.skills-app>img{filter:drop-shadow(0 4px 5px #0002)}
.skills-story-notes{gap:36px;margin-top:34px}
.skills-story-notes>div{border:0;padding:0;gap:14px;align-items:flex-start}
.skills-story-notes>div>img{width:36px;height:36px;flex:none;object-fit:contain;margin-top:1px}
.skills-story-notes strong{font-size:14px;color:#dededb;line-height:1.6}
.skills-story-notes p{font-size:12px;line-height:1.8;margin-top:6px;color:#92969f}
.announcement-sticker{display:none}
.barrage-chip,.barrage-track:nth-child(2) .barrage-chip{border-color:transparent}
.skill-preview{border-color:#ffffff0a}
.skills-window-foot,.skills-library-foot{border-color:transparent}
.steer-buttons{gap:8px}
.steer-buttons button{width:46px;height:42px;display:grid;place-items:center;background:#304149e8;color:#e3e9e7;border:0;border-radius:10px;box-shadow:0 1px 0 #ffffff14 inset,0 3px 8px #0003}
.steer-buttons .ui-icon{width:20px;height:20px}
.audio-asset>.ui-icon{width:24px;height:24px}
.assistant-message>.ui-icon{width:17px;height:17px;color:#bbb0c6;margin-top:2px}
.cli-result-mark{display:flex;color:#acd1bd}
.cli-result-mark .ui-icon{width:18px;height:18px}
.cli-scenarios button:hover{background:transparent}
.cli-orbit:before,.cli-orbit:after{display:none}
.cli-device-floor{border-color:transparent}
.cli-endpoint{border-color:#ffffff09;box-shadow:none}
#cli-motion{min-height:42px;padding:8px;border-radius:8px;font-size:11px}
.handoff-tabs{border:0;gap:8px}
.handoff-tabs button{border-radius:10px;padding:13px 16px;font-size:13px;min-height:44px;background:transparent;transition:background .22s,color .22s}
.handoff-tabs button[aria-pressed=true]{background:#ffffff08;color:#eeede7}
.handoff-tabs button::after{left:16px;right:auto;width:17px;bottom:4px;height:2px;background:#a5c5b7;transform-origin:left;border-radius:2px}
.device-rail>div{border-color:transparent!important}
.handoff-caption{border-color:#ffffff12}
/* Hover is a small response; there are no perpetual animations on the controls. */
@media(hover:hover) and (pointer:fine){
 .button:hover{transform:none;translate:0 -1px}
 .button.primary:hover{background:#faf0dc;box-shadow:0 1px 0 #fff8 inset,0 5px 16px #0003}
 .button.secondary:hover{background:#323238c9;border-color:#ffffff25}
 :is(.language,.nav-start,.text-button,#cli-motion):hover{background:#ffffff08;color:#f3eee4}
 .announcement-reactions button:hover,.skill-demo-button:hover{background:#3a3c40;color:#f3eee4}
 .steer-buttons button:hover{background:#43565c}
 .memory-playback button:hover:not(:disabled){background:#363536}
 .mode-switch button:hover,.skill-pills button:hover,.game-tabs button:hover,.cli-scenarios button:hover,.memory-select button:hover{color:#f2eee5}
 .skills-app:hover>img{transform:translateY(-2px)}
 .handoff-tabs button:hover{background:#ffffff06;color:#eeede7}
}
:is(.button,.nav-start,.language,.text-button,.announcement-reactions button,.skill-demo-button,.steer-buttons button,.memory-playback button):active:not(:disabled){scale:.975;translate:0 1px}
:is(.mode-switch,.skill-pills,.game-tabs,.cli-scenarios,.memory-select) button:active{scale:.97}
@media(max-width:680px){
 .skills-story-notes{gap:21px;margin-top:27px}
 .skills-story-notes>div{padding:0;gap:13px}
 .skills-story-notes>div>img{width:34px;height:34px}
 .skills-story-notes strong{font-size:13px}
 .skills-story-notes p{font-size:12px;margin-top:3px}
 .skills-app strong{font-size:11px}
 .skills-app small{font-size:9px}
}
@media(max-width:600px){
 .nav-start{min-height:40px;padding:8px 12px;font-size:11px;border-radius:11px}
 .language{min-height:40px;min-width:44px;font-size:11px}
 .button{font-size:11px;min-height:46px;gap:8px;padding:11px 14px;border-radius:11px}
 .button svg{width:18px;height:18px}
 .mode-switch button{font-size:11px;min-height:44px;padding:8px 11px;gap:7px}
 .mode-switch .mode-character{width:25px;height:25px}
 .mode-switch svg{width:21px;height:21px;margin-inline:2px}
 .text-button,.scene-footer .text-button,.timeline-toolbar .text-button{min-height:44px;font-size:11px;gap:6px;padding:8px}
 .text-button .ui-icon{width:16px;height:16px}
 .scene-footer{gap:12px;align-items:center}
 .scene-footer>span{flex:1;min-width:0}
 .shared-skills{align-items:flex-start;gap:12px}
 .skill-pills{width:100%;gap:1px;padding:4px;box-shadow:0 1px 0 #ffffff07 inset}
 .skill-pills button{min-height:44px;flex:1;font-size:11px;padding:8px 6px;gap:6px}
 .skill-pills .ui-icon{width:17px;height:17px}
 .game-tabs{top:12px;left:12px;right:12px;width:max-content;max-width:calc(100% - 24px);padding:4px}
 .game-tabs button{min-height:44px;font-size:11px;padding:8px 10px}
 .game-hud{top:80px;left:17px;right:17px}
 .game-hud b,.game-hud small{font-size:9px}
 .steer-buttons button{width:48px;height:44px}
 .game-hint{font-size:9px;line-height:1.5}
 .announcement-reactions>div{gap:6px;flex-wrap:nowrap}
 .announcement-reactions button{flex:1;min-height:44px;font-size:11px;padding:8px 7px;gap:5px;justify-content:center}
 .announcement-reactions .ui-icon{width:16px;height:16px}
 .skill-demo-button{min-height:44px;font-size:12px}
 .handoff-tabs{gap:3px}
 .handoff-tabs button{min-height:46px;font-size:11px;white-space:normal;padding:10px 7px;line-height:1.5}
 .handoff-tabs button::after{left:calc(50% - 8px);bottom:4px}
 .handoff-tabs button svg{display:none}
 .cli-scenarios{width:100%;gap:1px;padding:4px;max-width:100%}
 .cli-scenarios button{min-height:44px;font-size:11px;padding:8px 5px;gap:5px;flex:1;white-space:normal}
 .cli-scenarios .ui-icon{width:16px;height:16px}
 .cli-log{font-size:11px;line-height:1.65}
 .cli-prompt{font-size:12px}
 .cli-console-footer{font-size:9px;gap:4px}
 .cli-console-footer>span{line-height:1.5}
 #cli-motion{min-height:44px;font-size:10px;padding:8px 4px}
 .memory-select{gap:1px;padding:4px}
 .memory-select button{min-height:44px;font-size:12px;gap:7px;padding:8px 13px}
 .memory-playback button{min-height:44px}
 .timeline-toolbar{padding:7px 11px;gap:6px}
 .timeline-toolbar>div{font-size:9px;gap:6px}
 .timeline-toolbar>div svg{width:16px;height:16px}
 .timeline-toolbar .text-button svg{width:15px;height:15px}
 .audio-asset>.ui-icon{width:20px;height:20px}
 .footer a{min-height:40px;display:inline-flex;align-items:center}
}
@media(max-width:360px){
 .header-actions{gap:5px}
 .button{font-size:10px;padding-inline:11px}
 .skill-pills button{font-size:10px;gap:5px}
 .skill-pills .ui-icon{width:15px;height:15px}
 .cli-scenarios button{font-size:10px;gap:4px}
 .cli-scenarios .ui-icon{width:15px;height:15px}
 .announcement-reactions button{font-size:10px;padding-inline:5px;gap:4px}
 .announcement-reactions .ui-icon{width:14px;height:14px}
 .memory-select button{padding-inline:12px}
 .game-tabs button{font-size:10px;padding-inline:9px}
}
@media(prefers-reduced-motion:reduce){
 .control-thumb,:is(.button,.nav-start,.language,.text-button,.skill-demo-button,.announcement-reactions button,.steer-buttons button,.memory-playback button,.mode-switch button,.skill-pills button,.game-tabs button,.cli-scenarios button,.memory-select button,.handoff-tabs button){transition:none}
 :is(.button,.nav-start,.language,.text-button,.announcement-reactions button,.skill-demo-button,.steer-buttons button,.memory-playback button):active{scale:1;translate:none}
 :is(.mode-switch,.skill-pills,.game-tabs,.cli-scenarios,.memory-select) button:active{scale:1}
}
.outline-item>.ui-icon{width:15px;height:15px;color:#969ca5;margin-top:1px}
.outline-item.selected>.ui-icon{color:#d7ccb9}
.canvas-skill>.ui-icon{width:28px;height:28px;float:left;color:#d7c5a6;margin:3px 11px 0 0}
.text-button[hidden]{display:none}
@media(pointer:coarse){.mode-switch button,.skill-pills button,.game-tabs button,.cli-scenarios button,.memory-select button{min-height:44px}}
#close-lightbox,.memory-lightbox button{display:inline-grid;place-items:center;width:44px;min-height:44px;border-radius:10px}
#close-lightbox .ui-icon,.memory-lightbox button .ui-icon{width:20px;height:20px}
@media(max-width:600px){.language,.nav-start{min-height:44px}}
