:root{--bg:#0b0b0d;--bg-alt:#151517;--text:#f2f0ec;--accent:#c81e3a;--muted:#6e6e73;--border:#2a2a2e}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border) var(--bg);margin:0;padding:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg);border-left:1px solid var(--border)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:0;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--accent)}body{background-color:var(--bg);color:var(--text);cursor:none;-webkit-user-select:none;user-select:none;font-family:Inter,sans-serif;overflow-x:hidden}@media (hover:hover) and (pointer:fine){*,:before,:after{cursor:none!important}}.cursor{background-color:var(--accent);pointer-events:none;z-index:9999;border-radius:50%;width:8px;height:8px;transition:background-color .15s,transform .15s,box-shadow .15s;position:fixed;transform:translate(-50%,-50%);box-shadow:0 0 6px #c81e3a80}.cursor.active{background-color:#fff;transform:translate(-50%,-50%)scale(1.25);box-shadow:0 0 10px #fffc}.mono{font-family:JetBrains Mono,monospace}.primary-btn:active:not(:disabled),.secondary-btn:active:not(:disabled),.danger-btn:active:not(:disabled){transform:translateY(0)scale(.98)}.primary-btn:focus-visible,.secondary-btn:focus-visible,.danger-btn:focus-visible,.tool-btn:focus-visible,.tree-child-item:focus-visible,.tree-subchild-item:focus-visible,.tree-folder:focus-visible,.outline-item:focus-visible,button:focus-visible,a:focus-visible{outline-offset:3px;outline:1px solid #c81e3a}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.os-route-transition{z-index:9990;pointer-events:none;opacity:0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.os-route-transition.idle{visibility:hidden;pointer-events:none!important;opacity:0!important}.os-route-transition.out,.os-route-transition.in{pointer-events:all;visibility:visible}.os-route-transition .ort-noise{background:repeating-linear-gradient(0deg,#c81e3a14 0 1px,#0000 1px 3px),#0b0b0d;position:absolute;inset:0}.os-route-transition .ort-label{color:#c81e3a;letter-spacing:.2em;font-family:JetBrains Mono,monospace;font-size:.75rem;position:relative}.os-route-transition.out{animation:.18s steps(4,end) forwards ort-cover}.os-route-transition.in{animation:.45s steps(6,end) forwards ort-reveal}@keyframes ort-cover{0%{opacity:0}to{opacity:1}}@keyframes ort-reveal{0%,60%{opacity:1}to{opacity:0}}.workspace-view>:first-child{animation-delay:0s}.workspace-view>:nth-child(2){animation-delay:60ms}.workspace-view>:nth-child(3){animation-delay:.12s}.workspace-view>:nth-child(4){animation-delay:.18s}.os-toast{z-index:9980;background:var(--bg-alt);border:1px solid var(--border);border-radius:2px;min-width:280px;max-width:420px;padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8rem;transition:transform .3s,opacity .3s;position:fixed;bottom:2rem;right:2rem;box-shadow:0 0 20px #0009}.os-toast.error{border-color:var(--accent);box-shadow:0 0 15px #c81e3a33}.os-toast .toast-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.os-toast .toast-tag{color:var(--accent);letter-spacing:.1em;font-size:.7rem}.os-toast .toast-close{color:var(--muted);background:0 0;border:none;padding:.1rem .3rem;font-size:.8rem;line-height:1;transition:color .2s}.os-toast .toast-close:hover{color:var(--text)}.os-toast .toast-body{color:var(--text);font-size:.75rem;line-height:1.4}.os-toast.toast-show{opacity:1;animation:.3s forwards toast-slide-in;transform:translateY(0)}.os-toast.toast-hide{opacity:0;pointer-events:none;transform:translateY(10px)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.os-module-loading{background-color:var(--bg);color:var(--accent);letter-spacing:.15em;z-index:9900;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:.85rem;display:flex;position:fixed;inset:0}.cursor-blink{animation:1s steps(2,start) infinite blink}@keyframes blink{to{visibility:hidden}}
