/* YuZora server desktop. Static artwork; motion uses only transform and opacity. */
:root{--neon:#39e6f5;--neon-soft:#9df5fa;--neon-green:#83f0b1;--neon-line:#25cce64a;--neon-panel:#04101aeb;--neon-muted:#83a9b9;--yz-taskbar-h:78px;--yz-display:'Space Grotesk',Inter,sans-serif}
body.yuzora-os.yz-neon{background:#020a12!important;color:#d6eef4}
.yz-neon .os-wallpaper{background:linear-gradient(90deg,#010a12b8 0%,#02081324 46%,#010a127a 100%),linear-gradient(0deg,#020b14cc,transparent 40%,#00081030),url('/static/img/yuzora-neon-wallpaper.webp') center 42%/cover no-repeat,#020a12;inset:0}
.yz-icon{display:inline-block;width:21px;height:21px;flex:0 0 auto;vertical-align:middle}
.yz-topbar{height:47px;position:fixed;inset:0 0 auto;z-index:101;border-bottom:1px solid #32dff442;background:#030e19f5;display:flex;align-items:center;padding:0 24px;gap:32px;box-shadow:0 4px 20px #0007;font-size:12px}
.yz-topbar-brand{display:inline-flex;align-items:center;gap:9px;color:#46e9f9;font-family:var(--yz-display);font-size:18px;font-weight:600;white-space:nowrap;letter-spacing:-.035em}
.yz-topbar-brand .yz-icon{width:26px;height:26px;filter:drop-shadow(0 0 5px #19e5fa90)}
.yz-topbar nav{display:flex;gap:26px;align-items:center}.yz-topbar nav a{color:#a4c6d2;transition:color .15s}.yz-topbar nav a:hover{color:#6cf1ff}.yz-topbar-end{margin-left:auto;display:flex;gap:17px;align-items:center;font-size:11px;color:#85bdcb}.yz-topbar-end .yz-top-clock{font-family:var(--font-mono);font-size:15px;color:#56eaf9}.yz-top-apps{display:none;border:0;background:transparent;color:#76e5f3;padding:8px}
.yz-neon .os-desktop{top:47px;bottom:var(--yz-taskbar-h);padding:18px 22px 10px}
.yz-neon .os-window{width:min(1480px,100%);background:#03101bef;border:1px solid #31dbeb60;border-radius:9px;box-shadow:0 0 0 1px #16dcff0a,0 20px 70px #0009}
.yz-neon .os-titlebar{background:#051824f2;border-color:#32dcea40;height:39px;color:#7ee6f4;font-family:var(--font-mono)}
.yz-window-home{color:#8ebfcd;font-size:11px;padding:8px 12px}.yz-neon .os-window-body{padding:23px;transform:none}
.yz-neon.yz-home .os-desktop{padding:20px 24px 4px}.yz-home .os-window{background:transparent;border:0;box-shadow:none;width:100%;max-width:1660px}.yz-home .os-titlebar{display:none}.yz-home .os-window-body{padding:0 3px 0;background:transparent}
body.yz-neon .card,body.yz-neon .stat{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#051522ee!important;border:1px solid #31cbdc38!important;box-shadow:0 8px 26px #0004!important}.yz-neon input,.yz-neon select,.yz-neon textarea{accent-color:#29dfee}.yz-neon button,.yz-neon a{touch-action:manipulation}.yz-neon :focus-visible{outline:2px solid #66f0fa;outline-offset:3px}.yz-neon a:hover{color:#8df6ff}.yz-neon button{transition:background .16s,border-color .16s,color .16s}
.yz-neon .os-taskbar{height:62px;bottom:11px;left:50%;right:auto;transform:translateX(-50%);width:auto;max-width:calc(100% - 30px);padding:0 12px;gap:10px;border:1px solid #3af0ff65;border-radius:12px;background:#03121eed;box-shadow:0 0 20px #10cdeb16,0 10px 28px #0008}
.yz-neon .os-taskbar .tb-center{flex:0 1 auto;gap:7px;overflow:visible}.yz-neon .tb-btn,.yz-neon .tb-app{width:46px;height:46px;min-width:44px;min-height:44px;border-radius:8px;position:relative;color:#4fe8f5;transition:transform .16s ease,background .16s ease}.yz-neon .tb-btn .yz-icon,.yz-neon .tb-app .yz-icon{width:29px;height:29px;filter:drop-shadow(0 0 4px #23c3ff50)}.yz-neon .tb-app:nth-child(3n){color:#81efb8}.yz-neon .tb-app.active{background:#1dcaef17;box-shadow:none}.yz-neon .tb-app.active:after{content:'';position:absolute;bottom:0;left:14px;right:14px;height:2px;background:currentColor;border-radius:3px}.yz-neon .tb-start{border-right:1px solid #42c6dc30;border-radius:0;padding-right:10px;width:52px}.yz-neon .tb-center .yz-dock-label{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(4px);font-size:10px;white-space:nowrap;border:1px solid #26cade60;border-radius:5px;background:#061624;padding:6px 9px;color:#b8eff9;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.yz-neon .tb-app:hover .yz-dock-label,.yz-neon .tb-app:focus-visible .yz-dock-label{opacity:1;transform:translateX(-50%) translateY(0)}
.yz-neon .os-start{bottom:86px;border:1px solid #26d4ed70;background:#04121ff5;border-radius:12px;box-shadow:0 0 35px #0088b328,0 20px 70px #000a;width:min(620px,calc(100vw - 30px));max-height:calc(100dvh - 155px);overflow-y:auto;padding:24px;transition:opacity .18s,transform .18s}.yz-neon .os-start h2{color:#6ceafa;font-size:20px}.yz-neon .os-start-grid .ico{background:#0a293be6;color:#65e8f1;border-color:#2daab64a}.yz-neon .os-start-grid a,.yz-neon .os-start-grid button{border-radius:8px}.yz-neon .os-start-grid a:hover{background:#13536a40}.yz-app-search{display:flex;gap:8px;align-items:center;border:1px solid #2eb8d951;border-radius:7px;background:#03101d;margin:0 0 18px;padding:3px 10px;color:#69dbea}.yz-app-search input{border:0!important;box-shadow:none!important;background:transparent!important;width:100%;padding:11px 3px;color:#c3edf7}.yz-neon .os-ai-panel{border-left-color:#3fe8f361;background:#04111ef5}.yz-neon .os-ai-head{background:#05202c}.yz-neon .os-ai-modelbar,.yz-neon .os-ai-toolbar{background:#061725}.yz-neon .os-ai-msg{border-color:#35bfdd29}
.yz-deck{display:grid;grid-template-columns:minmax(285px,1.03fr) minmax(290px,1.15fr) minmax(275px,.94fr);gap:24px;min-height:calc(100dvh - 184px);align-items:start}
.yz-deck-left,.yz-deck-center,.yz-deck-right{display:flex;flex-direction:column;gap:20px;min-width:0}.yz-deck-center{align-self:stretch;justify-content:flex-end}.yz-pane{min-width:0;overflow:hidden;background:linear-gradient(145deg,#03121acf,#03101ca8);border:1px solid #33dcf065;border-radius:7px;box-shadow:inset 0 0 0 2px #071c2680,0 0 15px #13c4dc0f,0 12px 22px #0004}.yz-pane-head{height:37px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid #2bb0c52c;background:linear-gradient(90deg,#06304555,transparent);color:#96ebf3;font-family:var(--yz-display);font-size:13px;font-weight:500}.yz-pane-head>span{display:flex;align-items:center;gap:7px;min-width:0}.yz-pane-head .yz-icon{width:17px;height:17px;color:#30d8eb}.yz-pane-head button,.yz-pane-head>a{background:none;border:0;color:#63d8e8;font-size:10px;cursor:pointer;padding:6px 0}.yz-pane-head button:disabled{opacity:.5;cursor:wait}
.yz-terminal-body{padding:21px 17px 13px}.yz-system-title{display:flex;gap:14px;align-items:center;margin-bottom:21px}.yz-system-title>.yz-icon{width:53px;height:69px;color:#35e7f4;filter:drop-shadow(0 0 7px #16d8fc55)}.yz-system-title h2{font-family:var(--yz-display);font-size:23px;letter-spacing:-.045em;margin:0;color:#5deaff}.yz-system-title h2 small{font-family:var(--font-mono);font-size:7px;display:block;letter-spacing:.2em;color:#76bdcb;margin-top:4px}.yz-system-title p{font-size:11px;color:#79d2e5;letter-spacing:.06em;margin:10px 0 0}.yz-system-title p b{color:#7dea99;margin:0 3px;font-weight:400}.yz-system-facts{font:11px/1.8 var(--font-mono);display:grid;grid-template-columns:61px minmax(0,1fr);gap:0 14px;margin:0;min-width:0}.yz-system-facts dt{color:#d0be78}.yz-system-facts dd{margin:0;color:#8ac7dc;overflow-wrap:anywhere;min-width:0}.yz-system-facts dd:before{content:':';color:#567f91;display:inline-block;margin-right:12px}.yz-system-facts dt:nth-of-type(3n){color:#75df96}.yz-system-facts dt:nth-of-type(4n){color:#c080d9}.yz-palette{display:flex;margin:16px 0 14px 75px;height:7px;max-width:184px}.yz-palette i{flex:1;background:#f65276}.yz-palette i:nth-child(2){background:#ea9764}.yz-palette i:nth-child(3){background:#dbd765}.yz-palette i:nth-child(4){background:#58da94}.yz-palette i:nth-child(5){background:#3bdde5}.yz-palette i:nth-child(6){background:#2784c9}.yz-palette i:nth-child(7){background:#cf85da}.yz-palette i:nth-child(8){background:#b9dbe2}.yz-terminal-prompt{display:block;border-top:1px solid #35b4c226;padding-top:12px;font:9px/1.8 var(--font-mono);color:#91cbde;overflow-wrap:anywhere}.yz-terminal-prompt span{color:#60dedf}.yz-terminal-prompt i{display:inline-block;width:6px;height:11px;background:#89eff4;vertical-align:middle;margin-left:5px}
.yz-launch-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:13px}.yz-launch-grid a{display:flex;gap:10px;align-items:center;min-height:43px;border-radius:5px;color:#abcdd9;font-size:11px;padding:8px 6px;transition:background .16s,color .16s}.yz-launch-grid a .yz-icon{width:20px;height:20px;color:#4adef3}.yz-launch-grid a:nth-child(3n) .yz-icon{color:#79eaae}.yz-launch-grid a:hover{background:#16728930;color:#9bf5ff}.yz-launch-footer{border-top:1px solid #34b8c729;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px;font:7px var(--font-mono);letter-spacing:.11em;color:#72a1b7}.yz-launch-footer a{font:10px Inter,system-ui;color:#6fcfe7}
.yz-desktop-brand{text-align:center;color:#62edff;min-height:265px;flex:1;display:flex;flex-direction:column;justify-content:center;text-shadow:0 0 24px #00d5ff6b;padding:20px 0;pointer-events:none}.yz-edition{font:8px var(--font-mono);letter-spacing:.23em;color:#8acada}.yz-desktop-brand h1{font-family:var(--yz-display);font-size:clamp(38px,4.6vw,73px);font-weight:500;letter-spacing:-.06em;line-height:1;margin:15px 0 0}.yz-desktop-brand h1 span{font-size:.45em;margin-left:6px;letter-spacing:0;color:#9eeec2}.yz-desktop-brand [lang=ja]{font-size:51px;line-height:1.1;color:#8ff4ff;letter-spacing:.16em;padding-left:.16em;margin:10px 0 8px}.yz-desktop-brand p{font-size:10px;color:#aad7e5;letter-spacing:.03em}
.yz-fleet-map{height:181px;position:relative;margin:10px 11px 0;background:radial-gradient(ellipse at 50% 24%,#098aba14,transparent 60%)}.yz-mesh-lines{position:absolute;inset:0;width:100%;height:100%;color:#21b3d076}.yz-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;transform:translateX(-50%);color:#80aebc;font-size:10px;white-space:nowrap}.yz-node i{width:12px;height:12px;background:#325967;border:2px solid #628a94;border-radius:50%;box-shadow:0 0 0 5px #207a8415}.yz-node.connected i{background:#51edec;border-color:#abfff5;box-shadow:0 0 0 5px #26cde524,0 0 15px #1ee9ff77}.yz-node.connected{color:#a8e9ee}.yz-node.unavailable i{background:#956251;border-color:#dc9d6b;box-shadow:none}.yz-node-hub{top:25px;left:50%;gap:5px}.yz-node-hub i{width:16px;height:16px}.yz-node-hub.connected i{background:#5ef4a7;border-color:#b0ffce;box-shadow:0 0 0 5px #1ce77a21,0 0 18px #0dfa86a1}.yz-node small{font:7px var(--font-mono);letter-spacing:.07em;color:#68aebd}.yz-node-two{left:16%;top:132px}.yz-node-three{left:50%;top:132px}.yz-node-edge{left:84%;top:132px}.yz-fleet-status{display:flex;justify-content:space-between;align-items:center;padding:14px 12px;font-size:10px;gap:8px}.yz-fleet-status>span{display:flex;gap:7px;align-items:center}.yz-fleet-status b{font-weight:500;color:#91d7de}.yz-fleet-status small{font-size:8px;color:#659ba8;text-align:right}.yz-led{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8eabbd}.yz-led.online{background:#77efb4;box-shadow:0 0 7px #5fe7a555}.yz-automation-link{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border:1px solid #35d6df59;border-radius:6px;background:#051823c7;color:#7ce3ed}.yz-automation-link>span{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:5px 10px;min-width:0}.yz-automation-link .yz-icon{grid-row:span 2;color:#7eeaad}.yz-automation-link b{font-size:12px;font-weight:500}.yz-automation-link small{color:#83acbd;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yz-automation-link>strong{font-size:20px;font-weight:400;margin-left:10px}
.yz-clock-widget{text-align:center;padding:5px 0 4px;color:#43defc}.yz-clock-widget>[data-os-clock]{font-family:var(--yz-display);font-size:clamp(60px,7.3vw,117px);letter-spacing:-.055em;line-height:1;font-weight:600;font-variant-numeric:tabular-nums;text-shadow:0 0 12px #009eff80,0 0 40px #00c9ed44}.yz-clock-widget p{font-family:var(--yz-display);font-size:18px;color:#8aefba;margin:7px 0 10px;letter-spacing:-.03em;text-shadow:0 0 16px #3fefb43a}.yz-clock-widget>small{font:7px var(--font-mono);letter-spacing:.13em;color:#76a9b9}.yz-clock-widget>small span{color:#a3bfce;margin-left:5px}.yz-resource-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:10px}.yz-cpu-pane{grid-row:span 2}.yz-cpu-gauge{position:relative;margin:22px 10px;width:calc(100% - 20px);aspect-ratio:1}.yz-cpu-gauge svg{width:100%;height:100%;transform:rotate(-90deg)}.yz-cpu-gauge circle{fill:none;stroke-width:7}.yz-gauge-track{stroke:#143344}.yz-gauge-value{stroke:#21daf0;stroke-dasharray:295.31;stroke-dashoffset:295.31;stroke-linecap:round}.yz-cpu-gauge>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.yz-cpu-gauge strong{font:500 clamp(19px,2.1vw,29px) var(--yz-display);color:#c2f4f7}.yz-cpu-gauge small{font:8px var(--font-mono);color:#79a6b8}.yz-small-metric{padding:13px 11px 15px}.yz-small-metric>strong{display:block;font:500 24px var(--yz-display);letter-spacing:-.04em;color:#78e9a3}.yz-small-metric>small{display:block;font:8px var(--font-mono);color:#86b5c5;margin:5px 0 12px}.yz-meter{height:5px;border-radius:3px;background:#133349;overflow:hidden}.yz-meter i{display:block;width:0;height:100%;background:#2bdde9;border-radius:3px}.yz-ram-pane .yz-meter i{background:#5de7a2}.yz-disk-pane .yz-small-metric strong{color:#5bdbf9}
.yz-network-pane canvas{display:block;height:102px;width:calc(100% - 24px);margin:0 12px}.yz-network-legend{display:flex;justify-content:flex-end;gap:13px;padding:10px 13px;font-size:9px;color:#41d3ee}.yz-network-legend span:last-child{color:#7eeb9f}.yz-network-values{display:flex;gap:15px;padding:9px 13px;font:10px var(--font-mono);color:#52d8f2;border-top:1px solid #26b4cd22}.yz-network-values span:last-child{color:#82eaa9}.yz-network-pane>p{font-size:8px;color:#75a4b6;margin:0;padding:0 13px 12px;min-height:23px}.yz-server-links{display:flex;justify-content:space-between;gap:12px;padding:0 3px;font-size:10px}.yz-server-links a{display:flex;gap:6px;align-items:center;color:#99c8d4}.yz-server-links .yz-icon{width:16px;height:16px}
.yz-desktop-footer{display:flex;justify-content:space-between;align-items:center;margin:19px 0 4px;color:#609bb0;font:7px var(--font-mono);letter-spacing:.12em}.yz-desktop-footer em{font:italic 11px var(--yz-display);color:#74c9d1;letter-spacing:.02em}.yz-customer-welcome{padding:50px 20px;background:#031624c9;border:1px solid #34dfe850;border-radius:10px}.yz-customer-welcome h1{color:#72e8f3;font-size:36px}.yz-customer-welcome p{color:#99bdce}.yz-customer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.yz-customer-stats a{padding:25px;background:#062532dc;border:1px solid #42c3d151;border-radius:8px;display:grid;gap:12px;font-size:12px;color:#83cfdb}.yz-customer-stats strong{font-size:34px;color:#71edd1}.yz-table-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-inline:contain}.yz-neon .mission-card{background:#041523ed;border-color:#2ecce747}.yz-neon .mission-primary{background:#74e8ee;border-color:#74e8ee}.yz-neon .mission-hero h1 span{color:#60e2f3}.yz-neon .mission-orbit{border-color:#51d6e649}.yz-neon .mission-pill{background:#092837;border-color:#25acc33d;color:#99d9e4}.yz-neon .mission-notice{background:#082333;border-color:#31bed448}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.yz-neon .tb-app:hover{transform:translateY(-4px);background:#32dbf210}.yz-launch-grid a:hover .yz-icon{transform:translateY(-1px)}.yz-neon .os-window{animation:yz-enter .22s ease both}}
@keyframes yz-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.yz-deck{gap:35px}.yz-terminal-body{padding:27px 24px 18px}.yz-system-facts{font-size:12px;line-height:1.95}.yz-launch-grid{padding:20px}.yz-launch-grid a{min-height:50px}.yz-system-title h2{font-size:29px}.yz-desktop-brand{min-height:350px}}
@media(max-width:1120px) and (min-width:801px){.yz-topbar{gap:20px;padding:0 16px}.yz-topbar nav{gap:18px}.yz-neon.yz-home .os-desktop{padding:16px 15px 6px}.yz-deck{grid-template-columns:minmax(250px,1fr) minmax(245px,1fr);gap:18px}.yz-deck-center{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}.yz-desktop-brand{display:none}.yz-deck-center .yz-automation-link{align-self:start}.yz-deck-right{gap:18px}.yz-clock-widget>[data-os-clock]{font-size:90px}.yz-terminal-body{padding:20px}.yz-resource-grid .yz-cpu-gauge{max-width:155px;margin:20px auto}.yz-deck{min-height:auto}.yz-topbar .yz-topbar-session{display:none}}
@media(max-width:800px){:root{--yz-taskbar-h:78px}.yz-topbar{height:52px;padding:0 17px;gap:10px}.yz-topbar-brand{font-size:18px}.yz-topbar nav,.yz-topbar-session{display:none}.yz-topbar-end{gap:12px}.yz-topbar-end .yz-top-clock{font-size:13px}.yz-top-apps{display:inline-flex}.yz-neon .os-desktop,.yz-neon.yz-home .os-desktop{top:52px;bottom:calc(77px + env(safe-area-inset-bottom,0px));padding:12px 12px 0}.yz-neon .os-window{border-radius:8px}.yz-neon .os-window-body{padding:15px 12px}.yz-home .os-window-body{padding:0 1px}.yz-neon .os-wallpaper{background-position:52% 20%;background-image:linear-gradient(0deg,#031220eb,#01101b70),url('/static/img/yuzora-neon-wallpaper.webp')}.yz-deck{display:flex;flex-direction:column;gap:16px;min-height:0}.yz-deck-left,.yz-deck-center,.yz-deck-right{display:contents}.yz-clock-widget{order:0;align-self:stretch;padding:15px 0 18px}.yz-clock-widget>[data-os-clock]{font-size:81px}.yz-clock-widget p{font-size:19px;margin:5px 0 9px}.yz-clock-widget small{font-size:8px}.yz-desktop-brand{display:none}.yz-terminal{order:2;align-self:stretch}.yz-launch{order:4;align-self:stretch}.yz-resource-grid{order:1;align-self:stretch;grid-template-columns:1fr 1fr;gap:11px}.yz-cpu-pane{grid-row:span 2}.yz-cpu-gauge{width:calc(100% - 26px);margin:22px auto;max-width:180px}.yz-cpu-gauge strong{font-size:29px}.yz-cpu-gauge small{font-size:10px}.yz-small-metric{padding:12px 14px 14px}.yz-small-metric>strong{font-size:29px}.yz-small-metric>small{font-size:10px}.yz-pane-head{height:40px;font-size:13px;padding:0 13px}.yz-pane-head button,.yz-pane-head>a{min-height:40px;font-size:11px;padding:8px 0}.yz-fleet{order:5;align-self:stretch}.yz-automation-link{order:3;align-self:stretch;padding:18px 16px;min-height:73px}.yz-automation-link b{font-size:14px}.yz-automation-link small{font-size:11px}.yz-network-pane{order:6;align-self:stretch}.yz-network-pane canvas{height:110px}.yz-network-legend{font-size:11px;padding:12px}.yz-network-values{font-size:11px;padding:12px}.yz-network-pane>p{font-size:10px;padding-bottom:13px}.yz-server-links{order:7;align-self:stretch;font-size:11px;min-height:40px;align-items:center}.yz-terminal-body{padding:20px}.yz-system-title h2{font-size:27px}.yz-system-facts{font-size:11px;line-height:1.9;grid-template-columns:65px 1fr}.yz-palette{margin-left:79px}.yz-terminal-prompt{font-size:10px;padding:16px 0 2px}.yz-system-title{margin-bottom:18px}.yz-launch-grid{padding:13px 17px;gap:6px}.yz-launch-grid a{font-size:12px;min-height:47px}.yz-launch-grid .yz-icon{width:23px;height:23px}.yz-launch-footer{font-size:8px;padding:15px}.yz-fleet-map{height:186px}.yz-fleet-status{font-size:11px;padding:16px}.yz-fleet-status small{font-size:9px}.yz-node{font-size:11px}.yz-desktop-footer{margin:18px 0 12px;font-size:6px}.yz-desktop-footer em{font-size:10px}.yz-neon .os-taskbar{height:59px;padding:0 7px;bottom:calc(9px + env(safe-area-inset-bottom,0px));gap:3px;max-width:calc(100% - 22px);border-radius:12px}.yz-neon .os-taskbar .tb-center{gap:3px}.yz-neon .tb-btn,.yz-neon .tb-app{width:47px;height:47px;min-width:44px}.yz-neon .tb-start{width:48px;padding-right:4px}.yz-neon .tb-app.yz-dock-extra{display:none}.yz-neon .tb-center .yz-dock-label{display:none}.yz-neon .os-start{bottom:calc(81px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 150px);padding:20px}.yz-neon .os-start-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 5px}.yz-neon .os-start-grid .lbl{font-size:10px}.yz-neon input:not([type=checkbox]):not([type=radio]),.yz-neon select,.yz-neon textarea{font-size:16px!important;min-height:44px}.yz-neon .mission-role-fields select{font-size:14px!important}.yz-customer-welcome{padding:30px 20px}.yz-customer-welcome h1{font-size:28px}.yz-customer-stats{grid-template-columns:1fr}.yz-neon .os-ai-panel{top:0!important;height:100dvh!important;max-height:100dvh!important;width:100%!important;z-index:180}.yz-neon .os-ai-input{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.yz-neon .os-titlebar{height:39px}.yz-window-home{font-size:10px}}
@media(max-width:360px){.yz-topbar{padding:0 12px}.yz-topbar-end{gap:4px}.yz-neon .tb-btn,.yz-neon .tb-app{width:43px;min-width:42px}.yz-topbar-brand{font-size:16px}.yz-neon .os-start-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.yz-clock-widget>[data-os-clock]{font-size:73px}.yz-system-facts{font-size:10px;column-gap:8px}.yz-launch-grid a{font-size:11px;gap:8px}}
@media(prefers-reduced-motion:reduce){.yz-neon *,.yz-neon *:before,.yz-neon *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.yz-neon [hidden]{display:none!important}

/* Keep the desktop overview on one screen on HD laptops. Size from the
   available viewport, not device pixels; normal scrolling remains a fallback
   for enlarged text, unusually small windows, and application content. */
@media (min-width:1024px) and (max-height:850px) {
  .yz-neon { --yz-taskbar-h:58px; }
  .yz-neon .yz-topbar { height:36px; padding:0 18px; gap:25px; font-size:11px; }
  .yz-neon .yz-topbar-brand { font-size:16px; gap:7px; }
  .yz-neon .yz-topbar-brand .yz-icon { width:23px; height:23px; }
  .yz-neon .yz-topbar nav { gap:22px; }
  .yz-neon .yz-topbar-end { font-size:10px; }
  .yz-neon .os-desktop { top:36px; padding:10px 18px 4px; }
  .yz-neon .os-window-body { padding:16px; }
  .yz-neon .os-titlebar { height:33px; }
  .yz-neon .os-taskbar { height:48px; bottom:6px; padding:0 9px; gap:7px; border-radius:9px; }
  .yz-neon .os-taskbar .tb-center { gap:5px; }
  .yz-neon .tb-btn, .yz-neon .tb-app { width:37px; height:37px; min-width:37px; min-height:37px; }
  .yz-neon .tb-btn .yz-icon, .yz-neon .tb-app .yz-icon { width:25px; height:25px; }
  .yz-neon .tb-start { width:43px; padding-right:7px; }
  .yz-neon .os-start { bottom:62px; max-height:calc(100dvh - 110px); padding:18px; }

  .yz-neon.yz-home .os-desktop { top:36px; padding:10px 18px 4px; }
  .yz-home .os-window-body { max-width:1320px; padding:0 2px; }
  .yz-home .yz-deck { grid-template-columns:minmax(0,1.03fr) minmax(0,1.15fr) minmax(0,.94fr); gap:clamp(12px,1.6vw,22px); min-height:calc(100dvh - 134px); }
  .yz-home .yz-deck-left, .yz-home .yz-deck-center, .yz-home .yz-deck-right { gap:clamp(8px,1.6dvh,13px); }
  .yz-home .yz-deck-center { display:flex; grid-column:auto; grid-row:auto; align-items:stretch; }
  .yz-home .yz-deck-center .yz-automation-link { align-self:stretch; }
  .yz-home .yz-pane-head { height:28px; padding:0 10px; font-size:11px; }
  .yz-home .yz-pane-head .yz-icon { width:15px; height:15px; }
  .yz-home .yz-terminal-body { padding:12px 13px 9px; }
  .yz-home .yz-system-title { gap:11px; margin-bottom:10px; }
  .yz-home .yz-system-title > .yz-icon { width:38px; height:48px; }
  .yz-home .yz-system-title h2 { font-size:21px; }
  .yz-home .yz-system-title p { margin-top:7px; font-size:10px; }
  .yz-home .yz-system-facts { grid-template-columns:55px minmax(0,1fr); gap:0 10px; font-size:11px; line-height:1.6; }
  .yz-home .yz-system-facts dd { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .yz-home .yz-system-facts dd:before { margin-right:9px; }
  .yz-home .yz-palette { height:5px; margin:10px 0 9px 65px; }
  .yz-home .yz-terminal-prompt { padding-top:8px; font-size:9px; line-height:1.5; }
  .yz-home .yz-launch-grid { padding:8px 10px; gap:2px; }
  .yz-home .yz-launch-grid a { min-height:33px; padding:5px 4px; gap:8px; font-size:11px; }
  .yz-home .yz-launch-grid a .yz-icon { width:18px; height:18px; }
  .yz-home .yz-launch-footer { padding:8px 11px; font-size:6px; }
  .yz-home .yz-launch-footer a { font-size:9px; }
  .yz-home .yz-desktop-brand { display:flex; min-height:145px; padding:8px 0; }
  .yz-home .yz-desktop-brand h1 { font-size:clamp(37px,3.9vw,60px); margin-top:10px; }
  .yz-home .yz-desktop-brand [lang=ja] { font-size:clamp(30px,5.4dvh,43px); margin:6px 0; }
  .yz-home .yz-desktop-brand p { margin:6px 0; }
  .yz-home .yz-fleet-map { height:clamp(112px,20dvh,155px); margin:6px 9px 0; }
  .yz-home .yz-node-hub { top:14%; }
  .yz-home .yz-node-two, .yz-home .yz-node-three, .yz-home .yz-node-edge { top:72%; }
  .yz-home .yz-fleet-status { padding:10px; font-size:10px; }
  .yz-home .yz-automation-link { padding:9px 11px; }
  .yz-home .yz-automation-link b { font-size:11px; }
  .yz-home .yz-automation-link small { font-size:8px; }
  .yz-home .yz-clock-widget { padding:0; }
  .yz-home .yz-clock-widget > [data-os-clock] { font-size:clamp(54px,10dvh,80px); }
  .yz-home .yz-clock-widget p { font-size:15px; margin:4px 0 6px; line-height:1.2; }
  .yz-home .yz-clock-widget > small { display:block; font-size:6px; line-height:1.4; }
  .yz-home .yz-resource-grid { gap:8px; }
  .yz-home .yz-resource-grid .yz-cpu-gauge { width:calc(100% - 16px); max-width:clamp(96px,18dvh,142px); margin:12px auto; }
  .yz-home .yz-cpu-gauge strong { font-size:24px; }
  .yz-home .yz-cpu-gauge small { font-size:8px; }
  .yz-home .yz-small-metric { padding:7px 10px 8px; }
  .yz-home .yz-small-metric > strong { font-size:22px; line-height:1; }
  .yz-home .yz-small-metric > small { font-size:8px; line-height:1.3; margin:4px 0 7px; }
  .yz-home .yz-meter { height:4px; }
  .yz-home .yz-network-pane canvas { height:clamp(42px,8.5dvh,65px); }
  .yz-home .yz-network-legend { padding:6px 11px; font-size:9px; }
  .yz-home .yz-network-values { padding:6px 11px; font-size:9px; }
  .yz-home .yz-network-pane > p { padding:0 11px 8px; min-height:18px; font-size:8px; }
  .yz-home .yz-server-links { font-size:9px; }
  .yz-home .yz-server-links .yz-icon { width:14px; height:14px; }
  .yz-home .yz-desktop-footer { margin:4px 0 0; line-height:1.3; font-size:6px; }
  .yz-home .yz-desktop-footer em { font-size:10px; }
}

@media (min-width:1024px) and (max-height:650px) {
  .yz-home .yz-deck-left, .yz-home .yz-deck-center, .yz-home .yz-deck-right { gap:8px; }
  .yz-home .yz-terminal-body { padding:9px 13px 8px; }
  .yz-home .yz-system-title h2 { line-height:1.2; }
  .yz-home .yz-system-title p { line-height:1.4; }
  .yz-home .yz-system-facts { font-size:10.5px; line-height:1.4; }
  .yz-home .yz-launch-grid { padding:6px 10px; }
  .yz-home .yz-launch-grid a { min-height:27px; }
  .yz-home .yz-launch-footer { padding:6px 11px; }
  .yz-home .yz-desktop-brand { min-height:120px; }
  .yz-home .yz-clock-widget > [data-os-clock] { font-size:54px; }
  .yz-home .yz-network-pane canvas { height:38px; }
  .yz-home .yz-network-legend, .yz-home .yz-network-values { padding-top:4px; padding-bottom:4px; }
}

@media (min-width:1024px) and (max-height:560px) {
  .yz-home .yz-pane-head { height:25px; }
  .yz-home .yz-terminal-body { padding:8px 11px; }
  .yz-home .yz-system-title { margin-bottom:7px; gap:9px; }
  .yz-home .yz-system-title > .yz-icon { width:30px; height:37px; }
  .yz-home .yz-system-title h2 { font-size:18px; }
  .yz-home .yz-system-title p { margin-top:4px; font-size:9px; }
  .yz-home .yz-system-facts { font-size:10px; line-height:1.35; }
  .yz-home .yz-palette { height:4px; margin-top:7px; margin-bottom:7px; }
  .yz-home .yz-terminal-prompt { padding-top:6px; font-size:8px; }
  .yz-home .yz-launch-grid { grid-template-columns:repeat(4,minmax(0,1fr)); padding:5px 7px; gap:4px; }
  .yz-home .yz-launch-grid a { flex-direction:column; min-height:38px; font-size:9px; padding:3px 1px; gap:3px; }
  .yz-home .yz-launch-grid a .yz-icon { width:16px; height:16px; }
  .yz-home .yz-launch-footer { padding:4px 10px; }
  .yz-home .yz-desktop-brand { min-height:100px; padding:3px 0; }
  .yz-home .yz-desktop-brand h1 { font-size:38px; }
  .yz-home .yz-desktop-brand [lang=ja] { font-size:29px; }
  .yz-home .yz-fleet-map { height:98px; }
  .yz-home .yz-fleet-status { padding:8px 10px; }
  .yz-home .yz-node { gap:4px; font-size:9px; }
  .yz-home .yz-node-hub { top:8%; }
  .yz-home .yz-node-two, .yz-home .yz-node-three, .yz-home .yz-node-edge { top:65%; }
  .yz-home .yz-clock-widget > [data-os-clock] { font-size:49px; }
  .yz-home .yz-clock-widget p { font-size:13px; margin:2px 0 3px; }
  .yz-home .yz-small-metric { padding:5px 8px 6px; }
  .yz-home .yz-small-metric > strong { font-size:19px; }
  .yz-home .yz-small-metric > small { margin:3px 0 5px; }
  .yz-home .yz-resource-grid .yz-cpu-gauge { max-width:94px; margin:8px auto; }
  .yz-home .yz-cpu-gauge strong { font-size:21px; }
  .yz-home .yz-network-pane canvas { height:30px; }
  .yz-home .yz-network-pane > p { padding-bottom:5px; min-height:0; }
  .yz-home .yz-network-legend, .yz-home .yz-network-values { padding-top:4px; padding-bottom:4px; }
}


/* YuZora login glass — keep wallpaper visible while preserving form contrast. */
body.yz-neon.os-lock .os-lock-screen{
  padding:24px 18px;
}
body.yz-neon.os-lock .os-lock-card{
  width:min(380px,100%);
  max-width:380px;
  padding:0;
  margin:0;
  overflow:visible;
  background:none!important;
  border:0!important;
  border-radius:0;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.yz-neon.os-lock .os-lock-date{
  margin-bottom:20px;
}
body.yz-neon.os-lock .yz-login-card{
  width:100%;
  max-width:100%!important;
  margin:0!important;
  background:linear-gradient(150deg,rgba(3,20,34,.36),rgba(2,14,27,.29))!important;
  border:1px solid rgba(57,230,245,.30)!important;
  border-top-color:rgba(161,244,250,.34)!important;
  box-shadow:0 16px 44px rgba(0,0,0,.24),0 0 26px rgba(28,201,225,.055),inset 0 1px 0 rgba(255,255,255,.065)!important;
  backdrop-filter:blur(16px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(145%)!important;
}
body.yz-neon.os-lock .yz-login-card:hover{
  border-color:rgba(83,232,246,.38)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.27),0 0 30px rgba(28,201,225,.075),inset 0 1px 0 rgba(255,255,255,.075)!important;
}
body.yz-neon.os-lock .yz-login-card input[type=text],
body.yz-neon.os-lock .yz-login-card input[type=password]{
  background:rgba(1,10,22,.42)!important;
  border-color:rgba(135,196,220,.14)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
body.yz-neon.os-lock .yz-login-card input[type=text]:focus,
body.yz-neon.os-lock .yz-login-card input[type=password]:focus{
  border-color:rgba(57,230,245,.48)!important;
  box-shadow:0 0 0 3px rgba(57,230,245,.09),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
@media(max-width:800px){
  body.yz-neon.os-lock .yz-login-card{
    background:linear-gradient(150deg,rgba(3,20,34,.31),rgba(2,14,27,.24))!important;
    backdrop-filter:blur(14px) saturate(142%)!important;
    -webkit-backdrop-filter:blur(14px) saturate(142%)!important;
  }
}

/* Compact only the sign-in screen on short laptop/browser viewports. */
@media (min-width:801px) and (max-height:650px){
  body.yz-neon.os-lock .os-lock-screen{padding:18px;}
  body.yz-neon.os-lock .os-lock-clock{font-size:48px;line-height:1.1;margin-bottom:8px;}
  body.yz-neon.os-lock .os-lock-date{margin-bottom:16px;font-size:12px;}
}

/* Live desktop: readable density, restrained motion and a compact acrylic launcher. */
:root{--yz-ease:cubic-bezier(.22,1,.36,1);--yz-fast:180ms;--yz-slow:320ms}
.yz-neon [hidden]{display:none!important}
.yz-neon .os-start{width:min(540px,calc(100vw - 28px));max-height:min(600px,calc(100dvh - 112px));padding:16px;bottom:74px;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(145deg,#122c477d,#071527bf);backdrop-filter:blur(28px) saturate(155%);-webkit-backdrop-filter:blur(28px) saturate(155%);border:1px solid #76dce85c;border-radius:18px;box-shadow:inset 0 1px 0 #e0faff26,0 24px 80px #000a,0 0 32px #1683c322;transform:translateX(-50%) translateY(16px) scale(.97);transform-origin:bottom center;transition:opacity 220ms ease,transform 360ms var(--yz-ease)}
.yz-neon .os-start.open{transform:translateX(-50%) translateY(0) scale(1)}
.yz-neon .os-start-backdrop{background:#0209164d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:opacity 240ms ease}
.yz-apps-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex:0 0 auto}
.yz-neon .os-start .yz-apps-heading h2{font-size:17px;color:#e1f9ff;margin:0;letter-spacing:-.025em}
.yz-neon #yzAppsClose{display:grid;place-items:center;margin:0;padding:0;width:30px;height:30px;min-height:30px;border:1px solid #97d9ed26;border-radius:9px;background:#c9edff08;color:#d7f6ff;font-size:22px;line-height:1;cursor:pointer}
.yz-neon #yzAppsClose:hover{background:#ddfaff20;transform:rotate(90deg)}
.yz-neon .yz-app-search{flex:0 0 auto;min-height:42px;margin:0 0 12px;padding:0 12px;border-radius:11px;background:#02132170;border:1px solid #83dbeb40;transition:border-color 180ms,box-shadow 180ms}
.yz-neon .yz-app-search:focus-within{border-color:#80f3ffb3;box-shadow:0 0 0 3px #32def51a}
.yz-neon .yz-app-search input{font:14px/1.4 Inter,system-ui;min-height:40px;margin:0;padding:8px 0;max-width:none;min-width:0;border-radius:0;outline:0!important;box-shadow:none!important}
.yz-neon .os-start-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#71bdcd66 transparent;min-height:0;padding:3px}
.yz-neon .os-start-grid>a,.yz-neon .os-start-grid>form>button{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;min-height:66px;padding:8px 4px;margin:0;width:100%;border:1px solid transparent;border-radius:11px;background:transparent;transition:transform 260ms var(--yz-ease),border-color 220ms,color 220ms;color:#e1f5fc}
.yz-neon .os-start-grid>a::before,.yz-neon .os-start-grid>form>button::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,#52d9ff24,#83a4ff12);opacity:0;transition:opacity 220ms ease}
.yz-neon .os-start-grid>a:hover,.yz-neon .os-start-grid>form>button:hover,.yz-neon .os-start-grid>a:focus-visible{background:transparent;border-color:#96e8ff33;transform:translateY(-2px);color:white}
.yz-neon .os-start-grid>a:hover::before,.yz-neon .os-start-grid>form>button:hover::before,.yz-neon .os-start-grid>a:focus-visible::before{opacity:1}
.yz-neon .os-start-grid .ico{width:30px;height:30px;border-radius:9px;font-size:17px;background:linear-gradient(145deg,#16394b,#0c23377a);border-color:#83d2e650;box-shadow:inset 0 1px 0 #caf9ff17;transition:transform 320ms var(--yz-ease),box-shadow 240ms}
.yz-neon .os-start-grid a:hover .ico,.yz-neon .os-start-grid button:hover .ico{transform:scale(1.1) translateY(-1px);box-shadow:0 4px 18px #3ad6ff24}
.yz-neon .os-start-grid .lbl{font-size:12px;font-weight:500;line-height:1.3;color:inherit;letter-spacing:-.015em}
.yz-no-apps{margin:12px 0;color:#b3d4df;text-align:center;font-size:13px}
.yz-neon .os-start-grid a.active{border-color:#6ef2f350;background:#30c3df0c}
.yz-neon .yz-topbar nav a{position:relative;transition:color 180ms ease,transform 240ms var(--yz-ease)}
.yz-neon .yz-topbar nav a::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:2px;background:#64e6f4;transform:scaleX(0);transition:transform 260ms var(--yz-ease)}
.yz-neon .yz-topbar nav a:hover::after,.yz-neon .yz-topbar nav a:focus-visible::after{transform:scaleX(1)}
.yz-neon .tb-btn,.yz-neon .tb-app,.yz-neon .yz-launch-grid a,.yz-neon .yz-automation-link{transition:transform 280ms var(--yz-ease),background 220ms,border-color 220ms,color 180ms}
@media(hover:hover){.yz-neon .tb-btn:hover,.yz-neon .tb-app:hover{transform:translateY(-4px)}.yz-neon .yz-launch-grid a:hover{transform:translateX(3px)}.yz-neon .yz-automation-link:hover{transform:translateY(-2px);border-color:#8cebf59e}}
.yz-neon .tb-btn:active,.yz-neon .tb-app:active,.yz-neon .os-start-grid>a:active{transform:scale(.95);transition-duration:100ms}
.yz-neon .yz-gauge-value{transition:stroke-dashoffset 850ms var(--yz-ease)}
.yz-neon .yz-meter i{transition:width 850ms var(--yz-ease)}
.yz-neon .os-window{animation:yz-window-arrive 300ms var(--yz-ease) both}
@keyframes yz-window-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.yz-home .yz-pane-head{font-size:12px}
.yz-home .yz-launch-grid a{font-size:12px}
.yz-home .yz-small-metric>small,.yz-home .yz-network-values,.yz-home .yz-network-legend{font-size:10px}
.yz-home .yz-network-pane>p,.yz-home .yz-server-links{font-size:10px}
.yz-home .yz-fleet-status{font-size:11px}
.yz-home .yz-automation-link small{font-size:10px}
.yz-home .yz-clock-widget>small{font-size:8px}
.yz-terminal-tabs{display:flex;gap:4px;padding:4px 9px;border-bottom:1px solid #52c4db24;background:#03111b38}
.yz-terminal-tabs button{font:11px Inter,system-ui;padding:5px 10px;margin:0;border:0;border-radius:6px;color:#98b7c5;background:none;min-height:27px;cursor:pointer;transition:background 200ms,color 200ms}
.yz-terminal-tabs button[aria-selected=true]{background:#46d5f31f;color:#b7f7ff}
.yz-terminal-tabs button:hover{color:white;background:#8fdbee18}
.yz-terminal-surface{height:clamp(160px,30dvh,280px);padding:10px 10px 5px;background:#020b1466;overflow:hidden;min-width:0}
.yz-terminal-surface .xterm{height:100%}
.yz-terminal-surface .xterm-viewport{background:transparent!important;scrollbar-width:thin;scrollbar-color:#548ba575 transparent}
.yz-terminal-surface .xterm-screen{outline:0}
.yz-terminal-surface .xterm-helper-textarea{min-height:0!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important}
.yz-terminal-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-top:1px solid #43889e29;font:10px/1.4 Inter,system-ui;color:#86c4d4;min-width:0}
.yz-terminal-footer>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.yz-terminal-footer>span::before{content:'';display:inline-block;width:5px;height:5px;background:#82949d;border-radius:50%;margin-right:6px;vertical-align:1px}
[data-live-terminal][data-state=live] [data-terminal-status]::before{background:#7fe5af;box-shadow:0 0 7px #7fe5af60}
[data-live-terminal][data-state=error] [data-terminal-status]{color:#ffb6bb;white-space:normal}
.yz-terminal-footer>div{display:flex;gap:6px;flex:0 0 auto}
.yz-terminal-footer button{margin:0;padding:2px 4px;border:0;background:transparent;border-radius:4px;color:#a5ddea;font:10px Inter,system-ui;cursor:pointer}
.yz-terminal-footer button:hover{color:white;background:#69c5e224}
.yz-terminal-workspace{border:1px solid #63c7dd4a;border-radius:13px;overflow:hidden;background:#04131baf}
.yz-terminal-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #44849933}
.yz-terminal-toolbar h2{margin:0;font:600 20px var(--yz-display);color:#cff7ff}
.yz-terminal-toolbar p{margin:4px 0 0;font-size:12px;color:#95b9c8}
.yz-terminal-toolbar>a{font-size:12px;color:#95d8e6}
.yz-terminal-controls{display:flex;align-items:end;gap:12px;padding:8px 16px 14px;flex-wrap:wrap}
.yz-terminal-controls label{flex:1;min-width:160px;font-size:12px;margin:0}
.yz-terminal-controls select,.yz-terminal-controls input{width:100%;max-width:none;margin-top:5px;font-size:13px}
.yz-terminal-controls button{margin:0;min-height:38px;font-size:12px}
.yz-terminal-workspace .yz-terminal-surface{height:clamp(230px,calc(100dvh - 340px),650px);padding:12px}
.yz-terminal-workspace .yz-terminal-footer,.yz-terminal-workspace .yz-terminal-footer button{font-size:12px}
.yz-command-fallback{margin:18px 0;color:#9cc4d4}.yz-command-fallback summary{cursor:pointer;font-size:12px}.yz-command-fallback form{padding:12px 0;max-width:720px}
@media(min-width:1024px) and (max-height:650px){.yz-home .yz-terminal-surface{height:180px}.yz-home .yz-terminal-tabs{padding:3px 8px}.yz-home .yz-terminal-footer{padding:5px 8px}.yz-home .yz-launch-grid a{font-size:12px;min-height:28px}.yz-home .yz-system-facts{font-size:11px}}
@media(min-width:1024px) and (max-height:560px){.yz-home .yz-terminal-surface{height:130px}.yz-home .yz-launch-grid a{font-size:10px}.yz-home .yz-network-pane>p{font-size:9px}}
@media(max-width:800px){.yz-neon .os-start{left:50%;right:auto;width:calc(100vw - 24px);bottom:80px;max-height:calc(100dvh - 140px);padding:14px}.yz-neon .os-start-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.yz-neon .os-start-grid .lbl{font-size:13px}.yz-neon .os-start-grid>a,.yz-neon .os-start-grid>form>button{min-height:72px}.yz-home .yz-terminal-surface{height:240px}.yz-terminal-footer{font-size:11px}.yz-terminal-footer button{min-height:32px;font-size:11px}.yz-terminal-controls{gap:10px}.yz-terminal-controls label{flex-basis:100%}.yz-terminal-controls button{min-height:44px}.yz-terminal-workspace .yz-terminal-surface{height:50dvh;min-height:240px}.yz-terminal-toolbar{padding:12px}.yz-terminal-toolbar h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.yz-neon *,.yz-neon *::before,.yz-neon *::after{animation:none!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.yz-neon .tb-app:hover,.yz-neon .tb-btn:hover,.yz-neon .os-start-grid a:hover,.yz-neon .yz-launch-grid a:hover{transform:none}.yz-neon .os-start-grid a:hover .ico{transform:none}}

/* Refined controls: clearer sizing and smooth focus/hover without layout jitter. */
.yz-neon select,.yz-neon input:not([type=checkbox]):not([type=radio]),.yz-neon textarea{transition:border-color 200ms ease,background-color 220ms ease,box-shadow 240ms var(--yz-ease),color 180ms ease}
@media(hover:hover){.yz-neon select:hover,.yz-neon input:not([type=checkbox]):not([type=radio]):hover,.yz-neon textarea:hover{border-color:#70dce36b;background-color:#061827d9}}
.yz-neon select:focus-visible,.yz-neon input:not([type=checkbox]):not([type=radio]):focus-visible,.yz-neon textarea:focus-visible{border-color:#6ceaf49c;box-shadow:0 0 0 3px #3cd8ea14,0 7px 24px #0002}

/* Floating taskbar pill navigation — compact icons with an animated active app label. */
.yz-neon .os-taskbar{
  min-height:60px;
  height:60px;
  padding:6px 9px;
  gap:6px;
  border:1px solid rgba(128,222,246,.20);
  border-top-color:rgba(190,242,255,.29);
  border-radius:25px;
  background:linear-gradient(145deg,rgba(8,23,38,.70),rgba(5,16,30,.58));
  backdrop-filter:blur(24px) saturate(165%);
  -webkit-backdrop-filter:blur(24px) saturate(165%);
  box-shadow:0 16px 42px rgba(0,0,0,.40),inset 0 1px 0 rgba(255,255,255,.065),0 0 26px rgba(29,205,240,.075);
}
.yz-neon .os-taskbar .tb-center{gap:3px;align-items:center;overflow:visible}
.yz-neon .tb-btn,.yz-neon .tb-app{
  width:46px;
  min-width:46px;
  height:46px;
  min-height:46px;
  padding:0 10px;
  gap:0;
  border:1px solid transparent;
  border-radius:18px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#a8c3d6;
  background:transparent;
  box-shadow:none;
  transform:translateZ(0);
  transition:
    width 420ms cubic-bezier(.16,1,.3,1),
    min-width 420ms cubic-bezier(.16,1,.3,1),
    padding 420ms cubic-bezier(.16,1,.3,1),
    transform 300ms cubic-bezier(.16,1,.3,1),
    background 280ms ease,
    border-color 280ms ease,
    color 220ms ease,
    box-shadow 320ms ease;
}
.yz-neon .tb-btn .yz-icon,.yz-neon .tb-app .yz-icon{
  flex:0 0 auto;
  width:27px;
  height:27px;
  filter:drop-shadow(0 0 0 transparent);
  transition:transform 360ms cubic-bezier(.16,1,.3,1),filter 300ms ease;
}
.yz-neon .tb-center .yz-dock-label{
  position:static;
  display:block;
  max-width:0;
  margin:0;
  padding:0;
  opacity:0;
  overflow:hidden;
  transform:translateX(-5px);
  white-space:nowrap;
  pointer-events:none;
  border:0;
  background:transparent;
  color:inherit;
  font:600 12px/1 Inter,system-ui,sans-serif;
  letter-spacing:-.01em;
  transition:
    max-width 420ms cubic-bezier(.16,1,.3,1),
    margin 420ms cubic-bezier(.16,1,.3,1),
    opacity 220ms ease 40ms,
    transform 360ms cubic-bezier(.16,1,.3,1);
}
.yz-neon .tb-app.active,
.yz-neon .tb-app.panel-active,
.yz-neon .tb-btn.panel-active{
  width:auto;
  min-width:92px;
  padding:0 15px 0 12px;
  gap:0;
  color:#d9fbff;
  border-color:rgba(82,226,248,.44);
  background:linear-gradient(115deg,rgba(0,181,231,.25),rgba(65,119,255,.23));
  box-shadow:inset 0 1px 0 rgba(219,250,255,.11),0 8px 24px rgba(0,187,235,.12),0 0 20px rgba(0,210,245,.09);
}
.yz-neon .tb-app.active .yz-dock-label,
.yz-neon .tb-app.panel-active .yz-dock-label{
  max-width:130px;
  margin-left:9px;
  opacity:1;
  transform:translateX(0);
}
.yz-neon .tb-app.active .yz-icon,
.yz-neon .tb-app.panel-active .yz-icon,
.yz-neon .tb-btn.panel-active .yz-icon{
  color:#55e9f7;
  transform:scale(1.04);
  filter:drop-shadow(0 0 7px rgba(60,220,245,.42));
}
.yz-neon .tb-app.active:after{display:none}
.yz-neon .tb-start{
  width:46px;
  min-width:46px;
  padding:0;
  border-right:0;
  border-radius:18px;
}
.yz-neon .tb-start.panel-active{
  width:50px;
  min-width:50px;
  padding:0;
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .yz-neon .tb-app:not(.active):not(.panel-active):hover,
  .yz-neon .tb-btn:not(.panel-active):hover{
    transform:translateY(-5px) scale(1.06);
    color:#d8f8ff;
    background:rgba(91,213,241,.10);
    border-color:rgba(116,226,248,.16);
  }
  .yz-neon .tb-app:not(.active):not(.panel-active):hover .yz-icon,
  .yz-neon .tb-btn:not(.panel-active):hover .yz-icon{
    transform:scale(1.10);
    filter:drop-shadow(0 4px 9px rgba(41,210,242,.23));
  }
  .yz-neon .tb-app.active:hover,.yz-neon .tb-app.panel-active:hover{
    transform:translateY(-3px);
    box-shadow:inset 0 1px 0 rgba(219,250,255,.13),0 11px 28px rgba(0,187,235,.18),0 0 24px rgba(0,210,245,.13);
  }
}
.yz-neon .tb-app:active,.yz-neon .tb-btn:active{
  transform:scale(.94)!important;
  transition-duration:90ms!important;
}
@media(max-width:800px){
  .yz-neon .os-taskbar{
    height:61px;
    min-height:61px;
    padding:6px 8px;
    gap:3px;
    border-radius:23px;
    max-width:calc(100% - 24px);
    background:linear-gradient(145deg,rgba(8,23,38,.76),rgba(5,16,30,.66));
    backdrop-filter:blur(22px) saturate(160%);
    -webkit-backdrop-filter:blur(22px) saturate(160%);
  }
  .yz-neon .os-taskbar .tb-center{gap:2px;min-width:0}
  .yz-neon .tb-btn,.yz-neon .tb-app{
    width:43px;
    min-width:43px;
    height:45px;
    min-height:45px;
    padding:0 8px;
    border-radius:17px;
  }
  .yz-neon .tb-btn .yz-icon,.yz-neon .tb-app .yz-icon{width:25px;height:25px}
  .yz-neon .tb-start{width:43px;min-width:43px;padding:0}
  .yz-neon .tb-app.active,.yz-neon .tb-app.panel-active{
    min-width:86px;
    max-width:126px;
    padding:0 12px 0 10px;
  }
  .yz-neon .tb-app.active .yz-dock-label,.yz-neon .tb-app.panel-active .yz-dock-label{
    max-width:78px;
    margin-left:7px;
    font-size:12px;
  }
  .yz-neon .tb-center .yz-dock-label[data-short]{font-size:0}
  .yz-neon .tb-center .yz-dock-label[data-short]::after{content:attr(data-short);font-size:12px}
}
@media(max-width:380px){
  .yz-neon .os-taskbar{padding:5px 6px}
  .yz-neon .tb-btn,.yz-neon .tb-app{width:40px;min-width:40px;padding:0 6px}
  .yz-neon .tb-start{width:40px;min-width:40px}
  .yz-neon .tb-app.active,.yz-neon .tb-app.panel-active{min-width:79px;padding:0 10px 0 8px}
  .yz-neon .tb-app.active .yz-dock-label,.yz-neon .tb-app.panel-active .yz-dock-label{max-width:63px;margin-left:6px;font-size:11px}
  .yz-neon .tb-center .yz-dock-label[data-short]::after{font-size:11px}
}

/* Aozora-calibrated dock motion.
   Recreated from the mirrored public component's behavior:
   200ms item state changes + 300ms label reveal using ease-out. */
.yz-neon .os-taskbar{
  height:54px;
  min-height:54px;
  max-width:96vw;
  padding:6px;
  gap:4px;
  border:1px solid rgba(255,255,255,.20);
  border-top-color:rgba(255,255,255,.20);
  border-radius:999px;
  background:rgba(2,6,24,.90);
  backdrop-filter:blur(40px);
  -webkit-backdrop-filter:blur(40px);
  box-shadow:0 12px 45px rgba(0,0,0,.80),0 0 25px rgba(56,189,248,.25);
}
.yz-neon .os-taskbar .tb-center{
  gap:4px;
  align-items:center;
  overflow:visible;
}
.yz-neon .tb-btn,
.yz-neon .tb-app{
  width:auto;
  min-width:42px;
  height:40px;
  min-height:40px;
  padding:8px 12px;
  gap:0;
  border:1px solid transparent;
  border-radius:999px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#94a3b8;
  background:transparent;
  box-shadow:none;
  transform:none;
  transition-property:color,background-color,border-color,box-shadow,transform,gap;
  transition-duration:200ms;
  transition-timing-function:cubic-bezier(.4,0,.2,1);
}
.yz-neon .tb-btn .yz-icon,
.yz-neon .tb-app .yz-icon{
  width:18px;
  height:18px;
  flex:0 0 auto;
  stroke-width:2;
  color:inherit;
  transform:none;
  filter:none;
  transition-property:color,stroke-width;
  transition-duration:200ms;
  transition-timing-function:cubic-bezier(.4,0,.2,1);
}
.yz-neon .tb-center .yz-dock-label{
  position:static;
  display:flex;
  align-items:center;
  max-width:0;
  margin-left:0;
  padding:0;
  opacity:0;
  overflow:hidden;
  transform:none;
  white-space:nowrap;
  pointer-events:none;
  border:0;
  background:transparent;
  color:inherit;
  font:500 12px/1.25 Inter,system-ui,sans-serif;
  text-overflow:ellipsis;
  transition-property:max-width,margin-left,opacity;
  transition-duration:300ms;
  transition-timing-function:cubic-bezier(0,0,.2,1);
}
.yz-neon .tb-app.active,
.yz-neon .tb-app.panel-active{
  min-width:42px;
  padding:8px 12px;
  gap:8px;
  color:#7dd3fc;
  border-color:rgba(0,188,254,.60);
  background:linear-gradient(90deg,rgba(14,165,233,.25),rgba(98,95,255,.25));
  box-shadow:0 0 18px rgba(56,189,248,.35);
}
.yz-neon .tb-app.active .yz-dock-label,
.yz-neon .tb-app.panel-active .yz-dock-label{
  max-width:85px;
  margin-left:0;
  opacity:1;
  color:#bae6fd;
  font-weight:600;
}
.yz-neon .tb-app.active .yz-icon,
.yz-neon .tb-app.panel-active .yz-icon{
  color:#7dd3fc;
  stroke-width:2.5;
  transform:none;
  filter:none;
}
.yz-neon .tb-start{
  width:auto;
  min-width:42px;
  height:40px;
  min-height:40px;
  padding:8px 12px;
  border-right:0;
  border-radius:999px;
}
.yz-neon .tb-start.panel-active{
  width:auto;
  min-width:42px;
  padding:8px 12px;
  color:#7dd3fc;
  border-color:rgba(0,188,254,.60);
  background:linear-gradient(90deg,rgba(14,165,233,.25),rgba(98,95,255,.25));
  box-shadow:0 0 18px rgba(56,189,248,.35);
}
@media(hover:hover){
  .yz-neon .tb-app:not(.active):not(.panel-active):hover,
  .yz-neon .tb-btn:not(.panel-active):hover{
    transform:none;
    color:#f1f5f9;
    background:rgba(255,255,255,.05);
    border-color:transparent;
    box-shadow:none;
  }
  .yz-neon .tb-app:not(.active):not(.panel-active):hover .yz-icon,
  .yz-neon .tb-btn:not(.panel-active):hover .yz-icon{
    transform:none;
    filter:none;
  }
  .yz-neon .tb-app.active:hover,
  .yz-neon .tb-app.panel-active:hover{
    transform:none;
    box-shadow:0 0 18px rgba(56,189,248,.35);
  }
}
.yz-neon .tb-app:active,
.yz-neon .tb-btn:active{
  transform:scale(.95)!important;
  transition-duration:100ms!important;
}
@media(max-width:800px){
  .yz-neon .os-taskbar{
    height:48px;
    min-height:48px;
    bottom:calc(16px + env(safe-area-inset-bottom,0px));
    padding:4px;
    gap:2px;
    max-width:96vw;
    border-radius:999px;
    background:rgba(2,6,24,.90);
    backdrop-filter:blur(40px);
    -webkit-backdrop-filter:blur(40px);
  }
  .yz-neon .os-taskbar .tb-center{gap:2px}
  .yz-neon .tb-btn,
  .yz-neon .tb-app{
    min-width:34px;
    width:auto;
    height:36px;
    min-height:36px;
    padding:6px 8px;
    border-radius:999px;
  }
  .yz-neon .tb-btn .yz-icon,
  .yz-neon .tb-app .yz-icon{
    width:16px;
    height:16px;
  }
  .yz-neon .tb-start{
    min-width:34px;
    height:36px;
    min-height:36px;
    padding:6px 8px;
  }
  .yz-neon .tb-app.active,
  .yz-neon .tb-app.panel-active{
    min-width:34px;
    max-width:none;
    padding:6px 8px;
    gap:6px;
  }
  .yz-neon .tb-app.active .yz-dock-label,
  .yz-neon .tb-app.panel-active .yz-dock-label{
    max-width:85px;
    margin-left:0;
    font-size:11px;
  }
  .yz-neon .tb-center .yz-dock-label[data-short]{font-size:0}
  .yz-neon .tb-center .yz-dock-label[data-short]::after{
    content:attr(data-short);
    font-size:11px;
  }
}
@media(max-width:380px){
  .yz-neon .os-taskbar{padding:4px;gap:1px}
  .yz-neon .tb-btn,.yz-neon .tb-app{
    min-width:33px;
    padding:6px 7px;
  }
  .yz-neon .tb-start{min-width:33px;padding:6px 7px}
  .yz-neon .tb-app.active,.yz-neon .tb-app.panel-active{
    min-width:33px;
    padding:6px 7px;
    gap:5px;
  }
  .yz-neon .tb-app.active .yz-dock-label,
  .yz-neon .tb-app.panel-active .yz-dock-label{
    max-width:72px;
    font-size:10.5px;
  }
  .yz-neon .tb-center .yz-dock-label[data-short]::after{font-size:10.5px}
}

/* Persistent-shell page transitions, calibrated to Aozora's router presence motion. */
#yzWorkspace{
  transform-origin:50% 30%;
  will-change:auto;
}
#yzWorkspace.yz-route-exit{
  pointer-events:none;
  animation:yz-route-exit 350ms cubic-bezier(.7,0,.84,0) both;
}
#yzWorkspace.yz-route-enter{
  animation:yz-route-enter 550ms cubic-bezier(.16,1,.3,1) both;
}
@keyframes yz-route-exit{
  from{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
  to{opacity:0;transform:translateY(-14px) scale(.985);filter:blur(3px)}
}
@keyframes yz-route-enter{
  from{opacity:0;transform:translateY(18px) scale(.985);filter:blur(5px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
html.yz-routing .os-taskbar{pointer-events:auto}
html.yz-routing #yzWorkspace{user-select:none}
@media(prefers-reduced-motion:reduce){
  #yzWorkspace.yz-route-exit,#yzWorkspace.yz-route-enter{animation:none!important;filter:none!important;transform:none!important}
}

/* Files app — phone-native layout instead of squeezing the desktop table. */
.yz-files-mobile{display:none}
.yz-files-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.yz-files-heading h1{margin:0 0 5px}
.yz-files-home{margin:0}
.yz-files-admin-note{margin:12px 0 0}
.yz-file-owner-form{display:grid;grid-template-columns:max-content minmax(220px,1fr);gap:10px 14px;align-items:center}
.yz-file-owner-form label{color:#9fc0cf}
.yz-file-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.yz-file-path{display:flex;align-items:center;gap:10px;min-width:0}
.yz-file-breadcrumb{color:#9bb9c8;font:500 13px var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.yz-file-count{flex:0 0 auto;color:#638c9d;font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.yz-file-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.yz-files-action-card form{display:flex;gap:10px;align-items:end}
.yz-files-action-card input{flex:1;min-width:0}

@media(max-width:800px){
  .yz-neon .os-titlebar{
    height:42px;
    padding:0 10px 0 13px;
    background:rgba(3,17,29,.78);
    backdrop-filter:blur(18px) saturate(145%);
    -webkit-backdrop-filter:blur(18px) saturate(145%);
  }
  .yz-neon .os-titlebar h1{font-size:14px}
  .yz-neon .yz-window-home{font-size:0;padding:7px 8px}
  .yz-neon .yz-window-home::after{content:'Desktop ↗';font:500 10px var(--font-mono);letter-spacing:.08em}
  .yz-neon .os-window-body{padding:12px 10px 18px}

  .yz-files-page{display:grid;gap:12px}
  .yz-files-heading{margin:0}
  .yz-files-heading h1{display:none}
  .yz-files-home{
    font-size:11px;
    line-height:1.4;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    padding:0 2px;
  }

  .yz-files-page .card{
    margin:0;
    padding:13px;
    border-radius:16px!important;
    background:rgba(3,18,30,.82)!important;
    border-color:rgba(64,210,230,.24)!important;
  }
  .yz-files-admin{display:grid;gap:10px}
  .yz-files-card-title h2{font-size:15px;margin:0}
  .yz-files-card-title p{font-size:11px;color:#789cac;margin:3px 0 0}
  .yz-file-owner-form{display:grid;grid-template-columns:1fr;gap:6px}
  .yz-file-owner-form label{font-size:11px}
  .yz-file-owner-form select{width:100%;margin:0}
  .yz-files-admin-note{font-size:11px;line-height:1.45;margin:1px 0 0}

  .yz-file-browser{padding:10px!important}
  .yz-file-toolbar{margin:0 0 8px;padding:0 2px;gap:8px}
  .yz-file-path{gap:8px}
  .yz-file-up{
    min-height:34px!important;
    height:34px;
    margin:0!important;
    padding:6px 10px!important;
    font-size:11px!important;
    border-radius:10px!important;
  }
  .yz-file-breadcrumb{font-size:11px}
  .yz-file-count{font-size:9px}

  .yz-files-desktop{display:none!important}
  .yz-files-mobile{display:grid;gap:8px}
  .yz-file-item{
    min-width:0;
    padding:11px;
    border:1px solid rgba(80,202,220,.16);
    border-radius:13px;
    background:linear-gradient(145deg,rgba(5,22,35,.88),rgba(4,16,29,.74));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  }
  .yz-file-item-main{display:flex;align-items:center;gap:10px;min-width:0}
  .yz-file-kind-icon{
    position:relative;
    flex:0 0 34px;
    width:34px;height:34px;
    border-radius:10px;
    border:1px solid rgba(82,219,239,.20);
    background:rgba(31,181,211,.08);
  }
  .yz-file-kind-icon.folder::before{
    content:'';
    position:absolute;
    left:8px;top:11px;
    width:18px;height:13px;
    border:1.7px solid #61e5f2;
    border-radius:3px;
  }
  .yz-file-kind-icon.folder::after{
    content:'';
    position:absolute;
    left:9px;top:8px;
    width:8px;height:5px;
    border:1.7px solid #61e5f2;
    border-bottom:0;
    border-radius:3px 3px 0 0;
  }
  .yz-file-kind-icon.file::before{
    content:'';
    position:absolute;
    left:10px;top:7px;
    width:14px;height:19px;
    border:1.7px solid #78d8ff;
    border-radius:3px;
  }
  .yz-file-kind-icon.file::after{
    content:'';
    position:absolute;
    left:13px;top:13px;
    width:8px;height:1.5px;
    background:#78d8ff;
    box-shadow:0 4px 0 #78d8ff,0 8px 0 #78d8ff;
  }
  .yz-file-item-copy{min-width:0;flex:1}
  .yz-file-name{
    display:block;
    max-width:100%;
    color:#d8f7ff;
    font:600 14px/1.35 var(--font);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .yz-file-name:active{color:#72eff7}
  .yz-file-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
  .yz-file-meta span{
    padding:2px 7px;
    border-radius:999px;
    background:rgba(94,181,205,.08);
    border:1px solid rgba(111,207,229,.12);
    color:#789eaf;
    font:500 9px/1.5 var(--font-mono);
    letter-spacing:.04em;
  }

  .yz-file-actions{
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
    gap:7px;
    margin-top:9px;
    padding-top:9px;
    border-top:1px solid rgba(82,164,184,.10);
  }
  .yz-file-rename{flex:1;min-width:0}
  .yz-file-rename summary{
    list-style:none;
    width:max-content;
    min-height:32px;
    padding:7px 10px;
    border:1px solid rgba(105,188,211,.22);
    border-radius:9px;
    background:rgba(69,114,146,.13);
    color:#bad4df;
    font:600 11px/1.3 var(--font);
    cursor:pointer;
  }
  .yz-file-rename summary::-webkit-details-marker{display:none}
  .yz-file-rename[open] summary{
    color:#6ceaf4;
    border-color:rgba(75,221,239,.34);
    background:rgba(42,177,204,.10);
  }
  .yz-file-rename form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
    margin-top:8px;
  }
  .yz-file-rename input{
    width:100%;
    min-width:0;
    min-height:38px!important;
    height:38px;
    font-size:14px!important;
    padding:7px 9px;
    margin:0;
  }
  .yz-file-rename button{
    min-height:38px!important;
    height:38px;
    margin:0!important;
    padding:7px 11px!important;
    font-size:11px!important;
  }
  .yz-file-delete{margin:0}
  .yz-file-delete button{
    min-height:32px!important;
    height:32px;
    margin:0!important;
    padding:6px 10px!important;
    border-radius:9px!important;
    background:rgba(220,55,55,.16)!important;
    border:1px solid rgba(255,94,94,.26)!important;
    color:#ff9b9b!important;
    font-size:11px!important;
  }

  .yz-files-empty{
    display:grid;
    place-items:center;
    gap:6px;
    min-height:120px;
    color:#759bac;
    text-align:center;
  }
  .yz-files-empty span{font-size:26px;color:#57dbe9}
  .yz-files-empty p{margin:0;font-size:12px}

  .yz-file-create-grid{grid-template-columns:1fr;gap:10px}
  .yz-files-action-card h2{font-size:14px;margin:0 0 9px}
  .yz-files-action-card form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
    align-items:center;
  }
  .yz-files-action-card input{
    min-width:0;
    width:100%;
    margin:0;
  }
  .yz-files-action-card input[type=file]{
    padding:8px;
    font-size:12px!important;
  }
  .yz-files-action-card button{
    min-height:42px!important;
    margin:0!important;
    padding:9px 12px!important;
    font-size:12px!important;
  }
}
@media(max-width:380px){
  .yz-neon .os-window-body{padding-left:8px;padding-right:8px}
  .yz-files-page .card{padding:11px}
  .yz-file-browser{padding:8px!important}
  .yz-file-item{padding:10px}
  .yz-file-kind-icon{flex-basis:32px;width:32px;height:32px}
  .yz-file-name{font-size:13px}
}

/* Mobile Files: show complete long names instead of truncating with ellipsis. */
@media(max-width:800px){
  .yz-file-item-main{align-items:flex-start}
  .yz-file-name{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere;
    word-break:break-word;
    display:block;
    line-height:1.35;
  }
  .yz-file-item-copy{padding-top:1px}
}
/* Mobile terminal input stability: keep xterm's hidden input reachable and the
   terminal viewport independently scrollable without trapping page gestures. */
.yz-terminal-surface{position:relative;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.yz-terminal-surface .xterm{height:100%;min-height:100%;touch-action:pan-y}
.yz-terminal-surface .xterm-helper-textarea{opacity:.01!important;left:0!important;top:0!important;width:1px!important;height:1px!important;z-index:2!important}
.yz-terminal-surface .xterm-viewport{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.yz-terminal-footer button{touch-action:manipulation}
@media(max-width:800px){.yz-terminal-workspace .yz-terminal-surface{height:52dvh;min-height:280px;max-height:680px;padding:8px}.yz-terminal-surface .xterm{font-size:13px}}

/* Terminal text selection and copy controls */
.yz-terminal-footer>div{flex-wrap:wrap;align-items:center}
.yz-terminal-footer button:disabled{opacity:.38;cursor:not-allowed}
.yz-terminal-surface .xterm .xterm-selection div{background:#24c9e477!important}
@media(max-width:800px){.yz-terminal-footer{align-items:flex-start;flex-wrap:wrap}.yz-terminal-footer>span{flex:1 1 100%}.yz-terminal-footer>div{flex:1 1 100%;gap:5px}.yz-terminal-footer button{min-height:36px!important;padding:5px 8px!important;font-size:12px!important}}

/* Mobile-friendly terminal output selection and compact control layout. */
.yz-terminal-workspace [data-live-terminal]{position:relative;min-width:0}
.yz-terminal-workspace .yz-terminal-footer{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}
.yz-terminal-workspace .yz-terminal-footer>span{width:100%;white-space:normal;overflow-wrap:anywhere}
.yz-terminal-workspace .yz-terminal-footer>div{display:flex;flex-flow:row nowrap;align-items:center;gap:6px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 0 5px;scrollbar-width:thin}
.yz-terminal-workspace .yz-terminal-footer button{flex:0 0 auto;min-height:38px;padding:7px 10px;font-size:12px;white-space:nowrap}
.yz-terminal-workspace .yz-terminal-footer button[hidden]{display:none!important}
.yz-terminal-selection[hidden]{display:none!important}
.yz-terminal-selection{position:absolute;z-index:30;inset:8px;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid #62d9e88c;border-radius:12px;background:#04121df7;box-shadow:0 16px 50px #000b;min-height:0}
.yz-terminal-selection-head{display:flex;flex-direction:column;gap:4px;color:#d5f7ff;font-size:13px}
.yz-terminal-selection-head span{color:#91b9c9;font-size:11px}
.yz-terminal-selection textarea{display:block;flex:1 1 auto;width:100%;min-height:120px;resize:none;overflow:auto;padding:12px;border:1px solid #4b899b66;border-radius:8px;background:#020a13;color:#d6edf5;font:12px/1.55 ui-monospace,monospace;white-space:pre;user-select:text!important;-webkit-user-select:text!important;-webkit-touch-callout:default;touch-action:pan-y;caret-color:transparent}
.yz-terminal-selection-actions{display:flex;flex-wrap:wrap;gap:7px}
.yz-terminal-selection-actions button{min-height:40px;padding:8px 12px;font-size:12px}
.yz-terminal-selection button:disabled,.yz-terminal-footer button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:800px){.yz-terminal-workspace .yz-terminal-footer{padding:9px}.yz-terminal-workspace .yz-terminal-footer>div{margin:0 -2px}.yz-terminal-selection{inset:5px;padding:9px}.yz-terminal-selection textarea{font-size:12px;line-height:1.6}}

/* Dedicated mobile clipboard bridge: paste in a visible textarea and explicitly send to PTY. */
.yz-terminal-paste[hidden]{display:none!important}
.yz-terminal-paste{position:absolute;z-index:40;inset:8px;display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #62d9e88c;border-radius:12px;background:#04121dfb;box-shadow:0 16px 50px #000b;min-height:0}
.yz-terminal-paste-head{display:flex;flex-direction:column;gap:5px;color:#d5f7ff;font-size:14px}.yz-terminal-paste-head span{color:#91b9c9;font-size:12px;line-height:1.5}
.yz-terminal-paste textarea{display:block;flex:1 1 auto;width:100%;min-height:150px;resize:vertical;padding:12px;border:1px solid #4b899b88;border-radius:8px;background:#020a13;color:#d6edf5;font:13px/1.5 ui-monospace,monospace;white-space:pre;user-select:text!important;-webkit-user-select:text!important;-webkit-touch-callout:default;touch-action:pan-y}
.yz-terminal-paste-actions{display:flex;flex-wrap:wrap;gap:8px}.yz-terminal-paste-actions button{min-height:42px;padding:8px 12px;font-size:12px}
@media(max-width:800px){.yz-terminal-paste{inset:5px;padding:10px}.yz-terminal-paste textarea{font-size:13px;min-height:180px}}

/* Keep the reliable mobile paste action visible above the terminal viewport. */
.yz-terminal-actionbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid #3bc8d533;background:#04131df7;color:#8fb8c8;font-size:12px}
.yz-terminal-actionbar button{min-height:42px;padding:8px 16px;border:1px solid #3bc8d588;border-radius:9px;background:#0c2b3b;color:#aaf7ff;font-weight:700;touch-action:manipulation}
@media(max-width:800px){.yz-terminal-actionbar{padding:8px 10px}.yz-terminal-actionbar button{min-height:44px;font-size:14px}}

/* Keep Paste available in the terminal's persistent bottom control row as well. */
.yz-terminal-workspace .yz-terminal-footer>div{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:4px}
.yz-terminal-workspace .yz-terminal-footer button{flex:0 0 auto;min-width:max-content;touch-action:manipulation}

/* Keep a second, explicit mobile paste entry in the always-visible footer. */
.yz-terminal-footer button[data-terminal-paste-open]{border:1px solid #3bc8d588;background:#0c2b3b;color:#aaf7ff;font-weight:700}

/* Retire the duplicate top-of-terminal paste action; footer owns the single Paste control. */
.yz-terminal-actionbar{display:none!important}
