:root{--sopra-dark-purple:#1d1d1b;--sopra-light-purple:#2a1a49;--sopra-red:#ed0000;--sopra-orange:#e86a10;--brand-gradient:linear-gradient(135deg, #2a1a49 0%, #5c1a6e 25%, #c2185b 50%, #ed0000 70%, #e86a10 100%);--bg:#0e0d11;--surface:#1f1d23f6;--line:#ffffff17;--text:#f2f0ee;--text-2:#b9b5ae;--text-3:#7f7b75;--font:"Hurme Geometric Sans 4", "Hurme Geometric Sans 3", "Avenir Next", Avenir, "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;background:#000;line-height:1.5;overflow:hidden}[hidden]{display:none!important}[lang=no] [data-lang=en]:not(.lang-btn),[lang=en] [data-lang=no]:not(.lang-btn){display:none}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #fff}img{max-width:100%}.noscript{color:#1d1d1b;z-index:100;background:#fff;padding:40px 24px;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.noscript h1{margin:20px 0 16px;font-size:22px}.noscript ul{list-style:none}.noscript li{border-bottom:1px solid #e5e5e5;padding:8px 0}.noscript a{color:#ed0000}.noscript p{color:#4a4a4a;margin-top:20px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#boot{z-index:50;background:#000;transition:opacity .6s;position:fixed;top:0;bottom:0;left:0;right:0}#boot.gone{opacity:0;pointer-events:none}#boot canvas{opacity:0;width:100%;height:100%;transition:opacity 1.4s;display:block;position:absolute;top:0;bottom:0;left:0;right:0}#boot.ready canvas{opacity:1}.boot-ui{pointer-events:none;opacity:0;animation:1s 1s forwards boot-ui-in;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes boot-ui-in{to{opacity:1}}.boot-prompt{text-align:center;color:#eee;white-space:nowrap;transition:opacity .4s,transform .4s;position:absolute;bottom:clamp(20px,5vh,56px);left:50%;transform:translate(-50%)}#boot.armed .boot-prompt{opacity:0;pointer-events:none;transform:translate(-50%,8px)}.boot-prompt>strong{letter-spacing:.02em;margin-bottom:12px;font-size:15px;font-weight:600;display:block}.boot-prompt .hint{color:#ffffff80;margin-top:10px;font-size:12px;display:block}.boot-choices{justify-content:center;gap:12px;display:flex}.boot-choice{pointer-events:auto;text-align:left;color:#fff;-webkit-backdrop-filter:blur(10px);background:#1412178c;border:1px solid #ffffff29;border-radius:16px;align-items:center;gap:12px;padding:10px 16px 10px 10px;transition:border-color .25s,background .25s,transform .25s,box-shadow .25s;display:flex}.boot-choice:hover,#boot.hover-power .boot-choice[data-mode=login],#boot.hover-usb .boot-choice[data-mode=primer]{background:#1e1c23bf;border-color:#ffffff8c;transform:translateY(-2px);box-shadow:0 12px 30px #00000059}.boot-choice:focus-visible{background:#1e1c23bf;border-color:#ffffff8c;transform:translateY(-2px);box-shadow:0 12px 30px #00000059}.boot-choice .ring{border:1px solid #ffffff59;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.boot-choice[data-mode=login] .ring{animation:2.4s ease-in-out infinite ring-pulse}@keyframes ring-pulse{0%,to{box-shadow:0 0 #ffffff47}60%{box-shadow:0 0 0 12px #fff0}}.boot-choice svg{stroke:#fff;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.boot-choice .txt{flex-direction:column;gap:2px;display:flex}.boot-choice b{font-size:14px;font-weight:600}.boot-choice small{color:#ffffff8c;letter-spacing:.02em;font-size:11px}#boot.hover-power canvas,#boot.hover-usb canvas{cursor:pointer}@media (max-width:720px){.boot-prompt{white-space:normal;width:calc(100% - 32px)}.boot-choices{flex-direction:column;align-items:stretch}}.boot-skip{pointer-events:auto;letter-spacing:.1em;text-transform:uppercase;color:#fff9;-webkit-backdrop-filter:blur(6px);border:1px solid #ffffff2e;border-radius:999px;padding:9px 14px;font-size:11px;transition:color .2s,border-color .2s;position:absolute;top:18px;right:18px}.boot-skip:hover{color:#fff;border-color:#ffffff80}#splash{z-index:60;opacity:0;background:#1d1d1b;place-items:center;transition:opacity .35s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#splash.show{opacity:1}.splash-fly{will-change:transform;transition:transform 1.45s cubic-bezier(.6,.02,.2,1)}.splash-plate{width:calc(var(--S,100vw) * .28);padding:calc(var(--S,100vw) * .014) calc(var(--S,100vw) * .022);border-radius:calc(var(--S,100vw) * .012);transform-origin:50%;will-change:transform;background:#fff;display:flex}#splash.lift .splash-plate{border-radius:8px;transition:transform 1.45s cubic-bezier(.35,.05,.15,1),border-radius 1.45s}.splash-plate img{width:100%;height:auto;display:block}.splash-bar{left:50%;top:calc(50% + var(--S,100vw) * .085);width:calc(var(--S,100vw) * .16);background:#ffffff1f;border-radius:3px;height:3px;transition:opacity .3s;position:absolute;overflow:hidden;transform:translate(-50%)}.splash-bar i{background:var(--brand-gradient);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--p,0));display:block}#splash.lift{pointer-events:none;background:0 0;transition:background .7s .15s}#splash.lift .splash-bar{opacity:0}#os{z-index:40;background:var(--bg);color:var(--text);position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.os-bg,.os-aurora,.os-grid{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.os-bg{opacity:0;width:100%;height:100%;transition:opacity 1.6s .2s}.os-aurora{filter:blur(34px);opacity:0;background:radial-gradient(40% 50% at 18% 18%,#2a1a49bf,#0000 70%),radial-gradient(35% 45% at 82% 12%,#5c1a6e73,#0000 70%),radial-gradient(45% 40% at 72% 92%,#e86a102e,#0000 70%),radial-gradient(35% 35% at 18% 92%,#ed000029,#0000 70%);transition:opacity 1.8s;animation:46s ease-in-out infinite alternate aurora-drift;top:-20%;bottom:-20%;left:-20%;right:-20%}@keyframes aurora-drift{0%{transform:translate(-2%,-1%)scale(1)}to{transform:translate(2%,1.5%)scale(1.06)}}.os-grid{opacity:0;background-image:radial-gradient(#ffffff12 1px,#0000 1px);background-size:28px 28px;transition:opacity 1.6s .3s;-webkit-mask-image:radial-gradient(70% 70%,#000 40%,#0000 100%);mask-image:radial-gradient(70% 70%,#000 40%,#0000 100%)}#os.on .os-bg,#os.on .os-aurora,#os.on .os-grid{opacity:1}.os-top{z-index:5;-webkit-backdrop-filter:blur(18px)saturate(140%);border-bottom:1px solid var(--line);background:#1412178c;justify-content:space-between;align-items:center;height:52px;padding:0 14px 0 12px;transition:transform .7s cubic-bezier(.2,.8,.2,1) .1s;display:flex;position:absolute;top:0;left:0;right:0;transform:translateY(-100%)}#os.on .os-top{transform:none}#os.handover .os-top{transition-delay:1.05s}.os-logo{background:#fff;border-radius:8px;align-items:center;height:34px;padding:5px 10px;display:flex}.os-logo img{width:auto;height:100%;display:block}.os-tray{color:var(--text-2);align-items:center;gap:14px;font-size:13px;display:flex}.lang-toggle{border:1px solid var(--line);background:#ffffff08;border-radius:999px;padding:2px;display:flex}.lang-btn{letter-spacing:.08em;color:var(--text-3);border-radius:999px;padding:4px 9px;font-size:11px}.lang-btn.active{color:#fff;background:#ffffff24}.os-tray-mail{color:var(--text-2);align-items:center;gap:6px;text-decoration:none;display:flex}.os-tray-mail svg{stroke:currentColor;fill:none;stroke-width:1.7px;width:16px;height:16px}.os-tray-mail:hover{color:#fff}.os-clock{font-variant-numeric:tabular-nums;color:#fff;white-space:nowrap;font-weight:600}.os-clock small{color:var(--text-3);margin-right:8px;font-weight:400}.os-windows{position:absolute;top:52px;bottom:0;left:0;right:0}.win{background:var(--surface);-webkit-backdrop-filter:blur(24px)saturate(140%);border:1px solid var(--line);border-radius:var(--radius);opacity:0;flex-direction:column;max-width:calc(100% - 24px);max-height:calc(100% - 16px);transition:opacity .26s,transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .2s;display:flex;position:absolute;overflow:hidden;transform:perspective(1400px)translateY(16px)rotateX(5deg)scale(.96);box-shadow:0 30px 80px #0000008c}.win.open{opacity:1;transform:none}.win:focus{outline:none}.win:focus-visible{outline:none}.win.open:not(.focused){opacity:.97}.win.closing{opacity:0;transform:translateY(8px)scale(.97)}.win.minimized{opacity:0;pointer-events:none;transform:translateY(45vh)scale(.5)}.win.dragging{-webkit-user-select:none;user-select:none;transition:none}.win.focused{border-color:#ffffff2e;box-shadow:0 40px 100px #000000a6,0 0 0 1px #0006}.win-bar{border-bottom:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#ffffff05;flex:none;align-items:center;gap:10px;height:40px;padding:0 12px;display:flex}.win.dragging .win-bar{cursor:grabbing}.win-controls{gap:7px;display:flex}.wc{border:1px solid #00000059;border-radius:50%;width:12px;height:12px;padding:0}.wc.close{background:var(--sopra-red)}.wc.min{background:var(--sopra-orange)}.win:not(.focused) .wc{background:#4a4a4f}.win-title{color:var(--text-2);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;display:flex}.win-title .win-ico{display:inline-flex}.win-title .win-ico svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.win.focused .win-title{color:#fff}.win-content{padding:22px 24px 24px;font-size:14.5px;line-height:1.6;overflow:auto}.welcome .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--sopra-orange);margin-bottom:10px;font-size:11px;font-weight:700}.welcome h2{letter-spacing:-.01em;color:#fff;margin-bottom:12px;font-size:clamp(22px,2.4vw,30px);font-weight:600;line-height:1.15}.welcome .tagline{color:var(--text-2);margin-bottom:14px;font-size:16px}.welcome .intro{color:var(--text-2);margin-bottom:22px}.welcome .intro strong{color:#fff;font-weight:600}.launch-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.launch{text-align:left;border:1px solid var(--line);background:#ffffff08;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:12px;transition:background .2s,border-color .2s,transform .2s;display:flex;position:relative}.launch:hover{background:#ffffff12;border-color:#fff3;transform:translateY(-2px)}.launch svg{stroke:#fff;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.launch-name{color:#fff;font-size:14px;font-weight:600}.launch-host{font-family:var(--mono);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.badge{letter-spacing:.08em;text-transform:uppercase;background:var(--brand-gradient);color:#fff;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;line-height:1.6}.launch .badge{position:absolute;top:10px;right:10px}.app-hero{align-items:center;gap:14px;margin-bottom:14px;display:flex}.app-icon{background:var(--brand-gradient);border-radius:16px;flex:none;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 10px 30px #ed000040}.app-icon svg{stroke:#fff;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.app-hero h2{color:#fff;align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.app-host{font-family:var(--mono);color:var(--text-3);font-size:12px}.app-by{font-family:var(--mono);color:var(--text-3);margin-top:3px;font-size:11px}.app-desc{color:var(--text-2);margin-bottom:20px}.app-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.app-url{font-family:var(--mono);color:var(--text-3);font-size:12px}.btn{border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:filter .2s,transform .2s,border-color .2s,color .2s;display:inline-flex}.btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.btn.primary{background:var(--brand-gradient);color:#fff;border-color:#0000;box-shadow:0 8px 24px #ed000040}.btn.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn.primary[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;filter:grayscale(.3)}.btn.ghost{color:var(--text-2)}.btn.ghost:hover{color:#fff;border-color:#ffffff4d}.about-hero{align-items:center;gap:14px;margin-bottom:16px;display:flex}.about-hero h2{color:#fff;font-size:19px;font-weight:700}.about-lines{flex-direction:column;gap:10px;margin:0 0 18px;list-style:none;display:flex}.about-line{color:var(--text-2);padding-left:18px;position:relative}.about-line:before{content:"";background:var(--brand-gradient);border-radius:50%;width:6px;height:6px;position:absolute;top:.6em;left:1px}.about-contact{color:var(--text-2);margin-bottom:18px}.about-contact a{color:#fff}.about-line{animation:.4s ease-out backwards rise;animation-delay:calc(var(--i,0) * 70ms + .12s)}.win.term-win .win-content{font-family:var(--mono);color:#d6d2cb;background:#08080ad1;font-size:13px;line-height:1.55}.win.terminal-win{height:440px}.win.terminal-win .win-content{flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.term-app{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.term-out{overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;flex:1;min-height:0;padding:12px 16px 4px;overflow:auto}.term-out::-webkit-scrollbar{width:8px}.term-out::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:4px}.term .prompt{color:var(--sopra-orange);white-space:nowrap}.term a{color:#fff}.term b{color:#fff;font-weight:700}.term-fixed{white-space:pre}.term-pre{font:inherit;white-space:pre;color:#cfcac1;margin:2px 0;line-height:1.18;overflow:hidden}.term-matrix{color:#5de08f;text-shadow:0 0 6px #5de08f59}.term-err{color:#ff8a7a}.term-dim{color:var(--text-3)}.term-cmd{min-width:13ch;color:var(--sopra-orange);display:inline-block}.term-desc{color:var(--text-2)}.term-app .term-line{animation-duration:.18s;animation-delay:0s}.term-app .neo-row{line-height:1.16}.term-app .term-entry{background:#ffffff05;border-top:1px solid #ffffff0f;flex:none;margin:0;padding:4px 16px 12px}.win.term-busy .term-input{opacity:.45}.term .cursor{vertical-align:-2px;background:#fff;width:8px;height:15px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.term-actions{margin-top:14px}.os-dock{z-index:6;-webkit-backdrop-filter:blur(20px)saturate(140%);border:1px solid var(--line);background:#18161c99;border-radius:24px;align-items:flex-end;gap:14px;padding:10px 14px;transition:transform .8s cubic-bezier(.2,.8,.2,1) .25s;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%,140%);box-shadow:0 20px 60px #00000080}#os.on .os-dock{transform:translate(-50%)}#os.handover .os-dock{transition-delay:1.3s}.dock-item{border-radius:14px;flex-direction:column;align-items:center;padding:4px 2px 10px;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.dock-icon{background:linear-gradient(160deg,#ffffff1f,#ffffff08);border:1px solid #ffffff1f;border-radius:14px;place-items:center;width:48px;height:48px;transition:background .25s,border-color .25s;display:grid;box-shadow:inset 0 1px #ffffff1f}.dock-icon svg{stroke:#fff;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.dock-item:hover .dock-icon{background:var(--brand-gradient);border-color:#0000}.dock-item:focus-visible .dock-icon{background:var(--brand-gradient);border-color:#0000}.dock-label{white-space:nowrap;border:1px solid var(--line);opacity:0;pointer-events:none;background:#141217eb;border-radius:8px;padding:5px 9px;font-size:12px;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%,6px)}.dock-item:hover .dock-label{opacity:1;transform:translate(-50%)}.dock-item:focus-visible .dock-label{opacity:1;transform:translate(-50%)}.dock-dot{background:0 0;border-radius:50%;width:4px;height:4px;transition:background .2s;position:absolute;bottom:3px}.dock-item.running .dock-dot{background:var(--sopra-orange)}.dock-item.minimized .dock-dot{background:var(--text-3)}.dock-sep{background:var(--line);width:1px;height:40px;margin:0 2px 10px}@media (max-width:720px){.os-tray{gap:10px}.os-tray-mail span,.os-clock small{display:none}.os-windows{bottom:92px}.win{max-height:none;bottom:8px;right:8px;width:auto!important;top:8px!important;left:8px!important}.win-bar{cursor:default}.win-content{padding:18px}.win.terminal-win{height:auto}.win.terminal-win .win-content{padding:0}.launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.os-dock{border-radius:18px;justify-content:flex-start;gap:8px;padding:8px 10px;left:8px;right:8px;overflow-x:auto;transform:translateY(140%)}#os.on .os-dock{transform:none}.dock-label{display:none}.dock-icon{width:44px;height:44px}}#os.logo-pending .os-logo{visibility:hidden}#os.space .os-grid{display:none}.os-windows{transform-style:flat;will-change:transform}.os-glow{z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:0;will-change:transform;background:radial-gradient(circle,#e86a1029,#c2185b0f 40%,#0000 70%);border-radius:50%;width:640px;height:640px;transition:opacity .6s;position:absolute;top:-320px;left:-320px}.os-glow.on{opacity:1}@media (hover:none){.os-glow{display:none}}.dock-item{transform-origin:bottom;transition:transform .14s ease-out}.dock-item:hover{transform:none}#os.on .dock-icon{animation:.6s cubic-bezier(.2,.9,.3,1.15) backwards dock-pop;animation-delay:calc(var(--i,0) * 55ms + .55s)}#os.handover.on .dock-icon{animation-delay:calc(var(--i,0) * 55ms + 1.6s)}@keyframes dock-pop{0%{opacity:0;transform:translateY(46px)scale(.5)}to{opacity:1;transform:none}}.win{transition:opacity .3s,transform .55s cubic-bezier(.22,1,.36,1),box-shadow .2s}.win.from-dock:not(.open){opacity:0;transform:scale(.3)}.win.minimized{opacity:0;transition:opacity .35s .1s,transform .5s cubic-bezier(.4,0,.6,1);transform:scale(.06)}.launch{animation:.55s cubic-bezier(.2,.8,.2,1) backwards rise;animation-delay:calc(var(--i,0) * 50ms + .2s)}.term-line{animation:.4s ease-out backwards rise;animation-delay:calc(var(--i,0) * 90ms + .15s)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.welcome .eyebrow,.welcome h2,.welcome .tagline,.welcome .intro{animation:.5s ease-out backwards rise}.welcome h2{animation-delay:80ms}.welcome .tagline{animation-delay:.14s}.welcome .intro{animation-delay:.2s}.af-install{border:1px solid var(--line);max-height:46px;font-family:var(--mono);color:var(--text-2);background:#ffffff0a;border-radius:10px;align-items:center;gap:8px;margin-bottom:14px;padding:8px 10px 9px;font-size:11px;animation:.3s 2.15s forwards af-collapse;display:flex;position:relative;overflow:hidden}.af-mark{flex:none;display:inline-flex}.af-mark svg{stroke:#fff;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.af-msg{flex:1;min-width:0;height:15px;position:relative}.af-msg>span{white-space:nowrap;align-items:center;gap:6px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.af-step{animation:80ms 1.45s forwards af-out}.af-ok{opacity:0;color:#4ec97e;animation:.12s 1.52s forwards af-in}.af-ok svg{stroke:currentColor;fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.af-bar{background:#ffffff14;height:2px;position:absolute;bottom:0;left:0;right:0}.af-bar i{background:var(--brand-gradient);transform-origin:0;height:100%;animation:1.5s cubic-bezier(.4,0,.2,1) forwards af-fill;display:block;transform:scaleX(0)}.app.installing>:not(.af-install){animation:.45s cubic-bezier(.2,.8,.2,1) 2.15s backwards rise}@keyframes af-fill{to{transform:scaleX(1)}}@keyframes af-out{to{opacity:0}}@keyframes af-in{to{opacity:1}}@keyframes af-collapse{to{opacity:0;border-width:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0}}@media (prefers-reduced-motion:reduce){.af-install{display:none}.app.installing>:not(.af-install){animation:none}}@media (max-width:720px){.os-windows{transform:none!important}}.term .key{color:var(--text-3)}.portal-group{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:9px;font-size:11px;font-weight:700}.portal-list{flex-direction:column;gap:6px;display:flex}.portal-list+.portal-group{margin-top:20px}.portal-row{text-align:left;border:1px solid var(--line);width:100%;animation:.45s cubic-bezier(.2,.8,.2,1) backwards rise;animation-delay:calc(var(--i,0) * 35ms + .12s);background:#ffffff08;border-radius:12px;padding:9px 11px;transition:background .2s,border-color .2s;display:block}button.portal-row:hover{background:#ffffff12;border-color:#fff3}.portal-main{align-items:center;gap:12px;display:flex}.portal-ico{background:linear-gradient(160deg,#ffffff1f,#ffffff08);border:1px solid #ffffff1f;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;transition:background .2s,border-color .2s;display:grid}button.portal-row:hover .portal-ico{background:var(--brand-gradient);border-color:#0000}.portal-ico svg{stroke:#fff;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.portal-meta{flex-direction:column;flex:1;min-width:0;display:flex}.portal-name{color:#fff;font-size:14px;font-weight:600}.portal-host{font-family:var(--mono);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.portal-sub{color:var(--text-2);font-size:12.5px}.portal-action{flex:none;align-items:center;gap:10px;display:flex}.portal-ok{color:#4ec97e;white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.portal-ok svg{stroke:currentColor;fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.btn.sm{border-radius:9px;padding:6px 12px;font-size:13px}.portal-strip:empty{display:none}.portal-strip .af-install{margin:9px 0 0}.win.snake-win .win-content{padding:14px}.snake-head{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10.5px;display:flex}.snake-head b{color:#fff;font-variant-numeric:tabular-nums;margin-left:7px;font-size:13px;font-weight:700}.snake-stage{aspect-ratio:1;touch-action:none;border:1px solid var(--line);background:#0b0a0e;border-radius:12px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.snake-canvas{touch-action:none;display:block}.snake-overlay{text-align:center;color:var(--text-2);-webkit-backdrop-filter:blur(1.5px);background:#0b0a0e9e;align-content:center;justify-items:center;gap:10px;padding:18px;font-size:13px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.snake-over{color:#fff;letter-spacing:-.01em;font-size:19px;font-weight:700}.snake-overlay b{color:#fff}@media (max-width:720px){.win.snake-win .win-content{flex-direction:column;justify-content:center;display:flex}}.term-entry{align-items:baseline;gap:8px;display:flex}.term-app .term-entry{animation:none}.term-input{min-width:0;font:inherit;color:inherit;caret-color:#fff;background:0 0;border:0;outline:none;flex:1;padding:0}.term-input:focus-visible{outline:none}.term .neo-art{white-space:pre;color:var(--sopra-orange)}.term .neo-info{margin-left:10px}.term .neo-info b{color:var(--sopra-orange);font-weight:400}.term .neo-info b.neo-name{color:#fff;font-weight:700}#os .dock-item.pop .dock-icon{animation:.55s cubic-bezier(.2,.9,.3,1.15) both dock-pop}#os .os-dock.wave .dock-icon{animation:dock-wave .6s cubic-bezier(.3, .7, .3, 1) calc(var(--i,0) * 60ms) both}@keyframes dock-wave{0%{transform:none}35%{transform:translateY(-13px)}65%{transform:translateY(3px)}to{transform:none}}@media (prefers-reduced-motion:reduce){#os .os-dock.wave .dock-icon,#os .dock-item.pop .dock-icon{animation:none}}
