/* RyzovaOS — original Phase 5 desktop visual system. No external assets. */
:root {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  color: #eaeafa;
  background: #0b0d19;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
html, body, #app { width: 100%; height: 100%; margin: 0; min-height: 100%; }
body { overflow: hidden; }
button { font: inherit; cursor: pointer; }
button:focus-visible { outline: 2px solid #9ee8df; outline-offset: 3px; }
[hidden] { display: none !important; }
.os-shell {
  --ink: #f1f0fc; --sub: #b0acc9; --muted: #8986a5;
  --glass: rgba(22,24,46,.9); --glass-2: rgba(31,33,59,.86);
  --stroke: rgba(213,213,255,.14); --accent: #b9b3fc;
  --accent-bright: #d9d5ff; --mint: #a0e5d8;
  position: relative; width: 100%; height: 100dvh; overflow: hidden;
  color: var(--ink);
  background: linear-gradient(137deg,#0d1020 0%,#15152d 49%,#25203b 100%);
  isolation: isolate;
}
.wallpaper { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.wallpaper::before {
  content: ""; position: absolute; left: 12%; top: -32%; width: 95vw; height: 114vh;
  background: radial-gradient(ellipse at center,rgba(124,104,202,.3) 0%,rgba(53,46,105,.13) 37%,transparent 68%);
  transform: rotate(-26deg);
}
.wallpaper::after {
  content: ""; position: absolute; left: -12%; bottom: -49%; width: 85vw; height: 105vh;
  background: radial-gradient(ellipse at center,rgba(64,129,139,.15),transparent 66%);
}
.wallpaper-orbit {
  position: absolute; width: 92vw; height: 92vw; min-width: 870px; min-height: 870px;
  border: 1px solid rgba(215,205,255,.12); border-radius: 50%;
  transform: rotate(-26deg) scaleX(1.23); left: 34%; top: -38%;
}
.orbit-two { width: 66vw; height: 66vw; min-width: 670px; min-height: 670px;
  left: 45%; top: -19%; border-color: rgba(217,212,255,.07); }
.wallpaper-glow { position: absolute; width: 41vw; height: 41vw; left: 57%; top: 7%;
  min-width: 450px; min-height: 450px; border-radius: 50%;
  background: radial-gradient(circle at 35% 38%,rgba(207,194,255,.18) 0%,rgba(124,102,185,.075) 40%,transparent 70%);
  box-shadow: inset 2px 3px 50px rgba(220,204,255,.05); }
.wallpaper-grid { position: absolute; inset: 0; opacity:.16;
  background-image: linear-gradient(rgba(190,190,228,.095) 1px,transparent 1px),
    linear-gradient(90deg,rgba(190,190,228,.095) 1px,transparent 1px);
  background-size: 62px 62px;
  mask-image: linear-gradient(100deg,transparent 10%,black 80%); }
.topbar {
  height: 58px; padding: 0 28px; display: flex; align-items: center;
  justify-content: space-between; position: relative; z-index: 90;
  border-bottom: 1px solid rgba(207,200,244,.1);
  background: rgba(12,14,30,.52); backdrop-filter: blur(35px);
}
.topbar-brand,.topbar-right { display:flex; align-items:center; gap: 16px; }
.brand-glyph { display:grid; place-items:center; width: 31px; height:31px;
  border-radius:9px; color:#19192c; font-weight:900; font-size:17px;
  background: linear-gradient(138deg,#a9ebdd,#c1b4fa 78%); }
.brand-name { font-size:12px; font-weight:850; letter-spacing:.2em; }
.brand-os { color:#a7a1cf; font-weight:450; margin-left:3px; }
.topbar-divider { height:17px; width:1px; background:rgba(220,217,255,.2); }
.edition { font-size:11px; color:var(--sub); letter-spacing:.05em; }
.engine-state { font-size:11px; color:var(--sub); display:flex; align-items:center; gap:8px; white-space:nowrap; }
.state-dot { width:7px; height:7px; border-radius:50%; background:#8fdcc5;
  box-shadow:0 0 12px rgba(137,224,194,.7); }
.boot-failed .state-dot { background:#f1afae; box-shadow:0 0 12px rgba(251,139,136,.4); }
.topbar-action { background:transparent; border:1px solid transparent; border-radius:11px;
  padding:9px; min-width:34px; height:34px; display:flex; align-items:center; justify-content:center; gap:4px;
  color:var(--ink); font-size:16px; }
.topbar-action:hover { background:rgba(223,219,255,.11); border-color:var(--stroke); }
#notice-count { font-size:10px; color:var(--mint); font-weight:750; }
.top-clock { color:var(--ink); font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.desktop-area { position:absolute; inset:58px 0 74px; overflow:hidden; }
.desktop-intro { position:absolute; top:13%; right:10%; text-align:right; user-select:none; pointer-events:none; }
.intro-eyebrow { color:#cac5e9; font-size:10px; font-weight:700; letter-spacing:.28em; }
.eyebrow-line { display:inline-block; width:25px; height:1px; vertical-align:middle; margin-right:8px; background:#a5e3d7; }
.intro-mark { margin:18px 0 7px; font-size:clamp(56px,7.6vw,118px); font-weight:850;
  letter-spacing:-.105em; line-height:1; color:#f0ebff; text-shadow:0 10px 60px #17132b;
}
.intro-mark span:first-child { color:#b0a8df; font-weight:400; letter-spacing:-.105em; }
.intro-dot { color:#9ee0cb; font-weight:900; }
.desktop-intro p { color:#bab6ce; line-height:1.6; font-size:14px; letter-spacing:.01em; margin:12px 0 22px; }
.intro-accent { font-size:10px; color:#aeabc5; letter-spacing:.2em; text-transform:uppercase; }
.intro-accent span { padding:0 8px; font-size:9px; color:#9fe1cf; }
.desktop-shortcuts { position:absolute; top:26px; left:20px; width:112px; display:flex; flex-direction:column; gap:10px; z-index:2; }
.desktop-shortcut { display:flex; flex-direction:column; align-items:center; gap:8px; color:#eeeafb;
  background:transparent; border:1px solid transparent; border-radius:14px; padding:12px 6px;
  transition:background .16s, border-color .16s; font-size:11px; }
.desktop-shortcut:hover { background:rgba(239,232,255,.1); border-color:rgba(238,225,255,.16); }
.shortcut-icon { width:52px; height:52px; border:1px solid rgba(225,215,255,.2);
  background:linear-gradient(155deg,rgba(181,174,255,.23),rgba(66,76,132,.28));
  border-radius:17px; display:grid; place-items:center; font-size:27px; color:#ded6ff;
  box-shadow:0 12px 20px rgba(3,5,14,.2),inset 0 1px 0 rgba(255,255,255,.15); }
.shortcut-name { text-shadow:0 2px 9px #080918; font-weight:600; }
.bottom-bar { position:absolute; inset:auto 0 0; height:74px; display:flex; justify-content:center; align-items:center; z-index:120; }
.bottom-caption,.bottom-label { position:absolute; bottom:23px; font-size:9px; letter-spacing:.22em; font-weight:700; color:#b5b2ce; }
.bottom-caption { left:30px; display:flex; align-items:center; gap:10px; }
.bottom-caption-dot { width:6px; height:6px; background:var(--mint); border-radius:50%; }
.bottom-label { right:30px; }
.dock { display:flex; gap:7px; padding:9px 11px; align-items:center; transform:translateY(-7px);
  border-radius:19px; border:1px solid rgba(244,233,255,.22);
  background:rgba(26,27,52,.79); backdrop-filter:blur(32px);
  box-shadow:0 20px 60px rgba(1,4,14,.36),inset 0 1px 0 rgba(255,255,255,.1); }
.dock-button { position:relative; height:43px; width:43px; color:var(--ink); font-size:23px;
  background:rgba(219,211,255,.09); border:1px solid transparent;
  border-radius:13px; transition:transform .15s,background .15s; }
.dock-button:hover { transform:translateY(-4px); background:rgba(220,211,255,.22); }
.dock-button.is-running::after { content:""; position:absolute; bottom:-5px; left:calc(50% - 2px);
  width:4px; height:4px; border-radius:50%; background:var(--mint); }
.dock-launcher { color:#191e32; background:linear-gradient(140deg,#a6e4d8,#b8b4fb); font-size:26px; }
.dock-separator { width:1px; height:27px; background:rgba(225,224,255,.18); margin:0 3px; }
.dock-info { font-size:29px; color:#b5dcd5; }
.windows-layer { position:absolute; inset:0; z-index:10; pointer-events:none; }
.os-window { position:absolute; min-width:320px; min-height:240px; overflow:hidden;
  display:flex; flex-direction:column; pointer-events:auto; border-radius:19px;
  border:1px solid rgba(232,225,255,.22);
  background:var(--glass); backdrop-filter:blur(45px) saturate(120%);
  box-shadow:0 22px 90px rgba(2,4,16,.5),0 1px 0 rgba(255,255,255,.06) inset; }
.window-header { height:54px; flex-shrink:0; display:flex; align-items:center; justify-content:space-between;
  padding:0 15px 0 20px; border-bottom:1px solid var(--stroke);
  background:rgba(255,255,255,.018); user-select:none; cursor:grab; touch-action:none; }
.window-header:active { cursor:grabbing; }
.window-title { display:flex; align-items:center; gap:10px; font-weight:650; font-size:12px; letter-spacing:.02em; }
.window-app-dot { background:linear-gradient(130deg,#92e1cd,#c0b7f6); width:26px;height:26px;
  border-radius:8px; display:grid; place-items:center; color:#1c1c35; font-size:15px; }
.window-actions { display:flex; gap:5px; }
.window-control { width:29px;height:29px;border:0;border-radius:9px;background:transparent;
  color:var(--sub);font-size:18px;display:grid;place-items:center;line-height:1; }
.window-control:hover { color:var(--ink); background:rgba(220,211,255,.14); }
.close-control:hover { color:#fff; background:#bc5875; }
.window-content { padding:29px 32px 26px; overflow:auto; flex:1; scrollbar-color:rgba(181,170,221,.28) transparent;
  scrollbar-width:thin; }
.window-resize { position:absolute; bottom:1px;right:1px;width:22px;height:22px;
  cursor:nwse-resize; touch-action:none; opacity:.8;
  background:linear-gradient(135deg,transparent 61%,rgba(213,207,248,.5) 62%,transparent 67%,
    transparent 75%,rgba(213,207,248,.5) 76%,transparent 81%); }
.app-eyebrow { color:var(--mint);font-size:10px;letter-spacing:.22em;font-weight:800; }
.welcome-hero { padding-top:14px; }
.welcome-orb { display:grid;place-items:center;height:70px;width:70px;font-size:35px;font-weight:850;
  border-radius:22px;background:linear-gradient(135deg,#9de2d5,#bcb4ff);color:#24243c;
  box-shadow:0 15px 38px rgba(149,130,219,.19);margin-bottom:15px; }
.welcome-hero h1 { font-size:clamp(23px,3vw,34px);font-weight:750;letter-spacing:-.055em;line-height:1.13;margin:0 0 10px; }
.welcome-hero p,.panel-subtitle { color:var(--sub);font-size:13px;line-height:1.75;max-width:535px;margin:0; }
.welcome-actions { display:flex; gap:9px;flex-wrap:wrap;margin-top:24px; }
.primary-button,.outline-button { border-radius:10px;border:1px solid transparent;padding:12px 15px;
  font-size:12px;font-weight:750; }
.primary-button { color:#1e2038;background:linear-gradient(115deg,#a3e4d8,#c5baff); }
.primary-button:hover { filter:brightness(1.08); }
.outline-button { background:rgba(232,228,255,.07);border-color:var(--stroke);color:var(--ink); }
.outline-button:hover { background:rgba(232,228,255,.15); }
.feature-strip { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--stroke);
  gap:12px;margin-top:28px;padding-top:20px; }
.feature-item { display:flex; flex-direction:column;gap:6px; }
.feature-item>span { color:var(--mint);font-size:21px;line-height:1; }
.feature-item strong { font-size:11px;color:var(--ink); }
.feature-item small { color:var(--muted);font-size:10px;line-height:1.4; }
.panel-title {font-size:27px;letter-spacing:-.045em;margin:12px 0 9px; }
.system-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:24px 0 27px; }
.metric-card {padding:18px 14px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--stroke);
  border-radius:13px;background:rgba(215,208,255,.055); }
.metric-card small {font-size:9px;letter-spacing:.15em;color:var(--sub);font-weight:800; }
.metric-card strong {font-size:20px;line-height:1.2;letter-spacing:-.035em; }
.section-heading {font-size:12px;letter-spacing:.03em;margin:0 0 14px; }
.capability-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:8px; }
.capability-line {display:flex;gap:8px;align-items:center;color:var(--sub);
  font-size:11px;text-transform:capitalize;padding:9px 12px;border:1px solid var(--stroke);border-radius:9px; }
.cap-yes {color:#a5ebcb}.cap-no {color:#9d94b7}
.empty-caption {color:var(--muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere; }
.theme-picker {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:25px; }
.theme-choice {display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;
  padding:13px;background:rgba(220,210,255,.05);border:1px solid var(--stroke);border-radius:14px;color:var(--ink); }
.theme-choice.selected {border-color:var(--mint);box-shadow:inset 0 0 0 1px rgba(160,229,216,.18); }
.theme-swatch {height:100px;width:100%;border-radius:9px;
  background:radial-gradient(circle at 67% 17%,#665c9e,transparent 58%),linear-gradient(135deg,#0b1124,#342e50); }
.theme-daylight .theme-swatch {background:radial-gradient(circle at 67% 17%,#eae2fe,transparent 58%),linear-gradient(135deg,#a4becb,#f4e7fb);}
.theme-choice strong {font-size:13px}.theme-choice small {font-size:11px;color:var(--sub);}
.preview-note {border-top:1px solid var(--stroke);padding-top:18px;margin-top:30px;color:var(--sub);
  line-height:1.65;font-size:12px; }
.guide-list {display:grid;gap:8px;margin-top:22px; }
.guide-item {border:1px solid var(--stroke);border-radius:10px;padding:14px 16px;background:rgba(220,212,255,.045); }
.guide-item strong {font-size:12px}.guide-item p {color:var(--sub);font-size:11px;margin:7px 0 0;line-height:1.55;}
.floating-panel {position:absolute;bottom:15px;z-index:60;width:min(370px,calc(100vw - 30px));
  max-height:min(550px,calc(100vh - 160px));overflow:auto;border-radius:19px;
  background:var(--glass);border:1px solid rgba(223,213,255,.24);backdrop-filter:blur(45px);
  box-shadow:0 20px 70px rgba(3,5,16,.48); }
.launcher-panel {left:calc(50% - 180px);padding:20px; }
.notice-panel {right:28px;padding:20px; }
.panel-heading {display:flex;justify-content:space-between;align-items:center;color:var(--ink);
  font-size:11px;letter-spacing:.19em;font-weight:850; }
.panel-kicker {color:var(--muted);font-size:10px;letter-spacing:.04em;font-weight:500; }
.launcher-search {border:1px solid var(--stroke);border-radius:11px;padding:14px;
  color:var(--sub);font-size:12px;background:rgba(226,220,255,.05);margin:20px 0 15px; }
.launcher-apps {display:grid;gap:5px; }
.launcher-app {display:flex;align-items:center;gap:13px;border:0;background:transparent;width:100%;
  text-align:left;color:var(--ink);border-radius:11px;padding:10px; }
.launcher-app:hover {background:rgba(231,222,255,.09); }
.launcher-app-icon {height:43px;width:43px;flex-shrink:0;background:rgba(170,161,245,.16);
  border:1px solid var(--stroke);border-radius:12px;display:grid;place-items:center;font-size:23px; }
.launcher-app-words {display:flex;flex:1;flex-direction:column;gap:4px; }
.launcher-app-words strong {font-size:12px}.launcher-app-words small{font-size:10px;color:var(--sub);}
.launcher-chevron {color:var(--muted);font-size:14px; }
.panel-footer {font-size:10px;color:var(--muted);border-top:1px solid var(--stroke);padding-top:14px;margin-top:16px; }
.text-button {border:0;background:transparent;color:var(--mint);font-size:11px;letter-spacing:0; }
.notice-list {display:grid;gap:9px;margin-top:19px;}
.notice-item {border:1px solid var(--stroke);border-radius:12px;padding:15px;background:rgba(207,199,255,.06); }
.notice-heading {display:flex;justify-content:space-between;align-items:center;gap:6px; }
.notice-heading strong {font-size:12px}.notice-heading time {font-size:10px;color:var(--muted);}
.notice-item p,.notice-empty {font-size:11px;line-height:1.6;color:var(--sub);margin:8px 0 0;overflow-wrap:anywhere;}
.lock-screen {position:absolute;inset:0;z-index:200;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  background:radial-gradient(circle at 50% 33%,rgba(85,78,146,.32),transparent 55%),
    rgba(10,13,28,.94);backdrop-filter:blur(35px); }
.lock-mark {width:75px;height:75px;display:grid;place-items:center;border:1px solid rgba(219,211,255,.25);
  background:linear-gradient(145deg,rgba(232,221,255,.2),rgba(111,124,181,.11));border-radius:23px;
  font-size:38px;font-weight:850;letter-spacing:-.09em;box-shadow:0 14px 40px rgba(0,0,0,.15); }
.lock-mark span {color:#a4e6d8;}.lock-eyebrow {font-size:10px;letter-spacing:.25em;margin:25px 0 6px;color:#bcb4d7;font-weight:700;}
.lock-time {font-size:clamp(66px,12vw,125px);font-weight:300;letter-spacing:-.075em;line-height:1.16;}
.lock-date {font-size:16px;color:#c6c0e1;margin-top:4px;}
.unlock-button {margin-top:32px;min-width:236px;display:flex;justify-content:space-between;gap:20px;}
.lock-disclaimer {color:#a8a3c2;font-size:11px;margin-top:17px;}
.theme-daylight { --ink:#282844;--sub:#585773;--muted:#74728d;
  --glass:rgba(252,249,255,.94);--glass-2:rgba(244,241,252,.92);
  --stroke:rgba(87,79,145,.16);--accent:#675caa;--mint:#297d73;
  background:linear-gradient(136deg,#c8dae4,#d8d1ef 48%,#f1def0); }
.theme-daylight .wallpaper::before {background:radial-gradient(ellipse,rgba(141,130,215,.4),transparent 67%);}
.theme-daylight .wallpaper-orbit{border-color:rgba(90,75,153,.17);}
.theme-daylight .topbar{background:rgba(254,254,255,.47);border-color:rgba(96,84,148,.16);}
.theme-daylight .intro-mark{color:#36304f;text-shadow:none;}
.theme-daylight .intro-mark span:first-child{color:#7b6fa6;}
.theme-daylight .intro-eyebrow,.theme-daylight .desktop-intro p,
.theme-daylight .intro-accent,.theme-daylight .bottom-caption,.theme-daylight .bottom-label {color:#544b78;}
.theme-daylight .desktop-shortcut{color:#3c3557;}
.theme-daylight .shortcut-name{text-shadow:none;}
.theme-daylight .shortcut-icon {color:#524684;border-color:rgba(89,78,146,.16);
  background:linear-gradient(145deg,rgba(248,248,255,.73),rgba(200,199,235,.57));}
.theme-daylight .dock{background:rgba(245,243,255,.78);border-color:rgba(108,99,168,.2);}
.theme-daylight .dock-button{color:#3e3764;background:rgba(130,118,193,.12);}
.theme-daylight .dock-launcher{color:#243d42;background:linear-gradient(135deg,#8fdbc9,#bcb6f1);}
.theme-daylight .os-window{border-color:rgba(84,77,133,.23);box-shadow:0 20px 80px rgba(55,45,99,.19);}
.theme-daylight .lock-screen {color:#f5f3ff;}
@media (max-width: 800px) {
  .topbar{padding:0 13px;height:54px}.edition,.topbar-divider,.bottom-caption,.bottom-label {display:none;}
  .topbar-brand{gap:9px}.topbar-right{gap:6px}.engine-state {font-size:10px;}
  .desktop-area{top:54px;bottom:72px;}.desktop-intro{right:6%;top:8%;}
  .intro-mark{font-size:clamp(50px,11vw,82px);}
  .desktop-intro p {font-size:12px;}
  .desktop-shortcuts{top:14px;left:6px;width:74px;gap:2px;}
  .desktop-shortcut{padding:9px 3px;font-size:10px;gap:5px;}
  .shortcut-icon{height:40px;width:40px;font-size:21px;border-radius:13px;}
  .os-window{max-width:calc(100vw - 12px);border-radius:15px;}
  .window-content{padding:21px 20px;}
  .launcher-panel{left:50%;transform:translateX(-50%);}
  .notice-panel{right:12px;}
}
@media (max-width: 540px) {
  .brand-name{font-size:10px;letter-spacing:.12em;}
  .engine-state{max-width:74px;overflow:hidden;text-overflow:ellipsis;}
  .top-clock{font-size:11px;}
  .desktop-intro{top:9%;right:7%;}
  .intro-mark{font-size:49px;}.intro-eyebrow{font-size:8px;letter-spacing:.12em;}
  .desktop-intro p{font-size:11px;}
  .intro-accent{font-size:8px;letter-spacing:.08em;}
  .desktop-shortcuts{top:42%;flex-direction:row;width:100%;left:0;justify-content:space-evenly;padding:0 9px;gap:2px;}
  .desktop-shortcut {width:25%;}
  .os-window{left:6px!important;top:8px!important;width:calc(100vw - 12px)!important;
    height:calc(100dvh - 155px)!important;min-width:0;}
  .window-resize{display:none;}
  .feature-strip{gap:6px}.feature-item strong{font-size:10px}.feature-item small{font-size:9px;}
  .system-cards {gap:6px}.metric-card {padding:12px 9px}.metric-card strong{font-size:15px;}
  .capability-grid{grid-template-columns:1fr;}
  .dock {gap:4px;padding:7px;}.dock-button{width:38px;height:38px;font-size:21px;}
  .theme-swatch{height:70px;}
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {transition:none!important;animation:none!important;}
}


/* Phase 5.5 — Ryzova Arc: a bottom-centered moonstone half-wheel, never a taskbar. */
.desktop-area { bottom: 96px; }
.arc-root {
  position:absolute; z-index:120; inset:auto 0 0; height:146px;
  display:flex; justify-content:center; pointer-events:none;
}
.arc-wheel { position:relative; width:min(340px,100vw); height:146px; pointer-events:auto; }
.arc-half-ring {
  position:absolute; left:50%; bottom:-6px; transform:translateX(-50%);
  width:265px; height:132px; border:1px solid rgba(191,200,255,.5);
  border-bottom:0; border-radius:140px 140px 0 0;
  background:radial-gradient(ellipse at 50% 100%,rgba(129,113,207,.26),rgba(23,26,52,.22) 65%,transparent 86%);
  box-shadow:0 -15px 45px rgba(97,82,199,.09),inset 0 18px 35px rgba(200,191,255,.06);
  backdrop-filter:blur(12px); pointer-events:none;
}
.arc-half-ring::after {
  content:""; position:absolute; inset:22px 24px -1px; border:1px dashed rgba(177,186,244,.24);
  border-bottom:0;border-radius:110px 110px 0 0;
}
.arc-core {
  position:absolute; left:50%;bottom:5px;transform:translateX(-50%); width:66px;height:66px;
  border:2px solid rgba(225,228,255,.7);border-radius:50%;color:#f4f0ff;font-size:32px;
  background:radial-gradient(circle at 29% 22%,#becbfd 0%,#8a89d6 34%,#504588 69%,#28264d 100%);
  box-shadow:0 8px 38px rgba(104,99,232,.37),inset 0 2px 7px rgba(255,255,255,.35);
  transition:box-shadow .18s, transform .18s;
}
.arc-core:hover,.arc-core:focus-visible {transform:translateX(-50%) scale(1.07);box-shadow:0 5px 55px rgba(144,137,248,.6);}
.arc-action {
  position:absolute;bottom:18px; padding:9px 10px; border:1px solid rgba(208,204,254,.19);
  border-radius:999px; background:rgba(20,23,46,.68);color:#e9e7ff;
  font-size:9px;letter-spacing:.11em;font-weight:750; backdrop-filter:blur(18px);
}
.arc-action:hover,.arc-action:focus-visible {background:rgba(111,99,179,.47);}
.arc-action-apps {left:2px;}.arc-action-desktops {right:0;}
.arc-orbit {position:absolute;inset:0;pointer-events:none;}
.arc-dot {
  position:absolute; transform:translate(-50%,-50%); width:35px;height:35px;
  border-radius:50%;border:1px solid rgba(202,196,250,.36);
  background:rgba(27,29,62,.91);color:#ddd8fa;
  display:grid;place-items:center;font-size:17px;
  box-shadow:0 4px 16px rgba(0,0,0,.3);pointer-events:auto;
  transition:background .14s,border-color .14s,box-shadow .14s;
}
.arc-dot:hover,.arc-dot:focus-visible,.arc-dot.is-active {
  border-color:rgba(181,241,228,.95); background:rgba(75,71,135,.95);
  box-shadow:0 0 18px rgba(148,221,220,.38);
}
.launcher-panel {
  top:16px;bottom:auto;left:50%;transform:translateX(-50%);
  width:min(720px,calc(100vw - 28px));padding:25px;
  max-height:min(72vh,650px);background:rgba(27,27,58,.73);
  animation:arc-sheet-drop .22s ease-out both;
}
.launcher-apps {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.launcher-app {background:rgba(197,189,254,.065);border:1px solid rgba(219,215,255,.1);}
@keyframes arc-sheet-drop {
  from {opacity:0;transform:translate(-50%,-22px);}
  to {opacity:1;transform:translate(-50%,0);}
}
.desktops-panel {
  left:50%;transform:translateX(-50%);bottom:12px;padding:19px;
  width:min(420px,calc(100vw - 28px));
}
.desktop-list {display:flex;flex-wrap:wrap;gap:9px;margin-top:17px;}
.desktop-choice {
  border:1px solid var(--stroke);border-radius:12px; padding:12px 15px;
  background:rgba(190,183,243,.08);color:var(--ink);
}
.desktop-choice:hover,.desktop-choice.is-active {border-color:var(--mint);background:rgba(150,206,195,.14);}
.create-desktop {color:var(--mint);}
.theme-daylight .arc-half-ring {background:radial-gradient(ellipse at 50% 100%,rgba(219,212,252,.54),rgba(232,228,249,.19) 75%,transparent 90%);}
.theme-daylight .arc-dot,.theme-daylight .arc-action {background:rgba(251,249,255,.81);color:#49436d;border-color:rgba(105,100,166,.3);}
.theme-daylight .launcher-panel {background:rgba(250,247,255,.78);}
@media (max-width:540px) {
  .arc-root,.arc-wheel {height:135px;}
  .arc-wheel {width:min(320px,100vw);}
  .arc-half-ring {width:235px;height:118px;}
  .arc-core {width:58px;height:58px;font-size:27px;}
  .arc-dot {width:33px;height:33px;}
  .launcher-apps {grid-template-columns:1fr;}
  .launcher-panel {top:8px;padding:16px;max-height:75vh;}
  .desktop-area {bottom:88px;}
}
@media (prefers-reduced-motion:reduce) { .launcher-panel {animation:none;} }


/* Phase 5.5 iteration 2: make the orbit visibly rotate, not redraw a static Dock. */
.desktop-area { bottom: 108px; }
.arc-root,.arc-wheel { height:180px; }
.arc-wheel {width:min(390px,100vw);touch-action:pan-y;}
.arc-half-ring { width:310px; height:155px; bottom:-8px;
  border-color:rgba(182,220,247,.46);
  box-shadow:0 -17px 60px rgba(112,107,230,.18),inset 0 20px 38px rgba(196,203,252,.06);
}
.arc-half-ring::after {inset:19px 19px -1px;}
.arc-dot {width:36px;height:36px;transition:left .27s cubic-bezier(.2,.75,.23,1),
 top .27s cubic-bezier(.2,.75,.23,1), border-color .16s, background .16s, box-shadow .16s;
}
.arc-dot.is-selected {transform:translate(-50%,-50%) scale(1.17);z-index:2;
 border-color:#d8fff5;background:linear-gradient(155deg,#7777b9,#363562);
 box-shadow:0 0 23px rgba(170,248,230,.52),inset 0 1px 4px rgba(255,255,255,.22);
}
.arc-dot.is-running::after {content:"";position:absolute;right:-3px;bottom:-3px;
 width:7px;height:7px;border-radius:50%;background:#9ce7d6;border:1px solid #24263d;}
.arc-readout {position:absolute;top:-13px;left:50%;transform:translateX(-50%);
 min-width:245px;max-width:calc(100vw - 20px);text-align:center;color:var(--ink);
 letter-spacing:.105em;font-size:10px;font-weight:700;text-shadow:0 2px 12px #090c1c;
 white-space:nowrap;pointer-events:none;}
.arc-action {bottom:16px;}
.arc-action-running {left:1px;}
.arc-action-apps {left:86px;}
.arc-action-desktops {right:0;}
.arc-action.is-current-mode {border-color:rgba(167,234,223,.75);
 color:var(--mint);box-shadow:0 0 15px rgba(131,212,205,.2);}
.arc-core {width:70px;height:70px;font-size:33px;
 background:radial-gradient(circle at 28% 18%,#e6e3ff,#a2a8dc 24%,#6869ae 48%,#35325f 76%,#292646 100%);
 box-shadow:0 6px 35px rgba(105,104,231,.38),inset -4px -7px 18px rgba(15,13,60,.4),
 inset 2px 3px 10px rgba(255,255,255,.48);}
.arc-core:active {transform:translateX(-50%) scale(.96);}
.arc-home-panel {left:50%;transform:translateX(-50%);bottom:104px;
 width:min(450px,calc(100vw - 24px));padding:22px;
 background:rgba(24,26,54,.86);}
.arc-home-description {font-size:12px;color:var(--sub);line-height:1.55;margin:14px 0;}
.arc-home-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.arc-home-option {background:rgba(189,187,253,.075);border:1px solid var(--stroke);
 border-radius:12px;color:var(--ink);padding:13px 12px;text-align:left;font-size:12px;}
.arc-home-option:hover {background:rgba(186,180,244,.17);border-color:var(--mint);}
.desktops-panel {bottom:104px;}
/* A translucent full-width sheet drops from the TOP, rather than opening as a Dock popover. */
.launcher-panel {left:0;top:0;bottom:auto;transform:none;width:100%;max-height:min(72vh,670px);
 padding:clamp(20px,3.5vw,45px);border-radius:0 0 28px 28px;
 background:rgba(24,25,57,.79);backdrop-filter:blur(46px);
 animation:arc-full-sheet-drop .3s cubic-bezier(.18,.8,.2,1) both;}
.launcher-apps {grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.launcher-app {min-height:95px;align-items:flex-start;flex-direction:column;}
@keyframes arc-full-sheet-drop {from{opacity:0;transform:translateY(-38px);}
 to{opacity:1;transform:translateY(0);}}
.theme-daylight .arc-home-panel,.theme-daylight .launcher-panel {
 background:rgba(251,248,255,.84);}
@media(max-width:800px){.launcher-apps{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:540px){
 .arc-root,.arc-wheel{height:154px;}
 .arc-wheel{width:min(352px,100vw);}
 .arc-half-ring{width:265px;height:130px;}
 .arc-dot{width:34px;height:34px;}
 .arc-action {font-size:8px;padding:9px 7px;bottom:11px;}
 .arc-action-running{left:5px;}
 .arc-action-apps{left:81px;}
 .arc-action-desktops{right:4px;}
 .arc-readout {top:-8px;font-size:9px;}
 .desktop-area {bottom:98px;}
 .arc-home-panel,.desktops-panel {bottom:65px;}
 .launcher-panel {top:0;padding:20px 13px;max-height:76vh;}
 .launcher-apps {grid-template-columns:repeat(2,minmax(0,1fr));}
 .launcher-app{min-height:84px;}
}
@media(prefers-reduced-motion:reduce){.launcher-panel{animation:none;}}
