/* N0MAD OS v6: original five-world skin system, SVG iconography, true mobile app shell. */
:root{color-scheme:dark}
.cn-sprite{pointer-events:none}
.desk-svg{width:30px;height:30px;stroke-width:1.7;display:block;color:inherit;filter:drop-shadow(0 0 8px currentColor)}
.menu-svg{display:block;width:22px;height:22px;flex:none;stroke:currentColor}
.win-glyph svg{width:21px;height:21px;display:block}
.icon-shell{border-radius:15px;transition:transform .16s ease,box-shadow .16s ease;transform:none!important}
.icon-shell svg{color:var(--ico);width:30px;height:30px;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--ico) 55%,transparent))}
.desktop-icon:hover .icon-shell{transform:translateY(-4px) scale(1.04)!important;box-shadow:0 8px 24px #0008,0 0 22px color-mix(in srgb,var(--ico) 35%,transparent)}
.desktop-icon:focus-visible,.desktop-icon:focus-visible .icon-shell,.theme-card:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.desktop-icon span:last-child{line-height:1.35;font-weight:650;letter-spacing:.01em}
.desktop-icon small{display:block;font-size:9px;letter-spacing:.14em;color:#ad96e1;margin-top:3px}
.start-grid button,.start-grid a{min-height:48px}.start-grid svg{color:var(--cyan)}
.desktop[data-theme="xp"] .desk-svg{filter:none}.desktop[data-theme="xp"] .icon-shell svg{color:#0d58af}
.desktop[data-theme="ubuntu"] .icon-shell svg{filter:none}.desktop[data-theme="dos"] .desk-svg{filter:none}
.desktop[data-theme="dos"] .icon-shell svg{color:#8aff9f;width:25px;height:25px}
.desktop[data-theme="dos"] .icon-shell{width:34px;height:34px}
.desktop[data-theme="dos"] .desktop-icon{gap:7px}
/* Matrix — sparse green phosphor on a genuine canvas of falling characters. */
.matrix-rain{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:0;pointer-events:none;display:none}
.desktop[data-theme="matrix"]{--bg:#020b05;--panel:#05150b;--panel2:#061d0d;--text:#c5ffd8;--muted:#77b18b;--line:#1b7239;--cyan:#53ff88;--pink:#a7ffbc;--accent:#3ffc7c;color:#c4ffd8;background:#010703;color-scheme:dark;font-family:"Courier New",monospace}
.desktop[data-theme="matrix"] .wallpaper{background:radial-gradient(ellipse at 65% 45%,#063916 0%,transparent 47%),radial-gradient(ellipse at 10% 90%,#063019 0%,transparent 55%),#010703;transform:none}
.desktop[data-theme="matrix"] .matrix-rain{display:block;opacity:.66}
.desktop[data-theme="matrix"] .wallpaper-wash{background:linear-gradient(90deg,#000b 0%,#0008 52%,#000b);opacity:.42!important}
.desktop[data-theme="matrix"] .screen-grain{background:repeating-linear-gradient(0deg,transparent 0 3px,#0005 4px);opacity:.37;pointer-events:none}
.desktop[data-theme="matrix"] .neon-backdrop{display:none}.desktop[data-theme="matrix"] .desktop-watermark{opacity:.5;right:6%;bottom:14%}
.desktop[data-theme="matrix"] .desktop-watermark strong{color:#9effb3;text-shadow:0 0 26px #30f668;letter-spacing:-.06em}
.desktop[data-theme="matrix"] .desktop-watermark strong i{color:#39ff7d}
.desktop[data-theme="matrix"] .desktop-coords{color:#64e68e}
.desktop[data-theme="matrix"] .topbar,.desktop[data-theme="matrix"] .taskbar{background:#011306f2;border-color:#2c9c4d;box-shadow:0 0 18px #0ec44a22;color:#baffcf;backdrop-filter:blur(15px)}
.desktop[data-theme="matrix"] .header-logo{filter:grayscale(1) sepia(1) hue-rotate(80deg) saturate(7)}
.desktop[data-theme="matrix"] .header-center,.desktop[data-theme="matrix"] .header-brand strong span{color:#69ff91}
.desktop[data-theme="matrix"] .icon-shell{background:linear-gradient(145deg,#02200e,#000a04);border:1px solid #3ae06c;box-shadow:inset 0 0 12px #20d85615,0 0 18px #10be3e1c;border-radius:5px}
.desktop[data-theme="matrix"] .icon-shell svg{color:#74ff9c}
.desktop[data-theme="matrix"] .desktop-icon{color:#bbfbd0;text-shadow:0 0 7px #40ff72}
.desktop[data-theme="matrix"] .app-window{background:#020b05;border:1px solid #38c467;box-shadow:0 18px 55px #000e,0 0 20px #14873977;border-radius:5px}
.desktop[data-theme="matrix"] .win-head{background:#06220f;border-bottom:1px solid #2e884c;color:#a0ffc0}
.desktop[data-theme="matrix"] .win-title,.desktop[data-theme="matrix"] .win-glyph{color:#7fff9c}
.desktop[data-theme="matrix"] .win-body{background:#010b04;color:#bbefca;scrollbar-color:#297b45 #010b04}
.desktop[data-theme="matrix"] .app-title,.desktop[data-theme="matrix"] .app-title em{color:#9affb1}
.desktop[data-theme="matrix"] .app-desc,.desktop[data-theme="matrix"] .tiny{color:#a4d9b2}
.desktop[data-theme="matrix"] .card,.desktop[data-theme="matrix"] .lab-item,.desktop[data-theme="matrix"] .metric,.desktop[data-theme="matrix"] .article-row,.desktop[data-theme="matrix"] .file-list,.desktop[data-theme="matrix"] .notice{background:#031608;border:1px solid #216c39;color:#c4f9d2}
.desktop[data-theme="matrix"] .card p,.desktop[data-theme="matrix"] .metric-label{color:#8fc9a1}
.desktop[data-theme="matrix"] .field,.desktop[data-theme="matrix"] .text-area,.desktop[data-theme="matrix"] select{background:#001007;color:#afffc3;border:1px solid #238447}
.desktop[data-theme="matrix"] .start-button,.desktop[data-theme="matrix"] .start-menu{background:#021406;border:1px solid #2cd469;border-radius:4px;color:#baffca}
.desktop[data-theme="matrix"] .task-app,.desktop[data-theme="matrix"] .start-grid button,.desktop[data-theme="matrix"] .start-grid a{background:#07200f;border:1px solid #1e7a39;color:#baffc9;border-radius:3px}
.desktop[data-theme="matrix"] .task-app.active{border-color:#72ff90}
.desktop[data-theme="matrix"] .win-controls button{background:#001307;border:1px solid #267947;border-radius:2px;color:#baffce}
.desktop[data-theme="matrix"] .theme-card{background:#021509;border-color:#286a41;color:#bbffd2}.desktop[data-theme="matrix"] .theme-card small{color:#8be4a6}
.prev-matrix{background:repeating-linear-gradient(90deg,#21fc6022 0 2px,transparent 2px 17px),repeating-linear-gradient(0deg,transparent 0 19px,#35ff6c17 20px 21px),#010c04;color:#8cff9a;font:13px/1.35 monospace;text-shadow:0 0 8px #23fa67}
.mobile-hero{display:none}
/* Better interactive affordances for every supported pointer. */
button,a,input,select{touch-action:manipulation}
.win-controls button{min-width:30px;min-height:30px}
.arcade-canvas{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:auto;touch-action:none;border:1px solid #385b70;border-radius:9px;user-select:none}
.arcade-controls button,.arcade-mode,.arcade-playbar button{touch-action:manipulation;min-height:43px;min-width:44px}
.arcade-help{max-width:100%;overflow-wrap:anywhere;text-align:center}
.arcade-scoreline{font-size:11px;line-height:1.5}
.arcade-root{overscroll-behavior:contain}
.arcade-menu .arcade-tile{min-width:0}
.arcade-mode{padding:10px 14px}
.arcade-canvas:focus-visible{outline:3px solid #00dfff}
@media(max-width:720px){
 :root{--top:58px;--bar:62px}
 html,body{width:100%;max-width:100%;overflow:hidden}
 .desktop{height:100dvh;min-height:320px}
 .desktop .topbar{height:var(--top);padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}
 .desktop .header-center,.desktop .header-brand small{display:none!important}
 .desktop .header-brand strong{font-size:13px;letter-spacing:-.03em}
 .desktop .header-controls{gap:6px}.desktop .header-controls #headerClock{font-size:11px}
 .desktop .workspace{height:calc(100dvh - var(--top) - var(--bar) - env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;padding-bottom:26px;display:block;scrollbar-width:none}
 .desktop .workspace::-webkit-scrollbar{display:none}
 .desktop .wallpaper{position:absolute;inset:0}
 .desktop .neon-backdrop,.desktop .desktop-watermark,.desktop .desktop-coords{display:none!important}
 .mobile-hero{position:relative;z-index:3;display:block;margin:18px 16px 12px;border:1px solid #2e6c8277;border-radius:19px;padding:16px;background:linear-gradient(135deg,#071b2be8,#211337c9 68%,#071020e8);box-shadow:0 12px 34px #0008, inset 0 1px #ffffff1e;overflow:hidden}
 .mobile-hero:after{content:"";position:absolute;right:-65px;top:-100px;width:220px;height:220px;border:1px solid #00eaff22;border-radius:50%;box-shadow:0 0 0 30px #1dedff05,0 0 0 70px #ff00f406;pointer-events:none}
 .mobile-hero-top,.mobile-hero-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}
 .mobile-eyebrow,.mobile-version{font:10px ui-monospace,monospace;letter-spacing:.1em;color:#86f5dc}
 .mobile-hero-middle{display:flex;align-items:center;gap:12px;padding:18px 0 17px}
 .mobile-hero-middle img{width:75px;height:75px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 0 12px #00e6ff39)}
 .mobile-hero-middle>div{min-width:0}.mobile-hero-middle>div>span{font:9px ui-monospace,monospace;letter-spacing:.2em;color:#a1b5d7}
 .mobile-hero-middle h1{color:#f1f9ff;font:900 clamp(27px,7.8vw,43px)/1.1 system-ui,sans-serif;letter-spacing:-.07em;margin:6px 0}.mobile-hero-middle h1 em{font-style:normal;color:#ff3bcd}
 .mobile-hero-middle p{font:12px/1.55 system-ui,sans-serif;color:#adbee2;max-width:235px;margin:0}
 .mobile-hero-actions{position:relative;z-index:2;gap:8px}.mobile-hero-actions button,.mobile-hero-actions a{display:flex;align-items:center;gap:7px;justify-content:center;border:1px solid #347fa3;border-radius:9px;background:#133048;color:#d9fbff;padding:11px 10px;text-decoration:none;font:650 11px system-ui,sans-serif;min-height:44px;flex:1}
 .mobile-hero-actions a{border-color:#7a2b87;background:#47184a;color:#ffe6ff}
 .mobile-hero .menu-svg{width:16px;height:16px}
 .desktop .desktop-icons,.desktop[data-theme="ubuntu"] .desktop-icons,.desktop[data-theme="dos"] .desktop-icons{position:relative;top:auto;left:auto;right:auto;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:10px;margin:10px 16px 20px;width:auto;height:auto;transform:none}
 .desktop .desktop-icon,.desktop[data-theme="dos"] .desktop-icon{min-width:0;min-height:112px;padding:14px 3px 11px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;background:linear-gradient(160deg,#0d1d30d9,#101029d9);border:1px solid #315067a8;border-radius:14px;font:650 11px/1.2 system-ui,sans-serif;color:#e9f6ff;text-shadow:none;text-align:center;overflow-wrap:anywhere}
 .desktop .desktop-icon small{font-size:8px}.desktop .icon-shell,.desktop[data-theme="dos"] .icon-shell{height:53px;width:53px;border-radius:13px;flex-shrink:0}
 .desktop .desk-svg{height:28px;width:28px}
 .desktop .taskbar,.desktop[data-theme="ubuntu"] .taskbar{position:absolute;bottom:0;top:auto;left:0;right:0;z-index:650;width:100%;height:calc(var(--bar) + env(safe-area-inset-bottom));min-height:var(--bar);padding:6px 12px calc(6px + env(safe-area-inset-bottom));display:flex;flex-direction:row;border-top:1px solid #2c87a47a}
 .desktop .start-button{height:44px;min-width:48px;padding:4px 7px}.desktop .start-button span{display:inline;font-size:10px}.desktop .start-button b{display:none}
 .desktop .task-separator{display:none}.desktop .task-list{flex:1;min-width:0;display:flex;overflow-x:auto;scrollbar-width:none;gap:6px}
 .desktop .task-list::-webkit-scrollbar{display:none}.desktop .task-app{font-size:10px;flex-shrink:0;max-width:118px;min-width:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .desktop .task-end{display:none}
 .desktop .window-layer,.desktop[data-theme="ubuntu"] .window-layer{position:fixed;top:var(--top);left:0;right:0;bottom:calc(var(--bar) + env(safe-area-inset-bottom));height:auto;z-index:550;pointer-events:none}
 .desktop .app-window,.desktop .app-window.maximized,.desktop[data-theme="ubuntu"] .app-window,.desktop[data-theme="ubuntu"] .app-window.maximized{position:absolute!important;inset:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border-radius:0!important;border-left:0;border-right:0;box-shadow:none}
 .desktop .app-window.minimized{display:none!important}
 .desktop .win-head{height:49px;min-height:49px;padding:0 10px;gap:8px;cursor:default}
 .desktop .win-controls{margin-left:auto}.desktop .win-controls button{min-width:39px;height:35px;font-size:17px}
 .desktop .win-controls [data-control="max"]{display:none}
 .desktop .win-title{font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
 .desktop .win-body{overflow:auto;overscroll-behavior:contain;min-height:0;-webkit-overflow-scrolling:touch}
 .desktop .start-menu{position:fixed;left:8px;right:8px;bottom:calc(var(--bar) + env(safe-area-inset-bottom) + 8px);top:auto;z-index:800;width:auto;max-height:calc(100dvh - var(--top) - var(--bar) - 20px);overflow-y:auto;border-radius:14px;padding:12px}
 .desktop .start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .desktop .app-pad{padding:16px}.desktop .cards,.desktop .two-col,.desktop .monitor-grid{grid-template-columns:1fr}
 .desktop .app-title{font-size:clamp(23px,7vw,33px)}
 .desktop .terminal-shell{min-height:100%}.desktop .terminal-screen{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
 .desktop .terminal-entry{gap:6px}.desktop .terminal-entry label{font-size:10px;white-space:nowrap}.desktop .terminal-entry input{min-width:0;font-size:16px}
 .desktop .arcade-root{height:100%;padding:15px;overflow-y:auto}
 .desktop .arcade-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .desktop .arcade-tile{min-height:164px;padding:11px 9px;gap:5px}
 .desktop .arcade-playbar{gap:4px}.desktop .arcade-playbar button{font-size:10px;min-height:38px;min-width:70px;white-space:nowrap}
 .desktop .arcade-playbar>div{min-width:0}.desktop .arcade-playbar>div strong{font-size:12px}.desktop .arcade-playbar>div small{font-size:9px;white-space:normal}
 .desktop .arcade-playarea{padding:10px 0 18px}.desktop .game-arena{width:100%;max-width:100%}
 .desktop .arcade-canvas{width:100%;max-width:420px;height:auto;touch-action:none}
 .desktop .arcade-controls{gap:10px}.desktop .arcade-controls button{min-height:46px;min-width:52px}
 .desktop .typing-field{height:210px}.desktop .typing-input{font-size:16px;min-height:44px}
 .desktop .memory-card{height:58px}.desktop .tictac-grid{width:min(290px,100%)}.desktop .ttt-cell{font-size:46px}
 .desktop .xp-pet{bottom:calc(var(--bar) + 12px);right:0;transform:scale(.68);pointer-events:auto}
 .desktop[data-theme="xp"] .mobile-hero{background:linear-gradient(145deg,#fff,#d3e7ff);border-color:#8ebaf7;box-shadow:0 4px 16px #2059aa55}.desktop[data-theme="xp"] .mobile-hero h1,.desktop[data-theme="xp"] .mobile-hero p,.desktop[data-theme="xp"] .mobile-hero span{color:#135198}.desktop[data-theme="xp"] .mobile-hero h1 em{color:#228e37}.desktop[data-theme="xp"] .mobile-hero-actions a{background:#2259bb;color:#fff}
 .desktop[data-theme="xp"] .desktop-icon{background:linear-gradient(160deg,#eff8ff,#d0e9ff);color:#17477e;border-color:#80b1e8;text-shadow:none}
 .desktop[data-theme="ubuntu"] .mobile-hero{background:linear-gradient(145deg,#4d1b55,#24112f);border-color:#b36693}.desktop[data-theme="ubuntu"] .mobile-hero h1 em{color:#ff9867}.desktop[data-theme="ubuntu"] .desktop-icon{background:linear-gradient(145deg,#481d51,#2c1236);border-color:#a15b80}
 .desktop[data-theme="dos"] .mobile-hero{background:#000b02;border-radius:0;border-color:#397d4c}.desktop[data-theme="dos"] .mobile-hero h1,.desktop[data-theme="dos"] .mobile-hero h1 em,.desktop[data-theme="dos"] .mobile-hero p,.desktop[data-theme="dos"] .mobile-hero span{color:#91ffa5;font-family:monospace}.desktop[data-theme="dos"] .desktop-icon{background:#001507;border:1px solid #23733d;color:#a3ffb3;border-radius:0;font-family:monospace}.desktop[data-theme="dos"] .mobile-hero-actions button,.desktop[data-theme="dos"] .mobile-hero-actions a{background:#011a08;border:1px solid #23733d;color:#a3ffb3;border-radius:0}
 .desktop[data-theme="matrix"] .mobile-hero{background:#001207;border:1px solid #319a54;border-radius:5px;box-shadow:0 0 27px #00ed3b19}.desktop[data-theme="matrix"] .mobile-hero span,.desktop[data-theme="matrix"] .mobile-hero h1,.desktop[data-theme="matrix"] .mobile-hero h1 em,.desktop[data-theme="matrix"] .mobile-hero p{color:#a4ffb8}.desktop[data-theme="matrix"] .mobile-hero-actions button,.desktop[data-theme="matrix"] .mobile-hero-actions a{background:#002210;border:1px solid #3b9c52;color:#a4ffb8;border-radius:3px}.desktop[data-theme="matrix"] .desktop-icon{background:#001a0c;border-color:#2d8e50;border-radius:5px;color:#aeffc3}
 .desktop .theme-options{grid-template-columns:1fr 1fr;gap:8px}.desktop .theme-card{padding:6px}.desktop .theme-card strong{font-size:10px}.desktop .theme-card small{font-size:9px}
 .desktop .xp-pet:not([hidden]){z-index:560}
}
@media(max-width:375px){.mobile-hero{margin:10px 10px 8px;padding:12px}.desktop .desktop-icons{margin:8px 10px;gap:7px}.desktop .desktop-icon{min-height:103px;padding:10px 2px;gap:8px}.desktop .icon-shell{height:46px;width:46px}.mobile-hero-middle img{width:64px;height:64px}.desktop .arcade-root{padding:9px}}
@media(prefers-reduced-motion:reduce){.matrix-rain{display:none!important}.desktop-icon,.icon-shell,.theme-card{transition:none!important}}
