
/* ===== assets/css/tokens.css ===== */
:root{
  --bg:#d9d9d1;--paper:#eceae0;--paper-2:#e3e3d9;--paper-3:#d7d9d0;--ink:#20241f;--muted:#6b7169;--quiet:#949990;
  --line:#b8bbb2;--line-strong:#969d94;--blue:#627fa1;--cyan:#6f9aa1;--green:#748d69;--yellow:#c3a55b;--red:#aa625a;--violet:#88779a;
  --blue-soft:#cbd4df;--cyan-soft:#c9dada;--green-soft:#cad7c3;--yellow-soft:#e4d8b5;--red-soft:#dfc8c2;--violet-soft:#d8cfdf;
  --good:#708c69;--warn:#aa8952;--danger:#9b5d56;--surface-alpha:rgba(236,234,224,.9);
  --rail:86px;--top:68px;--radius:10px;--radius-sm:6px;--shadow:8px 8px 0 rgba(35,39,34,.07);--shadow-lg:15px 15px 0 rgba(35,39,34,.1);
  --ease:cubic-bezier(.2,.78,.18,1);--ui-scale:1;--content:1660px;
  color-scheme:light;
}
body[data-theme="paper"]{
  --bg:#ddd7ca;--paper:#f3efe5;--paper-2:#ebe5d9;--paper-3:#ddd8cd;--ink:#252520;--muted:#6d6b63;--quiet:#989385;
  --line:#beb7aa;--line-strong:#9f988c;--blue:#7c8b99;--cyan:#7c9492;--green:#818d74;--yellow:#b39c65;--red:#a6786a;--violet:#8e8397;
  --blue-soft:#d8dfe3;--cyan-soft:#d9e1df;--green-soft:#dce2d5;--yellow-soft:#e6decb;--red-soft:#e5d7d1;--violet-soft:#ddd8e3;
  --surface-alpha:rgba(243,239,229,.94);--shadow:8px 8px 0 rgba(35,39,34,.05);--shadow-lg:15px 15px 0 rgba(35,39,34,.08);color-scheme:light;
}
body[data-theme="graphite"]{
  --bg:#1e231e;--paper:#2a3029;--paper-2:#313731;--paper-3:#3a4138;--ink:#efeee7;--muted:#b1b6ae;--quiet:#889087;
  --line:#525a51;--line-strong:#69726a;--blue:#91aac7;--cyan:#8db9bf;--green:#96ad8b;--yellow:#d3b979;--red:#c9847c;--violet:#ad9bbd;
  --blue-soft:#394452;--cyan-soft:#394f50;--green-soft:#3d4a3a;--yellow-soft:#554d35;--red-soft:#523f3b;--violet-soft:#4c4251;
  --surface-alpha:rgba(42,48,41,.92);--shadow:8px 8px 0 rgba(0,0,0,.12);--shadow-lg:15px 15px 0 rgba(0,0,0,.2);color-scheme:dark;
}
body[data-theme="color"]{--bg:#d7d8cf;--paper:#eceadf;--paper-2:#e5e4da;--paper-3:#d9dad1;}
body[data-density="compact"]{--top:58px;--radius:7px}
body[data-motion="low"] *,body[data-motion="low"] *::before,body[data-motion="low"] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* ===== assets/css/base.css ===== */
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);font-family:"Segoe UI Variable Text","Segoe UI",Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:calc(14px * var(--ui-scale));overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,video,canvas,svg{max-width:100%}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.16;background-image:radial-gradient(circle,rgba(25,27,24,.3) 0 .44px,transparent .72px),linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:4px 4px,100% 35px;mix-blend-mode:multiply}body::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:var(--ink);opacity:0}body.ink-refresh::after{animation:ink-refresh .34s steps(3,end)}@keyframes ink-refresh{0%{opacity:0}24%{opacity:.14}46%{opacity:.02}68%{opacity:.07}100%{opacity:0}}
.hidden{display:none!important}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.muted{color:var(--muted)}.quiet{color:var(--quiet)}.eyebrow{font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.page-title{font-size:clamp(28px,3.4vw,52px);line-height:.98;letter-spacing:-.045em;margin:6px 0 8px;font-weight:640}.lede{max-width:760px;color:var(--muted);font-size:14px;line-height:1.6}.row{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;position:relative;overflow:hidden}.card.flat{box-shadow:none}.card.ink-blue{background:linear-gradient(135deg,var(--paper),var(--blue-soft))}.card.ink-cyan{background:linear-gradient(135deg,var(--paper),var(--cyan-soft))}.card.ink-green{background:linear-gradient(135deg,var(--paper),var(--green-soft))}.card.ink-yellow{background:linear-gradient(135deg,var(--paper),var(--yellow-soft))}.card.ink-red{background:linear-gradient(135deg,var(--paper),var(--red-soft))}.card.ink-violet{background:linear-gradient(135deg,var(--paper),var(--violet-soft))}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.card h2,.card h3{margin:0}.card h2{font-size:17px}.card h3{font-size:13px}.btn{height:38px;border:1px solid var(--line-strong);background:var(--paper);border-radius:var(--radius-sm);padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s var(--ease)}.btn:hover{background:var(--paper-2);transform:translateY(-1px)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.good{background:var(--green-soft);border-color:var(--green)}.btn.danger{background:var(--red-soft);border-color:var(--red)}.btn.icon{width:38px;padding:0}.btn svg{width:17px;height:17px}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line);border-radius:999px;font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--paper)}.dot{width:7px;height:7px;border-radius:50%;background:var(--green)}.input,.select,.textarea{width:100%;border:1px solid var(--line);background:var(--paper-2);border-radius:var(--radius-sm);padding:10px 11px;outline:none}.textarea{min-height:120px;resize:vertical}.toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.divider{height:1px;background:var(--line);margin:12px 0}.kpi{font-size:30px;letter-spacing:-.04em}.small{font-size:11px}.tiny{font-size:9px}.progress{height:7px;background:var(--paper-3);border:1px solid var(--line);overflow:hidden}.progress>span{display:block;height:100%;background:var(--ink)}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);background:var(--paper-2)}.skeleton{position:relative;overflow:hidden;background:var(--paper-3);border:1px solid var(--line)}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);animation:shimmer 1.25s infinite}@keyframes shimmer{100%{transform:translateX(100%)}}.toast-host{position:fixed;right:14px;bottom:14px;z-index:3000;display:flex;flex-direction:column;gap:8px}.toast{max-width:330px;padding:11px 13px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow);font-size:11px;animation:toast-in .2s var(--ease)}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.file-drop{border:1px dashed var(--line-strong);background:var(--paper-2);padding:22px;text-align:center;border-radius:var(--radius)}.file-drop.drag{background:var(--yellow-soft);border-color:var(--yellow)}.table-wrap{overflow:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:var(--paper)}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}th{font:800 9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);background:var(--paper-2)}.app-note{font-size:10px;line-height:1.55;color:var(--muted);padding:10px;border-left:3px solid var(--yellow);background:var(--yellow-soft)}
@media(max-width:900px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}}@media(max-width:560px){.grid-4,.grid-3{grid-template-columns:1fr}.card{padding:13px}.page-title{font-size:34px}.btn{min-height:40px}}

@view-transition{navigation:auto}::view-transition-old(root){animation:.16s ease both fade-old}::view-transition-new(root){animation:.24s var(--ease) both fade-new}@keyframes fade-old{to{opacity:0;filter:grayscale(.25)}}@keyframes fade-new{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}


/* v1.6 theme and type refinements */
body{font-size:calc(15px * var(--ui-scale));}
.eyebrow{font-size:10px;line-height:1.1}
.page-title{font-size:clamp(26px,2.5vw,40px);line-height:1.02;letter-spacing:-.042em;margin:4px 0 4px;font-weight:670}
.lede{max-width:920px;font-size:15px;line-height:1.68}
body::before{opacity:var(--paper-grain,.14);background-image:var(--paper-texture);background-size:var(--paper-texture-size,4px 4px),var(--paper-line-size,100% 35px);background-repeat:repeat,repeat;mix-blend-mode:var(--paper-blend,multiply)}
body[data-theme="color"]{--paper-grain:.16;--paper-texture:radial-gradient(circle,rgba(25,27,24,.28) 0 .42px,transparent .72px),linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px);--paper-texture-size:4px 4px,100% 35px;--paper-line-size:4px 4px,100% 35px;--paper-blend:multiply}
body[data-theme="paper"]{--paper-grain:.08;--paper-texture:linear-gradient(rgba(80,76,66,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);--paper-texture-size:100% 34px,34px 100%;--paper-line-size:100% 34px,34px 100%;--paper-blend:multiply}
body[data-theme="graphite"]{--paper-grain:.055;--paper-texture:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);--paper-texture-size:100% 36px,36px 100%;--paper-line-size:100% 36px,36px 100%;--paper-blend:screen}
.card h2{font-size:18px}.card h3{font-size:14px}
@media(max-width:560px){.page-title{font-size:30px}.lede{font-size:14px}}

/* ===== assets/css/shell.css ===== */
.preboot{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;background:var(--bg);transition:opacity .36s var(--ease),visibility .36s}.preboot.done{opacity:0;visibility:hidden}.boot-mark{width:min(360px,78vw)}.boot-logo{width:54px;height:54px;border:1px solid var(--line-strong);background:var(--paper);display:grid;place-items:center;margin-bottom:18px;position:relative}.boot-logo::before,.boot-logo::after{content:"";position:absolute;background:var(--ink)}.boot-logo::before{width:25px;height:2px}.boot-logo::after{height:25px;width:2px}.boot-title{font-size:25px;letter-spacing:-.04em}.boot-line{height:5px;margin-top:16px;background:var(--paper-3);overflow:hidden;border:1px solid var(--line)}.boot-line span{display:block;width:42%;height:100%;background:var(--ink);animation:bootline .85s infinite alternate var(--ease)}@keyframes bootline{to{transform:translateX(138%)}}
.shell{min-height:100dvh;display:grid;grid-template-columns:var(--rail) minmax(0,1fr)}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:100;background:color-mix(in srgb,var(--paper) 94%,transparent);border-right:1px solid var(--line);padding:12px 9px;display:flex;flex-direction:column;align-items:center;gap:5px;overflow-y:auto;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.brand{width:52px;height:52px;flex:0 0 auto;border:1px solid var(--line-strong);display:grid;place-items:center;background:var(--paper);position:relative;margin-bottom:10px}.brand::before,.brand::after{content:"";position:absolute;background:var(--ink)}.brand::before{width:23px;height:2px}.brand::after{height:23px;width:2px}.brand i{width:7px;height:7px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);z-index:2}.rail-group{width:100%;padding:8px 0 4px;text-align:center;font:800 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--quiet);letter-spacing:.13em}.rail-link{width:60px;min-height:52px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;flex:0 0 auto}.rail-link svg{width:18px;height:18px}.rail-link span{font:800 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.rail-link:hover{background:var(--paper-2);border-color:var(--line)}.rail-link.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.rail-link.active::before{content:"";position:absolute;left:-11px;width:3px;height:26px;background:var(--ink)}.rail-spacer{flex:1}.workspace{grid-column:2;min-width:0}.topbar{height:var(--top);position:sticky;top:0;z-index:90;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(9px);border-bottom:1px solid var(--line);padding:0 18px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,540px) minmax(220px,1fr);gap:14px;align-items:center}.crumb{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--muted)}.crumb strong{color:var(--ink)}.global-search{height:42px;border:1px solid var(--line);background:var(--paper);display:flex;align-items:center;gap:8px;padding:0 10px;border-radius:var(--radius-sm)}.global-search svg{width:17px}.global-search input{min-width:0;flex:1;border:0;outline:0;background:transparent}.kbd{font:800 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;padding:4px 6px;border:1px solid var(--line);color:var(--muted)}.top-actions{justify-self:end;display:flex;gap:6px}.page{max-width:var(--content);margin:0 auto;padding:24px 22px 58px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:8px 0 22px}.page-actions{display:flex;gap:7px;flex-wrap:wrap}.command-backdrop{position:fixed;inset:0;z-index:1500;background:rgba(25,28,24,.28);display:none;padding:11vh 14px}.command-backdrop.open{display:block}.command-panel{max-width:700px;margin:auto;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow-lg);overflow:hidden}.command-input{height:58px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--line)}.command-input input{flex:1;border:0;outline:0;background:transparent;font-size:16px}.command-results{max-height:52vh;overflow:auto;padding:7px}.command-item{width:100%;border:1px solid transparent;background:transparent;padding:10px;display:flex;align-items:center;gap:10px;text-align:left}.command-item:hover,.command-item.active{background:var(--paper-2);border-color:var(--line)}.command-item svg{width:17px}.command-item b{font-size:11px}.command-item small{display:block;color:var(--muted);margin-top:2px}.notification-drawer,.quick-panel{position:fixed;right:14px;top:calc(var(--top) + 8px);z-index:1200;width:330px;max-height:72vh;overflow:auto;background:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow-lg);padding:14px;display:none}.notification-drawer.open,.quick-panel.open{display:block}.notice{padding:10px 0;border-bottom:1px solid var(--line)}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.quick-grid .btn{height:64px;flex-direction:column;font-size:9px}.statusbar{position:fixed;bottom:0;left:var(--rail);right:0;height:28px;z-index:80;border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper) 95%,transparent);display:flex;align-items:center;justify-content:space-between;padding:0 14px;font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}.offline-banner{position:fixed;top:7px;left:50%;transform:translate(-50%,-160%);z-index:4000;background:var(--ink);color:var(--paper);padding:7px 10px;font:800 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;transition:.2s}.offline-banner.show{transform:translate(-50%,0)}
@media(max-width:920px){.shell{display:block;padding-bottom:76px}.rail{top:auto;right:0;width:auto;height:70px;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:0;border-top:1px solid var(--line);padding:7px 8px;gap:3px;justify-content:flex-start}.brand,.rail-group,.rail-spacer{display:none}.rail-link{min-width:60px;width:60px;min-height:54px}.rail-link.active::before{left:50%;top:-8px;width:26px;height:3px;transform:translateX(-50%)}.workspace{margin:0}.topbar{grid-template-columns:minmax(0,1fr) auto;padding:0 10px}.crumb{display:none}.global-search{grid-column:1}.top-actions{grid-column:2}.statusbar{left:0;bottom:70px}.page{padding:18px 12px 96px}.page-head{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.notification-drawer,.quick-panel{top:calc(var(--top) + 6px);right:8px;left:8px;width:auto}.top-actions .label-hide{display:none}}
@media(max-width:560px){.top-actions .optional{display:none}.global-search .kbd{display:none}.rail-link span{font-size:6.5px}.page{padding-inline:9px}}


/* v1.6 layout refinements */
.topbar{grid-template-columns:minmax(180px,1fr) minmax(280px,640px) minmax(220px,1fr)}
.crumb{font-size:13px}
.page{max-width:var(--content);padding:18px 24px 58px}
.page-head{margin:4px 0 18px}
.page-head.compact{align-items:center;gap:12px;margin:2px 0 14px}
.page-head.compact .page-copy{display:flex;align-items:center;gap:12px;min-width:0}
.page-head.compact .eyebrow{margin:0;flex:0 0 auto}
.page-head.compact .page-title{font-size:clamp(20px,2vw,26px);margin:0;line-height:1.05}
.page-head.compact .lede,.page-head.compact .page-meta{display:none}
@media(max-width:920px){.page{padding:14px 12px 96px}.page-head,.page-head.compact{align-items:flex-start;flex-direction:column}.page-head.compact .page-copy{flex-direction:column;align-items:flex-start;gap:6px}}

/* ===== assets/css/apps.css ===== */
/* Desk */.desk-canvas{min-height:650px;border:1px solid var(--line);background:radial-gradient(circle at 1px 1px,var(--line) 1px,transparent 1.4px),var(--paper-2);background-size:22px 22px;position:relative;overflow:hidden;border-radius:var(--radius)}.desk-object{position:absolute;width:260px;min-height:145px;background:var(--paper);border:1px solid var(--line-strong);box-shadow:var(--shadow);padding:14px;touch-action:none;user-select:none}.desk-object[data-kind="book"]{left:3%;top:7%;background:var(--yellow-soft)}.desk-object[data-kind="agenda"]{left:35%;top:6%;background:var(--cyan-soft)}.desk-object[data-kind="note"]{right:4%;top:8%;background:var(--green-soft)}.desk-object[data-kind="media"]{left:8%;top:46%;background:var(--red-soft)}.desk-object[data-kind="focus"]{left:41%;top:46%;background:var(--violet-soft)}.desk-object[data-kind="context"]{right:5%;top:46%;background:var(--blue-soft)}.desk-object .grab{position:absolute;right:8px;top:8px;color:var(--muted)}.app-launcher{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.app-tile{min-height:90px;border:1px solid var(--line);background:var(--paper);padding:11px;display:flex;flex-direction:column;justify-content:space-between}.app-tile svg{width:20px}.app-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
/* Flow */.kanban{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:10px;overflow:auto}.kanban-col{background:var(--paper-2);border:1px solid var(--line);padding:10px;min-height:380px}.task{background:var(--paper);border:1px solid var(--line-strong);padding:11px;margin-bottom:8px}.task.dragging{opacity:.5}.task-tags{display:flex;gap:4px;margin-top:9px}.focus-ring{width:190px;aspect-ratio:1;border-radius:50%;border:10px solid var(--paper-3);display:grid;place-items:center;position:relative;margin:auto}.focus-ring::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:10px solid var(--violet);clip-path:polygon(0 0,100% 0,100% 55%,0 55%)}.focus-time{font-size:34px;letter-spacing:-.06em}
/* Reader */.reader-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:12px}.reader-library{border:1px solid var(--line);background:var(--paper);padding:10px}.book-card{padding:10px;border:1px solid transparent;margin-bottom:7px}.book-card.active,.book-card:hover{background:var(--yellow-soft);border-color:var(--yellow)}.reader-stage{min-height:680px;background:var(--paper);border:1px solid var(--line);padding:32px;position:relative}.reader-page{max-width:740px;margin:auto;font:18px/1.88 Georgia,serif}.reader-page h1{font-family:inherit;font-size:36px}.reader-tools{position:sticky;top:calc(var(--top) + 8px);z-index:5;display:flex;gap:5px;justify-content:flex-end;margin-bottom:10px}.comic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.comic-panel{min-height:220px;border:1px solid var(--ink);background:var(--yellow-soft);padding:12px;position:relative;overflow:hidden}.comic-panel:nth-child(2){background:var(--cyan-soft)}.comic-panel:nth-child(3){background:var(--red-soft)}.comic-panel:nth-child(4){background:var(--green-soft)}.speech{background:var(--paper);border:1px solid var(--ink);border-radius:50%;padding:10px 14px;display:inline-block;max-width:75%;font:12px/1.3 "Segoe UI",sans-serif}.epub-view,.pdf-view{height:650px;border:1px solid var(--line);background:var(--paper-2);overflow:auto}.pdf-view canvas{display:block;margin:12px auto;box-shadow:var(--shadow)}
/* Editor */.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:10px}.editor-pane,.preview-pane{min-height:650px;border:1px solid var(--line);background:var(--paper);overflow:hidden}.editor-toolbar{padding:8px;border-bottom:1px solid var(--line);display:flex;gap:5px;flex-wrap:wrap}.editor-area{height:590px}.markdown-input{width:100%;height:100%;border:0;outline:0;resize:none;background:var(--paper);padding:18px;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.markdown-preview{padding:22px;overflow:auto;height:100%;line-height:1.65}.markdown-preview pre{background:var(--paper-2);padding:12px;overflow:auto}.code-host{width:100%;height:100%}.mermaid-preview{padding:18px;overflow:auto;height:100%}
/* Office */.office-tabs{display:flex;gap:6px;overflow:auto;margin-bottom:10px}.office-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:10px}.office-side{background:var(--paper);border:1px solid var(--line);padding:12px}.office-stage{min-height:620px;background:var(--paper);border:1px solid var(--line);padding:16px;overflow:auto}.docx-preview{max-width:800px;margin:auto;line-height:1.6}.sheet-grid td{min-width:120px}.sheet-grid td[contenteditable]{outline:none}.slide-card{aspect-ratio:16/9;border:1px solid var(--line-strong);background:var(--paper-2);margin:0 auto 14px;max-width:760px;padding:28px;box-shadow:var(--shadow)}
/* Media */.media-player{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:12px}.media-player video{width:100%;max-height:560px;background:#111}.wave-host{height:120px;background:var(--paper-2);border:1px solid var(--line);margin-top:10px}.playlist .list-item{cursor:pointer}.playlist .active{background:var(--red-soft)}
/* Gallery */.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.gallery-item{aspect-ratio:1;overflow:hidden;border:1px solid var(--line);background:var(--paper-2);position:relative}.gallery-item img,.gallery-item svg{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.96)}.gallery-meta{position:absolute;inset:auto 5px 5px;background:var(--paper);border:1px solid var(--line);padding:5px 7px;font-size:8px}.lightbox{position:fixed;inset:0;z-index:1800;background:rgba(18,20,18,.84);display:none;place-items:center;padding:20px}.lightbox.open{display:grid}.lightbox img{max-height:86vh;max-width:92vw;background:var(--paper);padding:7px}.lightbox-close{position:absolute;top:14px;right:14px}
/* Files */.files-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px}.file-tree{border:1px solid var(--line);background:var(--paper);padding:10px}.tree-item{padding:8px;border:1px solid transparent}.tree-item:hover,.tree-item.active{background:var(--blue-soft);border-color:var(--blue)}.file-browser{border:1px solid var(--line);background:var(--paper);min-height:570px}.file-preview{margin-top:10px;min-height:220px}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:10px}.file-card{border:1px solid var(--line);background:var(--paper-2);padding:12px;min-height:110px}.file-card svg{width:26px;margin-bottom:12px}
/* Calendar */.calendar-host{min-height:680px;background:var(--paper);border:1px solid var(--line);padding:10px}.fc{--fc-border-color:var(--line);--fc-page-bg-color:var(--paper);--fc-neutral-bg-color:var(--paper-2);--fc-list-event-hover-bg-color:var(--paper-2);--fc-today-bg-color:var(--yellow-soft);--fc-event-bg-color:var(--blue);--fc-event-border-color:var(--blue);--fc-button-bg-color:var(--ink);--fc-button-border-color:var(--ink);--fc-button-hover-bg-color:var(--muted);--fc-button-active-bg-color:var(--ink)}
/* Knowledge */.knowledge-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:10px}.graph-host{height:560px;border:1px solid var(--line);background:var(--paper-2)}.search-answer{font-size:16px;line-height:1.7}.backlink{padding:9px;border-bottom:1px solid var(--line)}
/* Canvas */.canvas-board{height:690px;border:1px solid var(--line);background:radial-gradient(circle at 1px 1px,var(--line) 1px,transparent 1.3px),var(--paper-2);background-size:20px 20px;position:relative;overflow:hidden;touch-action:none}.note-node{position:absolute;width:210px;min-height:130px;padding:12px;background:var(--yellow-soft);border:1px solid var(--yellow);box-shadow:var(--shadow);touch-action:none}.note-node:nth-of-type(2){background:var(--cyan-soft);border-color:var(--cyan)}.note-node:nth-of-type(3){background:var(--green-soft);border-color:var(--green)}.ink-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}.canvas-board.ink-mode .ink-canvas{pointer-events:auto;cursor:crosshair}.canvas-board.ink-mode .note-node{pointer-events:none;opacity:.84}
/* Signals */.signal-chart{height:240px}.signal-big{font-size:42px;letter-spacing:-.06em}.signal-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
/* Settings */.settings-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:10px}.settings-nav{border:1px solid var(--line);background:var(--paper);padding:8px}.setting-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.theme-chip{width:90px;height:58px;border:1px solid var(--line-strong);padding:6px;display:grid;grid-template-columns:1fr 1fr;gap:4px}.theme-chip i{display:block;border:1px solid var(--line)}.toggle{width:45px;height:25px;border:1px solid var(--line-strong);background:var(--paper-3);padding:2px;border-radius:99px}.toggle span{display:block;width:19px;height:19px;border-radius:50%;background:var(--ink);transition:.18s}.toggle.on{background:var(--green-soft);border-color:var(--green)}.toggle.on span{transform:translateX(18px);background:var(--green)}
@media(max-width:1050px){.app-launcher{grid-template-columns:repeat(4,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.reader-shell,.office-grid,.files-layout,.knowledge-layout,.settings-layout{grid-template-columns:1fr}.reader-library,.office-side,.file-tree,.settings-nav{display:none}.editor-layout{grid-template-columns:1fr}.preview-pane{min-height:380px}.signal-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.desk-canvas{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-height:auto;padding:8px}.desk-object{position:relative!important;inset:auto!important;width:auto;min-height:130px}.kanban{grid-template-columns:repeat(3,280px)}.app-launcher{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.comic-grid{grid-template-columns:1fr}.reader-stage{padding:14px}.reader-page{font-size:16px}.signal-row{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.desk-canvas{grid-template-columns:1fr}.app-launcher{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr}.signal-row{grid-template-columns:1fr}.reader-tools{overflow:auto;justify-content:flex-start}.office-stage{padding:9px}}

/* ===== assets/css/polish.css ===== */
/* Meja Kerja shared polish layer */
:root{--panel-gap:14px;--control-h:40px}
.page{padding-bottom:72px}.page-head{align-items:end}.page-actions{align-items:center}.btn{min-width:0}.btn.is-active,.segmented .btn.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn.loading{pointer-events:none;opacity:.72}.btn.loading svg{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.segmented{display:inline-flex;border:1px solid var(--line);background:var(--paper-2);padding:3px;border-radius:var(--radius-sm);gap:2px}.segmented .btn{border:0;background:transparent;height:32px;padding-inline:10px}.segmented .btn:hover{transform:none}.segmented .btn.is-active{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
.section-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 8px;min-height:40px}.section-bar h2{font-size:16px;margin:0}.section-bar .muted{max-width:70ch}
.status-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);padding:6px 9px;background:var(--paper);font:800 9px ui-monospace,monospace}.status-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}.status-chip.fallback::before{background:var(--yellow)}.status-chip.error::before{background:var(--red)}
.native-enhanced{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.enhanced-note{font:700 9px/1.4 ui-monospace,monospace;color:var(--muted)}

.app-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:12px}.app-sidebar{border:1px solid var(--line);background:var(--paper);padding:12px;min-width:0}.sticky-side{position:sticky;top:calc(var(--top) + 10px);align-self:start}.toolbar-scroll{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.toolbar-scroll>*{flex:0 0 auto}
.breadcrumbs{display:flex;align-items:center;gap:5px;min-width:0;overflow:auto;scrollbar-width:none}.breadcrumbs::-webkit-scrollbar{display:none}.crumb-btn{border:0;background:transparent;color:var(--muted);padding:5px 3px;font-size:11px}.crumb-btn:last-child{color:var(--ink);font-weight:700}.crumb-sep{color:var(--quiet)}
.file-tree .tree-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;color:inherit;cursor:pointer}.file-tree .tree-item svg{width:15px;height:15px}.file-tree .tree-item .count{margin-left:auto;color:var(--muted);font:700 9px ui-monospace,monospace}.file-actions{display:flex;gap:5px;opacity:0;transition:.15s}.file-card:hover .file-actions,.file-row:hover .file-actions{opacity:1}.file-card.selected,.file-row.selected{outline:2px solid var(--blue);outline-offset:-2px;background:var(--blue-soft)}
.file-grid.v2{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.file-card.v2{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;position:relative}.file-card.v2 .file-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper)}.file-card.v2 .file-icon svg{margin:0;width:21px}.file-card.v2 b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card.v2 .file-card-bottom{width:100%;display:flex;justify-content:space-between;gap:5px;align-items:center}.file-row{display:grid;grid-template-columns:minmax(220px,2fr) 1fr 100px 130px auto;gap:10px;align-items:center;padding:9px 11px;border-bottom:1px solid var(--line);cursor:pointer}.file-row:hover{background:var(--paper-2)}.file-row .name{display:flex;gap:8px;align-items:center;min-width:0}.file-row .name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row svg{width:16px}.file-list-head{font:800 9px ui-monospace,monospace;color:var(--muted);background:var(--paper-2)}
.context-menu{position:fixed;z-index:2600;min-width:190px;border:1px solid var(--line-strong);background:var(--paper);box-shadow:var(--shadow-lg);padding:5px;display:none}.context-menu.open{display:block}.context-menu button{width:100%;height:34px;border:0;background:transparent;text-align:left;padding:0 9px;display:flex;align-items:center;gap:8px}.context-menu button:hover{background:var(--paper-2)}.context-menu button.danger{color:var(--danger)}
.reader-stage.v2{min-height:650px}.reader-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.reader-nav .page-indicator{font:700 9px ui-monospace,monospace;color:var(--muted)}
.canvas-board .note-node[contenteditable="true"],.note-node [contenteditable="true"]{cursor:text}.note-node .node-actions{position:absolute;right:6px;bottom:6px;display:flex;gap:3px;opacity:0}.note-node:hover .node-actions{opacity:1}.note-node .node-actions button{width:27px;height:27px;padding:0}
.settings-anchor{scroll-margin-top:calc(var(--top) + 24px)}.settings-nav .tree-item{cursor:pointer}.settings-nav .tree-item.active{font-weight:700}.diag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.diag-item{border:1px solid var(--line);padding:10px;background:var(--paper-2)}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.lib-card{border:1px solid var(--line);background:var(--paper);padding:11px;min-height:100px}.lib-card .lib-status{margin-top:10px;font:700 9px ui-monospace,monospace;color:var(--muted)}
@media(max-width:1100px){.app-split{grid-template-columns:1fr}.sticky-side{position:static}.file-row{grid-template-columns:minmax(180px,2fr) 1fr 90px auto}.file-row .modified{display:none}}
@media(max-width:760px){.page{padding-left:10px;padding-right:10px}.page-actions{width:100%;justify-content:flex-start}.native-enhanced{width:100%}.file-row{grid-template-columns:minmax(0,1fr) 80px auto}.file-row .type,.file-row .modified{display:none}.diag-grid{grid-template-columns:1fr}.section-bar{align-items:flex-start;flex-direction:column}.toolbar-scroll{width:100%}}

/* Native calendar fallback */
.calendar-native{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);overflow:auto}
.calendar-day{min-width:130px;background:var(--paper);min-height:430px}
.calendar-day.today{background:color-mix(in srgb,var(--yellow) 7%,var(--paper))}
.calendar-day>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border-bottom:1px solid var(--line);background:inherit}
.calendar-day>header span{font:600 12px var(--mono);border:1px solid var(--line);border-radius:999px;padding:3px 7px}
.calendar-day-body{padding:8px;display:grid;gap:7px}
.calendar-event,.calendar-empty{width:100%;text-align:left;border:1px solid var(--line);border-radius:5px;background:var(--paper-2);padding:8px;display:grid;gap:4px;color:var(--ink);cursor:pointer}
.calendar-event:hover,.calendar-empty:hover{transform:translateY(-1px);border-color:var(--ink-soft)}
.calendar-event.kind-focus{border-left:4px solid var(--violet)}
.calendar-event.kind-meeting{border-left:4px solid var(--cyan)}
.calendar-event.kind-review{border-left:4px solid var(--green)}
.calendar-event.kind-personal{border-left:4px solid var(--yellow)}
.calendar-event small{color:var(--muted)}
.calendar-empty{border-style:dashed;color:var(--muted);place-items:center;min-height:48px;text-align:center}
@media(max-width:900px){.calendar-native{grid-template-columns:repeat(7,minmax(180px,1fr))}}

/* Final polish */
.app-sidebar-sticky{position:sticky;top:calc(var(--top) + 12px);align-self:start}
.lib-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;color:var(--ink);border-radius:6px;cursor:pointer}.lib-card:hover{transform:translateY(-1px);border-color:var(--ink-soft)}.lib-card.good{box-shadow:inset 3px 0 0 var(--green)}.lib-card.danger{box-shadow:inset 3px 0 0 var(--red)}.lib-card.loading i{animation:spin 1s linear infinite}
.reader-nav{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;background:color-mix(in srgb,var(--paper) 92%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(5px)}
.note-node .note-actions{display:flex;gap:4px;opacity:.35;transition:opacity .15s}.note-node:hover .note-actions,.note-node:focus-within .note-actions{opacity:1}.note-node [contenteditable]{outline:none;border-radius:3px}.note-node [contenteditable]:focus{box-shadow:0 0 0 1px var(--line);background:var(--paper)}
@keyframes spin{to{transform:rotate(360deg)}}
.tree-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px}.tree-row .tree-item{min-width:0}.tree-row .tree-more{opacity:.45}.tree-row:hover .tree-more{opacity:1}
.native-rich-toolbar{padding:8px;border-bottom:1px solid var(--line);background:var(--paper-2)}.native-rich-editor{min-height:520px;padding:24px;outline:none;line-height:1.65;background:var(--paper)}.native-rich-editor:focus{box-shadow:inset 0 0 0 1px var(--line-strong)}
.native-graph{width:100%;height:100%;min-height:460px;background:radial-gradient(circle at center,color-mix(in srgb,var(--cyan) 5%,transparent),transparent 58%)}.native-edges line{stroke:var(--line-strong);stroke-width:1.2}.native-graph-node{cursor:pointer}.native-graph-node circle{fill:var(--yellow-soft);stroke:var(--ink);stroke-width:1}.native-graph-node text{font:700 10px var(--mono);fill:var(--ink);pointer-events:none}.native-graph-node:hover circle{fill:var(--cyan-soft)}

/* ===== assets/css/v06.css ===== */
/* Meja Kerja v0.6 — layout and interaction polish */
:root{--rail:232px;--top:66px;--content:1420px;--shadow:4px 4px 0 rgba(35,39,34,.055);--shadow-lg:10px 10px 0 rgba(35,39,34,.09)}
html{scroll-padding-top:calc(var(--top) + 18px)}
body{letter-spacing:-.006em}.icon-fallback{font-style:normal;font-weight:700;line-height:1;display:inline-grid;place-items:center}.btn .icon-fallback,.rail-link .icon-fallback{font-size:17px}

/* Shared sidebar */
.shell{grid-template-columns:var(--rail) minmax(0,1fr)}
.rail{width:var(--rail);padding:14px 12px;align-items:stretch;gap:0;background:color-mix(in srgb,var(--paper) 97%,transparent);overflow-x:hidden}
.brand{width:100%;height:62px;border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-start;gap:11px;background:transparent;margin:0 0 9px;padding:3px 5px 12px}
.brand::before,.brand::after,.brand>i{display:none!important}.brand-mark{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--line-strong);background:var(--yellow-soft);display:grid;place-items:center;position:relative;overflow:hidden}.brand-mark b{font:750 21px/1 Georgia,serif;letter-spacing:-.08em}.brand-mark i{position:absolute;right:-8px;bottom:-8px;width:25px;height:25px;border-radius:50%;background:var(--cyan-soft);border:1px solid var(--line)}.brand-copy{min-width:0;display:grid;gap:2px}.brand-copy strong{font-size:15px;letter-spacing:-.025em}.brand-copy small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-nav{display:flex;flex-direction:column;min-height:0}.rail-group{width:auto;text-align:left;padding:14px 9px 6px;font-size:7px;letter-spacing:.16em}.rail-link{width:100%;min-height:46px;border-radius:7px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;justify-content:stretch;gap:8px;padding:5px 7px;color:var(--muted);text-align:left}.rail-link>svg{width:18px;height:18px;margin:auto}.rail-link .rail-text{min-width:0;display:grid;gap:2px}.rail-link .rail-text b{font-size:11px;color:currentColor;line-height:1.1}.rail-link .rail-text small{font-size:7.5px;color:var(--quiet);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-link:hover{background:var(--paper-2);border-color:var(--line);transform:none}.rail-link.active{background:var(--paper-2);color:var(--ink);border-color:var(--line-strong)}.rail-link.active::before{left:-13px;width:4px;height:26px;background:var(--blue)}.rail-link.active>svg{color:var(--blue)}.rail-link.active .rail-text small{color:var(--muted)}.mobile-more{display:none}.sidebar-foot{height:30px;border-top:1px solid var(--line);display:flex;align-items:center;gap:7px;padding:10px 6px 0;font:800 7px/1 ui-monospace,monospace;color:var(--quiet)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}

/* Topbar and page */
.workspace{grid-column:2}.topbar{grid-template-columns:minmax(160px,.7fr) minmax(280px,620px) auto;padding:0 20px;gap:16px}.crumb{display:flex;align-items:center;gap:6px;font-size:10px}.crumb svg{width:12px;height:12px}.crumb span{color:var(--quiet)}.global-search{border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.search-copy{flex:1;text-align:left;color:var(--quiet);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.power-btn.good{background:var(--green-soft);border-color:var(--green);color:var(--ink)}.power-state{min-width:26px;border-left:1px solid var(--line);padding-left:7px;font:800 7px/1 ui-monospace,monospace;color:var(--muted)}.power-btn.good .power-state{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,var(--line))}.page{max-width:var(--content);padding:28px clamp(18px,2.3vw,34px) 62px}.page-head{align-items:flex-start;margin:4px 0 24px;gap:22px}.page-copy{min-width:0;max-width:900px}.page-title{font-size:clamp(34px,4.2vw,62px);line-height:.94;margin:7px 0 10px;overflow-wrap:anywhere}.lede{margin:0;max-width:820px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.page-actions{justify-content:flex-end;max-width:520px}.card{box-shadow:var(--shadow);border-radius:9px}.card.flat{box-shadow:none}.btn{border-radius:7px}.tree-item{width:100%;display:flex;align-items:center;gap:9px;border:1px solid transparent;background:transparent;border-radius:6px;text-align:left;color:var(--muted);font-size:11px;line-height:1.2}.tree-item svg{width:17px;height:17px;flex:0 0 auto}.tree-item:hover{background:var(--paper-2);color:var(--ink)}.tree-item.active{background:var(--blue-soft);border-color:var(--blue);color:var(--ink);font-weight:650}.tree-item.active svg{color:var(--blue)}

/* Quick settings / drawers */
.quick-panel,.notification-drawer{border-radius:10px;width:360px}.quick-grid{grid-template-columns:repeat(3,1fr);gap:7px}.quick-tile{min-height:76px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:10px;text-align:left}.quick-tile svg{width:18px;height:18px}.quick-tile b{font-size:10px}.quick-tile small{font-size:8px;color:var(--muted)}.quick-tile:hover,.quick-tile.active{border-color:var(--blue);background:var(--blue-soft)}
.apps-drawer{position:fixed;inset:0;z-index:1900;pointer-events:none;visibility:hidden}.apps-drawer.open{pointer-events:auto;visibility:visible}.drawer-scrim{position:absolute;inset:0;border:0;background:rgba(20,23,20,.28);opacity:0;transition:.2s}.apps-drawer.open .drawer-scrim{opacity:1}.apps-sheet{position:absolute;left:50%;bottom:0;width:min(680px,100%);max-height:min(78dvh,680px);overflow:auto;transform:translate(-50%,102%);background:var(--paper);border:1px solid var(--line-strong);border-bottom:0;border-radius:18px 18px 0 0;padding:8px 14px 24px;transition:.25s var(--ease);box-shadow:0 -18px 60px rgba(20,23,20,.12)}.apps-drawer.open .apps-sheet{transform:translate(-50%,0)}.sheet-handle{width:44px;height:4px;border-radius:99px;background:var(--line-strong);margin:2px auto 14px}.apps-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-menu-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--line);background:var(--paper-2);padding:9px;border-radius:8px}.app-menu-icon{width:40px;height:40px;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);border-radius:7px}.app-menu-icon svg{width:19px}.app-menu-item b{font-size:11px}.app-menu-item small{display:block;font-size:8px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Settings: fix the screenshot issue */
.settings-layout{grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.settings-nav{display:flex!important;flex-direction:column;gap:3px;position:sticky;top:calc(var(--top) + 14px);padding:10px;border-radius:8px;box-shadow:none}.settings-nav .eyebrow{padding:3px 7px 7px}.settings-nav .tree-item{min-height:40px}.settings-anchor{scroll-margin-top:calc(var(--top) + 16px);overflow:visible}.settings-anchor h2{margin-top:5px}.setting-item:last-child{border-bottom:0}.theme-chip{width:100%;max-width:150px}.settings-anchor [data-theme-option]{min-height:130px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.settings-anchor [data-theme-option] .theme-chip{height:54px}.toggle{flex:0 0 auto}

/* App polish */
.app-launcher{grid-template-columns:repeat(6,minmax(120px,1fr))}.app-tile{border-radius:8px}.kanban-col,.task,.file-browser,.file-tree,.office-side,.office-stage,.reader-library,.reader-stage,.calendar-host,.graph-host,.canvas-board{border-radius:8px}.task{border-color:var(--line);box-shadow:2px 2px 0 rgba(35,39,34,.04)}.task:hover{border-color:var(--line-strong)}.file-card{border-radius:7px}.file-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.gallery-item{border-radius:7px}.editor-pane,.preview-pane{border-radius:8px}.reader-tools{background:color-mix(in srgb,var(--paper) 90%,transparent);padding:6px;border-radius:8px}.office-tabs{padding-bottom:4px}.table-wrap{border-radius:7px}.toast{opacity:0;transform:translateY(7px);transition:.18s}.toast.show{opacity:1;transform:none}

/* Tabulator adapts to e-paper */
.tabulator{border:1px solid var(--line)!important;background:var(--paper)!important;color:var(--ink)!important;font-size:11px!important}.tabulator .tabulator-header{background:var(--paper-2)!important;border-bottom-color:var(--line)!important;color:var(--muted)!important}.tabulator .tabulator-header .tabulator-col,.tabulator-row{background:var(--paper)!important;border-color:var(--line)!important}.tabulator-row:nth-child(even){background:var(--paper-2)!important}.tabulator-row:hover{background:var(--blue-soft)!important}.tabulator-cell{border-color:var(--line)!important}
/* FullCalendar adapts to e-paper */
.fc{font-size:11px}.fc .fc-button{border-radius:6px!important;box-shadow:none!important}.fc .fc-toolbar-title{font-size:17px!important}.fc .fc-scrollgrid,.fc-theme-standard td,.fc-theme-standard th{border-color:var(--line)!important}.fc .fc-col-header-cell{background:var(--paper-2)}
/* Plyr pigment */
.plyr{--plyr-color-main:var(--red);--plyr-video-background:#171a17;--plyr-menu-background:var(--paper);--plyr-menu-color:var(--ink);border-radius:7px;overflow:hidden}

@media(max-width:1120px){:root{--rail:82px}.brand{height:58px;padding:5px 0 12px;justify-content:center}.brand-copy,.rail-link .rail-text,.sidebar-foot span:last-child{display:none}.brand-mark{width:38px}.rail-link{grid-template-columns:1fr;width:56px;align-self:center;padding:5px}.rail-group{text-align:center;padding-inline:0}.rail-link.active::before{left:-14px}.sidebar-foot{justify-content:center}.settings-layout{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:920px){
 :root{--rail:0px;--top:62px}.shell{display:block;padding-bottom:74px}.workspace{margin:0}.rail{top:auto;right:0;width:auto;height:70px;display:block;border-right:0;border-top:1px solid var(--line);padding:6px 7px;overflow:visible}.brand,.rail-group,.rail-spacer,.sidebar-foot{display:none}.rail-nav{height:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.rail-link{display:none;width:auto;min-width:0;min-height:56px;grid-template-columns:1fr;grid-template-rows:22px 14px;gap:2px;padding:4px 2px;justify-items:center;text-align:center;border-radius:6px}.rail-link.primary-app,.mobile-more{display:grid}.rail-link .rail-text{display:block}.rail-link .rail-text b{display:block;font-size:7px;white-space:nowrap}.rail-link .rail-text small{display:none}.rail-link.active::before{left:50%;top:-7px;width:24px;height:3px;transform:translateX(-50%)}.mobile-more{border:1px solid transparent;background:transparent}.topbar{grid-template-columns:minmax(0,1fr) auto;padding:0 10px;gap:7px}.crumb{display:none}.global-search{height:40px}.top-actions{gap:4px}.statusbar{left:0;bottom:70px}.page{padding:20px 12px 104px}.page-head{gap:14px}.page-actions{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:2px;flex-wrap:nowrap}.page-actions>*{flex:0 0 auto}.settings-layout{grid-template-columns:1fr;gap:10px}.settings-nav{position:sticky;top:calc(var(--top) + 6px);z-index:40;display:flex!important;flex-direction:row;overflow-x:auto;gap:5px;padding:6px;background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(8px)}.settings-nav .eyebrow{display:none}.settings-nav .tree-item{width:auto;min-width:max-content;min-height:36px;padding:7px 9px;font-size:9px;white-space:nowrap}.settings-nav .tree-item svg{width:15px;height:15px}.settings-anchor{scroll-margin-top:calc(var(--top) + 60px)}.settings-anchor .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.notification-drawer,.quick-panel{top:calc(var(--top) + 6px);right:8px;left:8px;width:auto}.app-launcher{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:680px){
 .page-title{font-size:clamp(36px,12vw,52px);line-height:.96}.lede{font-size:12px;line-height:1.55;max-width:100%}.page-head{margin-bottom:18px}.top-actions .label-hide,.power-state{display:none}.global-search .kbd{display:none}.search-copy{font-size:10px}.settings-anchor .grid-3{grid-template-columns:1fr}.setting-item{align-items:flex-start;flex-direction:column}.setting-item>.row,.setting-item>.btn,.setting-item>.toggle,.setting-item>.pill{align-self:stretch}.setting-item>.toggle{align-self:flex-start}.theme-chip{max-width:none}.apps-menu-grid{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:repeat(3,1fr)}.app-launcher{grid-template-columns:repeat(3,1fr)}.reader-stage{padding:16px}.reader-page h1{font-size:30px}.calendar-host{padding:5px}.fc .fc-toolbar{flex-direction:column;align-items:stretch;gap:7px}.fc .fc-toolbar-chunk{display:flex;justify-content:center}.fc .fc-toolbar-title{text-align:center}.gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:420px){
 .page{padding-left:10px;padding-right:10px}.page-title{font-size:38px}.page-actions .btn{padding-inline:10px}.topbar{grid-template-columns:minmax(0,1fr) auto}.global-search{padding-inline:9px}.search-copy{max-width:118px}.top-actions .optional{display:none}.apps-menu-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}.settings-nav{margin-inline:-4px}.settings-anchor{padding:13px}.settings-anchor .grid-4{grid-template-columns:1fr 1fr}.app-launcher{grid-template-columns:repeat(2,1fr)}.rail-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.rail-link .rail-text b{font-size:6.5px}
}

/* v0.6.1 functional component polish */
.minw0{min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-field{min-height:40px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper-2);border-radius:7px;padding:0 10px;min-width:0}.search-field svg{width:16px;height:16px;color:var(--muted);flex:0 0 auto}.search-field input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit}.search-field.compact{height:36px;min-height:36px;width:min(310px,34vw)}.select.compact{height:36px;min-height:36px;width:auto;padding-right:28px}
.modal-dialog{width:min(520px,calc(100vw - 24px));max-width:none;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);padding:0;border-radius:11px;box-shadow:var(--shadow-lg)}.modal-dialog::backdrop{background:rgba(20,23,20,.28);backdrop-filter:blur(2px)}.dialog-card{padding:16px;display:grid;gap:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:7px;border-top:1px solid var(--line);padding-top:12px}.field-label{display:grid;gap:6px;font-size:9px;font-weight:750;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.field-label .input,.field-label .select{font-size:11px;text-transform:none;letter-spacing:0;color:var(--ink)}

/* Files */
.files-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:12px;align-items:start}.file-tree{position:sticky;top:calc(var(--top) + 14px);padding:10px;max-height:calc(100dvh - var(--top) - 28px);overflow:auto}.tree-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center}.tree-row .tree-item{min-width:0}.tree-row .tree-item span:not(.count){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-more{width:28px;height:28px;padding:0}.file-tree-tip{padding:4px 7px 8px;line-height:1.55}.file-drop{min-height:105px}.file-browser{overflow:hidden}.file-toolbar{display:flex;align-items:center;gap:10px;padding:9px 10px;border-bottom:1px solid var(--line);background:var(--paper)}.file-toolbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0}.file-empty{margin:10px}.file-preview{overflow:hidden}.file-preview-head{gap:14px;align-items:flex-start}.file-preview-image{max-width:100%;max-height:460px;display:block;margin:auto;object-fit:contain}.file-preview-video{width:100%;max-height:460px;background:#111}.file-text-preview{white-space:pre-wrap;max-height:460px;overflow:auto;padding:14px;background:var(--paper-2);border:1px solid var(--line);border-radius:7px;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.breadcrumbs{display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;white-space:nowrap}.crumb-btn{border:0;background:transparent;color:var(--muted);font:700 9px/1 inherit;padding:5px;border-radius:5px}.crumb-btn:hover{background:var(--paper-2);color:var(--ink)}.crumb-sep{color:var(--quiet)}

/* Settings rebuilt for narrow screens */
.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.theme-option{min-height:128px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);padding:10px;text-align:left;display:flex;flex-direction:column;gap:7px;color:var(--ink)}.theme-option:hover{border-color:var(--line-strong)}.theme-option.active{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--blue)}.theme-option span{font-size:8px;color:var(--muted)}.theme-chip.graphite{background:#20251f;padding:4px}.storage-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.storage-stats>div{border:1px solid var(--line);background:var(--paper-2);padding:12px;border-radius:7px}.storage-stats span{font-size:8px;color:var(--muted)}.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.integration-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:10px;border-radius:8px;text-align:left}.integration-card>svg{width:20px;height:20px}.integration-card div{min-width:0;display:grid;gap:2px}.integration-card span{font-size:8px;color:var(--muted)}.integration-card em{font:800 8px/1 ui-monospace,monospace;color:var(--blue);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integration-card.good{border-color:var(--green);background:var(--green-soft)}.integration-card.danger{border-color:var(--red)}.dev-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:7px;overflow:hidden}.dev-summary>div{display:grid;grid-template-columns:115px minmax(0,1fr);gap:8px;padding:9px 10px;border-bottom:1px solid var(--line);background:var(--paper-2)}.dev-summary>div:nth-last-child(-n+2){border-bottom:0}.dev-summary span{font-size:8px;color:var(--muted)}.dev-summary b{font-size:9px}.lib-test-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.lib-card{min-height:92px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:8px;padding:10px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left}.lib-card svg{width:19px;height:19px}.lib-card b{font-size:10px}.lib-card.good{border-color:var(--green);background:var(--green-soft)}.lib-card.danger{border-color:var(--red)}.lib-card.loading svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

/* Calendar */
.calendar-shell{overflow:hidden}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-bottom:1px solid var(--line)}.calendar-period{min-width:170px;text-align:center}.segmented{display:flex;align-items:center;border:1px solid var(--line);background:var(--paper-2);padding:3px;border-radius:7px}.seg{border:0;background:transparent;color:var(--muted);padding:7px 10px;border-radius:5px;font:750 9px/1 inherit}.seg.active{background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px var(--line-strong)}.calendar-native{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:480px}.calendar-day{min-width:0;border-right:1px solid var(--line);background:var(--paper)}.calendar-day:last-child{border-right:0}.calendar-day>header,.month-day>header{display:flex;align-items:center;justify-content:space-between;padding:9px;border-bottom:1px solid var(--line);background:var(--paper-2)}.calendar-day.today>header,.month-day.today>header{background:var(--yellow-soft)}.calendar-day-body{padding:7px;display:grid;align-content:start;gap:6px;min-height:430px}.calendar-event{width:100%;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:6px;padding:7px;text-align:left;display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 6px;align-items:center}.calendar-event b{font-size:9px;overflow:hidden;text-overflow:ellipsis}.calendar-event small{grid-column:2;font-size:7px;color:var(--muted)}.calendar-event.kind-meeting{border-left:3px solid var(--cyan)}.calendar-event.kind-focus{border-left:3px solid var(--violet)}.calendar-event.kind-review{border-left:3px solid var(--green)}.calendar-event.kind-personal{border-left:3px solid var(--yellow)}.calendar-event.compact{padding:4px 5px;display:flex;gap:4px;margin-bottom:3px}.calendar-event.compact .mono{display:none}.calendar-empty{border:1px dashed var(--line);background:transparent;color:var(--quiet);min-height:42px;border-radius:6px}.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);background:var(--paper-2)}.month-weekdays b{font-size:8px;color:var(--muted);padding:7px;text-align:center}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-day{min-height:110px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding-bottom:5px;overflow:hidden}.month-day:nth-child(7n){border-right:0}.month-day.outside{opacity:.42}.month-day>div{padding:4px}.month-day>header{padding:5px 7px;background:transparent}.month-day>header span{font-size:9px;font-weight:800}

/* Reader discovery */
.reader-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin:12px 0}.book-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.book-result{display:grid;grid-template-columns:48px minmax(0,1fr) 34px;gap:8px;align-items:center;border:1px solid var(--line);background:var(--paper-2);padding:8px;border-radius:7px;min-width:0}.book-cover{width:48px;height:64px;display:grid;place-items:center;border:1px solid var(--line);background:var(--yellow-soft);overflow:hidden}.book-cover img{width:100%;height:100%;object-fit:cover}.book-cover svg{width:19px}.book-result b{font-size:9px;display:block;overflow:hidden;text-overflow:ellipsis}.api-credit{margin-top:8px}.api-credit a,.api-attribution a{color:var(--blue);text-decoration:underline}.api-attribution{margin-top:10px;padding:7px 9px;border:1px solid var(--line);background:var(--paper-2);border-radius:6px}

/* Office */
.spreadsheet-toolbar{margin-bottom:10px}.advanced-grid{min-height:520px}.slide-deck{display:grid;gap:10px}.slide-card{min-height:260px}.tabulator .tabulator-footer{background:var(--paper-2)!important;border-color:var(--line)!important}

@media(max-width:1050px){.files-layout{grid-template-columns:1fr}.file-tree{display:none!important}.book-results{grid-template-columns:repeat(2,minmax(0,1fr))}.lib-test-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.file-toolbar{align-items:stretch;flex-direction:column}.file-toolbar-actions{width:100%;margin-left:0;overflow-x:auto}.search-field.compact{width:min(100%,340px);flex:1 0 220px}.storage-stats{grid-template-columns:1fr 1fr}.integration-grid{grid-template-columns:1fr}.lib-test-grid{grid-template-columns:1fr 1fr}.theme-grid{grid-template-columns:1fr}.calendar-native{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.calendar-day{flex:0 0 min(72vw,280px);scroll-snap-align:start}.month-day{min-height:82px}.calendar-event.compact b{font-size:7px}.book-results{grid-template-columns:1fr}.reader-search{grid-template-columns:1fr}.reader-search .btn{justify-self:start}.dev-summary{grid-template-columns:1fr}.dev-summary>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.dev-summary>div:last-child{border-bottom:0}}
@media(max-width:480px){.storage-stats{grid-template-columns:1fr 1fr}.lib-test-grid{grid-template-columns:1fr 1fr}.settings-nav{scrollbar-width:none}.settings-nav::-webkit-scrollbar{display:none}.settings-nav .tree-item{min-height:38px}.settings-nav .tree-item span{font-size:8px}.integration-card{grid-template-columns:32px minmax(0,1fr);}.integration-card em{grid-column:2}.month-weekdays b{font-size:7px;padding:5px 1px}.month-day{min-height:72px}.month-day .calendar-event{display:none}.month-day:has(.calendar-event)::after{content:'•';display:block;color:var(--blue);padding-left:8px}.file-preview-head{display:block}.file-preview-head .toolbar-scroll{margin-top:10px}}

/* Compact folder chooser replaces the hidden tree on tablet/mobile. */
.mobile-folder-select{display:none}
@media(max-width:1050px){.mobile-folder-select{display:block;min-width:180px;max-width:260px}}
@media(max-width:760px){.mobile-folder-select{flex:0 0 min(72vw,260px)}}

/* ===== assets/css/v07.css ===== */
/* Meja Kerja v0.7 — compact shell, persistent player, richer local apps */
:root{--rail:176px;--player-h:72px;--status-h:26px}
body{padding-bottom:calc(var(--status-h) + env(safe-area-inset-bottom))}.page{padding-bottom:calc(var(--player-h) + var(--status-h) + 42px)}
/* Compact desktop navigation */
.rail{width:var(--rail);padding:12px 10px}.shell{grid-template-columns:var(--rail) minmax(0,1fr)}.brand{height:56px;padding:2px 4px 10px;gap:9px}.brand-mark{width:34px;height:34px;flex-basis:34px}.brand-copy strong{font-size:13px}.brand-copy small{display:none}.rail-group{padding:12px 7px 5px;font-size:6.5px}.rail-link{min-height:40px;grid-template-columns:27px minmax(0,1fr);gap:7px;padding:4px 7px;overflow:visible}.rail-link>svg{width:17px;height:17px}.rail-label{font-size:10.5px;font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-link::after{content:attr(data-tip);position:absolute;left:calc(100% + 9px);top:50%;transform:translate(6px,-50%);width:max-content;max-width:240px;padding:7px 9px;border:1px solid var(--line-strong);background:var(--ink);color:var(--paper);font:700 9px/1.3 ui-monospace,monospace;opacity:0;visibility:hidden;pointer-events:none;transition:.12s;z-index:400;box-shadow:var(--shadow)}.rail-link:hover::after,.rail-link:focus-visible::after{opacity:1;visibility:visible;transform:translate(0,-50%)}.rail-link.active::before{left:-11px}.sidebar-foot{font-size:6.5px}.workspace{grid-column:2}.statusbar{left:var(--rail);bottom:0;height:var(--status-h);z-index:1260}.topbar{grid-template-columns:minmax(110px,.55fr) minmax(260px,660px) auto}.global-search{height:40px}.power-btn.good{background:var(--green-soft);border-color:var(--green);color:var(--ink)}
.quick-language{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;font-size:11px}.quick-language .select{max-width:160px}
/* Global audio footer */
#global-player-host{position:fixed;left:var(--rail);right:0;bottom:var(--status-h);z-index:1250;pointer-events:none}.global-player{height:var(--player-h);background:color-mix(in srgb,var(--paper) 97%,transparent);border-top:1px solid var(--line-strong);display:grid;grid-template-columns:42px minmax(140px,220px) minmax(180px,1fr) auto minmax(180px,260px);align-items:center;gap:10px;padding:8px 14px;transform:translateY(calc(100% + 2px));transition:transform .22s var(--ease);backdrop-filter:blur(12px);pointer-events:auto;box-shadow:0 -8px 18px rgba(35,39,34,.05)}.global-player.visible{transform:none}.player-art{width:40px;height:40px;border:1px solid var(--line-strong);background:var(--red-soft);display:grid;place-items:center}.player-copy{min-width:0}.player-copy b,.player-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-copy b{font-size:11px}.player-copy small{font:700 7px/1.3 ui-monospace,monospace;color:var(--quiet);margin-top:4px}.player-wave-wrap{min-width:0;position:relative}.player-wave{height:29px;display:flex;align-items:center;gap:2px;overflow:hidden;position:relative}.player-wave::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--progress,0%);background:color-mix(in srgb,var(--cyan) 26%,transparent);mix-blend-mode:multiply;pointer-events:none}.player-wave i{display:block;flex:1;min-width:1px;height:var(--h);background:var(--muted);opacity:.6;border-radius:1px}.global-player.playing .player-wave i{animation:wavePulse .8s ease-in-out infinite alternate}.global-player.playing .player-wave i:nth-child(3n){animation-delay:-.25s}.global-player.playing .player-wave i:nth-child(4n){animation-delay:-.4s}@keyframes wavePulse{to{transform:scaleY(.45);opacity:.35}}.player-wave-wrap input[type=range]{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.player-time{display:flex;justify-content:space-between;font:700 7px ui-monospace,monospace;color:var(--quiet);margin-top:1px}.player-controls,.player-secondary{display:flex;align-items:center;gap:5px}.player-main{background:var(--ink);color:var(--paper);border-color:var(--ink)}.player-rate{width:70px;height:34px;padding-inline:7px}.player-secondary input[type=range]{width:84px}.player-close{margin-left:2px}
/* Notes */
.notes-shell{display:grid;grid-template-columns:230px 300px minmax(0,1fr);min-height:690px;border:1px solid var(--line);background:var(--paper)}.notes-side,.notes-list{border-right:1px solid var(--line);min-width:0}.notes-side{padding:10px}.notes-list{display:flex;flex-direction:column}.notes-list-head{padding:10px;border-bottom:1px solid var(--line)}.note-items{overflow:auto;max-height:620px}.note-row{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px}.note-row:hover,.note-row.active{background:var(--yellow-soft)}.note-row b{display:block;font-size:11px}.note-row p{margin:4px 0 0;font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-row .tiny{margin-top:7px}.notebook-item{width:100%;display:flex;align-items:center;gap:7px;border:1px solid transparent;background:transparent;padding:8px}.notebook-item.active,.notebook-item:hover{background:var(--paper-2);border-color:var(--line)}.note-editor{min-width:0;display:flex;flex-direction:column}.note-editor-top{padding:10px;border-bottom:1px solid var(--line);display:flex;gap:6px;flex-wrap:wrap}.note-title{border:0;border-bottom:1px solid var(--line);background:transparent;font-size:clamp(22px,4vw,38px);font-weight:700;letter-spacing:-.04em;padding:16px 18px 10px;outline:0}.note-body{min-height:480px;border:0;resize:none;background:transparent;padding:12px 18px 24px;font:15px/1.7 Georgia,serif;outline:0}.note-preview{padding:18px;line-height:1.7;overflow:auto}.note-checklist{padding:10px 18px;display:grid;gap:7px}.check-row{display:flex;gap:8px;align-items:flex-start}.tag-cloud{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
/* Flow richer */
.flow-view-switch{display:flex;gap:5px}.kanban.flow-v07{grid-template-columns:repeat(6,minmax(245px,1fr));padding-bottom:4px}.flow-v07 .kanban-col{min-height:440px}.task{border-radius:5px}.task .task-desc{font-size:9px;color:var(--muted);line-height:1.45;margin-top:6px}.task-meta-line{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font:700 7px ui-monospace,monospace;color:var(--quiet)}.task-checks{display:flex;gap:3px;flex-wrap:wrap;margin-top:6px}.flow-list{display:grid;gap:6px}.flow-list-row{display:grid;grid-template-columns:26px minmax(180px,1fr) 100px 90px 90px 80px auto;gap:8px;align-items:center;border:1px solid var(--line);background:var(--paper);padding:9px}.flow-list-row.done{opacity:.6}.priority-p1{border-left:4px solid var(--red)}.priority-p2{border-left:4px solid var(--yellow)}.priority-p3{border-left:4px solid var(--green)}
/* Calendar richer */
.calendar-shell{padding:10px}.calendar-toolbar-grid{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.calendar-views{display:flex;gap:4px;overflow:auto}.day-agenda{display:grid;grid-template-columns:72px minmax(0,1fr);border:1px solid var(--line)}.hour-label{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:8px;font:700 8px ui-monospace,monospace;color:var(--quiet)}.hour-slot{min-height:58px;border-bottom:1px solid var(--line);padding:5px;position:relative}.agenda-list{display:grid;gap:6px}.agenda-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);padding:10px;background:var(--paper)}.holiday-dot{width:7px;height:7px;border-radius:50%;background:var(--red);display:inline-block}.calendar-day .holiday-name,.month-day .holiday-name{display:block;font-size:6.5px;color:var(--red);margin-top:3px}.calendar-weather{font-size:7px;color:var(--blue);margin-left:auto}.calendar-empty{min-height:48px}
/* Canvas */
.canvas-stage-v07{display:grid;grid-template-columns:56px minmax(0,1fr) 230px;min-height:690px;border:1px solid var(--line);background:var(--paper)}.canvas-tools{border-right:1px solid var(--line);padding:7px;display:flex;flex-direction:column;gap:5px}.canvas-tools .btn{width:40px;height:40px}.fabric-wrap{min-width:0;position:relative;overflow:hidden;background:radial-gradient(circle at 1px 1px,var(--line) 1px,transparent 1.2px),var(--paper-2);background-size:20px 20px}.fabric-wrap canvas{touch-action:none}.canvas-inspector{border-left:1px solid var(--line);padding:10px}.canvas-layer-list{display:grid;gap:5px;max-height:320px;overflow:auto}.canvas-layer{display:flex;align-items:center;gap:6px;padding:7px;border:1px solid var(--line);background:var(--paper)}.canvas-fallback{height:680px;width:100%;touch-action:none;background:var(--paper-2)}
/* Gallery */
.gallery-shell-v07{display:grid;grid-template-columns:210px minmax(0,1fr);gap:10px}.gallery-side{border:1px solid var(--line);background:var(--paper);padding:10px;align-self:start;position:sticky;top:calc(var(--top) + 10px)}.gallery-toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.gallery-grid-v07{columns:4 220px;column-gap:8px}.gallery-grid-v07 .gallery-item{display:block;width:100%;aspect-ratio:auto;margin:0 0 8px;break-inside:avoid;padding:0;text-align:left}.gallery-grid-v07 .gallery-item img{display:block;width:100%;height:auto;min-height:120px;object-fit:cover}.gallery-item .gallery-actions{position:absolute;right:6px;top:6px;display:flex;gap:4px;opacity:0;transition:.15s}.gallery-item:hover .gallery-actions{opacity:1}.gallery-fav{background:var(--paper);border:1px solid var(--line);width:28px;height:28px;display:grid;place-items:center}.gallery-fav.active{background:var(--red-soft);color:var(--red)}.gallery-selection{outline:3px solid var(--blue)}.gallery-empty{border:1px dashed var(--line-strong);padding:40px;text-align:center}.compare-stage{display:grid;grid-template-columns:1fr 1fr;gap:8px}.compare-stage img{width:100%;max-height:70vh;object-fit:contain;background:var(--paper-2)}
/* Settings cleanup */
.settings-layout{grid-template-columns:210px minmax(0,1fr);align-items:start}.settings-nav{position:sticky;top:calc(var(--top) + 10px);display:grid;gap:4px}.settings-nav .tree-item{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:8px;text-align:left}.settings-nav .tree-item svg{width:17px}.settings-anchor{scroll-margin-top:calc(var(--top) + 14px)}.settings-anchor .setting-item:last-child{border-bottom:0}.language-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.language-card{border:1px solid var(--line);background:var(--paper-2);padding:12px;text-align:left}.language-card.active{border-color:var(--blue);background:var(--blue-soft)}
/* Responsive */
@media(max-width:1100px){:root{--rail:72px}.brand{width:52px;margin-inline:auto}.brand-copy,.rail-label,.rail-group,.sidebar-foot{display:none}.rail-link{width:52px;grid-template-columns:1fr;justify-content:center;margin-inline:auto}.rail-link::after{left:calc(100% + 14px)}.statusbar,#global-player-host{left:var(--rail)}.global-player{grid-template-columns:42px minmax(120px,180px) minmax(140px,1fr) auto}.player-secondary{display:none}.notes-shell{grid-template-columns:190px 260px minmax(0,1fr)}.gallery-shell-v07{grid-template-columns:180px 1fr}.canvas-stage-v07{grid-template-columns:50px 1fr}.canvas-inspector{display:none}}
@media(max-width:920px){:root{--rail:0px;--player-h:68px}.shell{padding-bottom:72px}.rail{left:0;right:0;bottom:0;top:auto;width:auto;height:70px;display:flex;flex-direction:row;align-items:center;padding:6px 7px;border-right:0;border-top:1px solid var(--line);overflow-x:auto;z-index:1300}.rail .brand,.rail-group,.rail-spacer,.sidebar-foot,.rail-link:not(.primary-app):not(.mobile-more){display:none}.rail-nav{display:flex;flex-direction:row;width:100%;justify-content:space-around}.rail-link.primary-app,.mobile-more{display:grid;grid-template-columns:1fr;gap:3px;width:58px;min-height:52px;padding:3px}.rail-label{display:block;font-size:7px;text-align:center}.rail-link::after{display:none}.mobile-more{display:grid}.workspace{margin:0}.statusbar{left:0;bottom:70px}.global-player{height:68px;left:0;grid-template-columns:36px minmax(80px,140px) 1fr auto;padding:7px 9px}.player-art{width:34px;height:34px}.player-secondary{display:none}.player-wave{height:24px}.player-controls .btn:not(.player-main){display:none}.page{padding-bottom:calc(var(--player-h) + 110px)}#global-player-host{left:0;bottom:calc(70px + var(--status-h))}.notes-shell{grid-template-columns:170px minmax(0,1fr)}.notes-list{display:none}.gallery-shell-v07{grid-template-columns:1fr}.gallery-side{position:static;display:flex;gap:5px;overflow:auto}.gallery-side .eyebrow,.gallery-side .divider{display:none}.canvas-stage-v07{grid-template-columns:1fr;grid-template-rows:auto minmax(560px,1fr)}.canvas-tools{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow:auto}.canvas-tools .btn{flex:0 0 40px}.flow-list-row{grid-template-columns:24px 1fr auto}.flow-list-row>*:nth-child(3),.flow-list-row>*:nth-child(4),.flow-list-row>*:nth-child(5){display:none}.settings-layout{grid-template-columns:1fr}.settings-nav{position:sticky;top:var(--top);z-index:40;display:flex;overflow-x:auto;padding:6px;background:var(--paper);white-space:nowrap}.settings-nav .eyebrow{display:none}.settings-nav .tree-item{display:flex;flex:0 0 auto}.settings-nav .tree-item span{display:block}.settings-anchor{scroll-margin-top:calc(var(--top) + 64px)}}
@media(max-width:620px){.topbar{grid-template-columns:1fr auto}.global-search{min-width:0}.top-actions .power-btn{display:none}.player-copy{display:none}.global-player{grid-template-columns:34px minmax(110px,1fr) auto}.player-wave-wrap{min-width:90px}.notes-shell{display:block}.notes-side{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow:auto;padding:6px}.notes-side .eyebrow,.notes-side .divider,.notes-side .template-grid{display:none}.notebook-item{flex:0 0 auto;width:auto}.note-editor{min-height:620px}.gallery-grid-v07{columns:2 150px}.calendar-toolbar-grid{grid-template-columns:1fr}.agenda-row{grid-template-columns:82px 1fr}.language-cards{grid-template-columns:1fr}.player-time{display:none}}
.gallery-compact .gallery-grid-v07{columns:6 140px}
@media(min-width:921px) and (max-width:1100px){.settings-nav{display:grid!important}.settings-layout{grid-template-columns:190px minmax(0,1fr)}}
.gallery-grid-v07 .gallery-item{background:linear-gradient(100deg,var(--paper-2) 20%,var(--paper-3) 38%,var(--paper-2) 56%);background-size:220% 100%;animation:gallerySkeleton 1.25s linear infinite}.gallery-grid-v07 .gallery-item:has(img.loaded){animation:none;background:var(--paper-2)}.gallery-grid-v07 .gallery-item img{opacity:0;transition:opacity .2s ease}.gallery-grid-v07 .gallery-item img.loaded{opacity:1}@keyframes gallerySkeleton{to{background-position:-220% 0}}body[data-motion="low"] .gallery-grid-v07 .gallery-item{animation:none}

/* ===== assets/css/v08.css ===== */
/* Meja Kerja v0.8 — adaptive shell + platform surfaces */
:root{--rail:188px;--top:62px;--content:1540px;--player-h:74px;--status-h:25px;--safe-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(var(--top) + 16px)}body{min-width:280px}.shell{grid-template-columns:var(--rail) minmax(0,1fr)}.workspace{grid-column:2;min-width:0}.page{width:min(100%,var(--content));max-width:none;padding:clamp(18px,2.2vw,34px) clamp(14px,2.5vw,38px) calc(var(--player-h) + var(--status-h) + 44px);container-type:inline-size;container-name:page}
/* rail */
.rail{width:var(--rail);padding:12px 10px;overflow-x:visible}.brand{height:54px;padding:2px 4px 10px}.brand-mark{width:34px;height:34px;flex-basis:34px}.brand-copy strong{font-size:13px}.brand-copy small{display:none}.rail-nav{gap:2px}.rail-group{display:none!important}.rail-link{min-height:39px;grid-template-columns:27px minmax(0,1fr);gap:7px;padding:4px 7px;border-radius:7px;overflow:visible}.rail-link>svg{width:17px;height:17px}.rail-label{font-size:10.5px;font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-link::after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translate(6px,-50%);width:max-content;max-width:240px;padding:8px 10px;border:1px solid var(--line-strong);background:var(--ink);color:var(--paper);font:700 9px/1.4 ui-monospace,monospace;opacity:0;visibility:hidden;pointer-events:none;transition:.12s;z-index:1800;box-shadow:var(--shadow)}.rail-link:hover::after,.rail-link:focus-visible::after{opacity:1;visibility:visible;transform:translate(0,-50%)}.rail-collapse{width:100%;height:34px;border:1px solid transparent;background:transparent;color:var(--quiet);display:flex;align-items:center;justify-content:center}.rail-collapse:hover{border-color:var(--line);background:var(--paper-2)}.rail-collapse svg{width:15px}.sidebar-foot{font-size:6.5px}.mobile-more{display:none}
body.rail-collapsed{--rail:72px}.rail-collapsed .brand{width:52px;margin-inline:auto}.rail-collapsed .brand-copy,.rail-collapsed .rail-label,.rail-collapsed .sidebar-foot{display:none}.rail-collapsed .rail-link{width:52px;grid-template-columns:1fr;justify-content:center;margin-inline:auto}.rail-collapsed .rail-collapse svg{transform:rotate(180deg)}
/* topbar */
.topbar{height:var(--top);grid-template-columns:minmax(110px,.5fr) auto minmax(240px,640px) auto;padding:0 clamp(10px,1.7vw,22px);gap:8px}.crumb{font-size:9px}.space-chip{height:34px;max-width:155px;border:1px solid var(--line);background:var(--paper);padding:0 9px;display:flex;align-items:center;gap:6px;border-radius:999px;font-size:9px;color:var(--muted)}.space-chip svg{width:14px}.space-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search{height:39px}.capture-shortcut{background:var(--yellow-soft)}.statusbar{left:var(--rail);height:var(--status-h)}#global-player-host{left:var(--rail)}body.rail-collapsed .statusbar,body.rail-collapsed #global-player-host{left:72px}
/* app library */
.apps-sheet{width:min(920px,calc(100vw - 24px));max-height:min(780px,86dvh)}.drawer-search{height:42px;border:1px solid var(--line);background:var(--paper-2);display:flex;align-items:center;gap:8px;padding:0 10px;margin-bottom:10px}.drawer-search svg{width:16px}.drawer-search input{border:0;outline:0;background:transparent;flex:1;min-width:0}.apps-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.app-drawer-group{grid-column:1/-1;font:800 7px ui-monospace,monospace;letter-spacing:.15em;color:var(--quiet);padding:10px 3px 2px}.app-menu-item{min-height:64px;border-radius:8px}.app-menu-item small{font-size:8px;line-height:1.3}
/* loading */
.page-loading{display:grid;gap:12px;max-width:960px;padding-top:18px}.sk-title{width:min(360px,70%);height:56px}.sk-line{width:min(620px,94%);height:16px}.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.skeleton-grid i{display:block;height:150px;border:1px solid var(--line);background:linear-gradient(90deg,var(--paper-2),var(--paper-3),var(--paper-2));background-size:220% 100%;animation:shimmer 1.25s infinite}.page-error{max-width:680px;margin-top:20px}
/* density + generic adaptive */
.card{content-visibility:auto;contain-intrinsic-size:160px}.page-head{margin-bottom:20px}.page-title{font-size:clamp(36px,4.3vw,66px)}.lede{font-size:12.5px}.responsive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}.adaptive-2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:12px}.adaptive-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.toolbar-scroll{display:flex;gap:6px;overflow:auto;scrollbar-width:none}.toolbar-scroll::-webkit-scrollbar{display:none}.empty-soft{padding:22px;border:1px dashed var(--line);background:var(--paper-2);color:var(--muted);text-align:center}.metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.metric-card{padding:12px;border:1px solid var(--line);background:var(--paper)}.metric-card strong{display:block;font-size:26px;letter-spacing:-.04em}.section-title{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:22px 0 9px}.section-title h2{margin:0;font-size:18px}.section-title p{margin:2px 0 0}.surface-list{display:grid;gap:6px}.surface-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid var(--line);background:var(--paper);padding:9px}.surface-row .row-icon{width:34px;height:34px;border:1px solid var(--line);display:grid;place-items:center;background:var(--paper-2)}.surface-row .row-icon svg{width:16px}.surface-row p{margin:2px 0 0}
/* Today */
.today-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:10px}.today-focus{min-height:240px;display:flex;flex-direction:column;justify-content:space-between}.today-clock{font-size:clamp(52px,8vw,104px);line-height:.8;letter-spacing:-.08em;font-weight:580}.today-date{font-size:14px;color:var(--muted)}.today-stack{display:grid;gap:8px}.today-agenda-item{display:grid;grid-template-columns:66px minmax(0,1fr);gap:8px;padding:8px;border-bottom:1px solid var(--line)}
/* spaces */
.space-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.space-card{min-height:185px;display:flex;flex-direction:column;justify-content:space-between}.space-card.active{outline:2px solid var(--blue);outline-offset:2px}.space-mark{width:40px;height:40px;border:1px solid var(--line-strong);display:grid;place-items:center;background:var(--accent-soft,var(--blue-soft))}.space-card .space-stats{display:flex;gap:6px;flex-wrap:wrap}
/* Capture */
.capture-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:12px}.capture-pad{min-height:340px}.capture-text{min-height:180px;font-size:18px;line-height:1.55;background:transparent}.capture-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.capture-type{height:70px;border:1px solid var(--line);background:var(--paper-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.capture-type.active{background:var(--yellow-soft);border-color:var(--yellow)}.capture-type svg{width:20px}.capture-inbox-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;align-items:start;border-bottom:1px solid var(--line);padding:9px 0}.capture-inbox-item:last-child{border-bottom:0}.capture-icon{width:34px;height:34px;border:1px solid var(--line);display:grid;place-items:center;background:var(--paper-2)}
/* projects */
.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.project-card{min-height:220px}.milestone-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.project-progress-ring{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--blue) calc(var(--p)*1%),var(--paper-3) 0);position:relative}.project-progress-ring:after{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--paper)}.project-progress-ring b{z-index:1;font-size:10px}
/* meetings */
.meeting-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:10px}.meeting-list{border:1px solid var(--line);background:var(--paper);padding:8px;max-height:690px;overflow:auto}.meeting-item{width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:9px}.meeting-item.active,.meeting-item:hover{background:var(--cyan-soft);border-color:var(--cyan)}.meeting-editor{display:grid;gap:10px}.meeting-timer{font:600 clamp(36px,6vw,72px)/1 ui-monospace,monospace;letter-spacing:-.05em}.decision-row,.action-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px;border:1px solid var(--line);background:var(--paper-2)}
/* tracker */
.habit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.habit-card{display:grid;gap:10px}.habit-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.habit-day{aspect-ratio:1;border:1px solid var(--line);display:grid;place-items:center;font:700 7px ui-monospace,monospace}.habit-day.done{background:var(--green-soft);border-color:var(--green)}.time-log{display:grid;gap:5px}.time-row{display:grid;grid-template-columns:84px minmax(0,1fr) 90px auto;gap:8px;align-items:center;padding:8px;border-bottom:1px solid var(--line)}
/* timeline */
.timeline-stream{position:relative;display:grid;gap:0;max-width:900px}.timeline-stream:before{content:"";position:absolute;left:18px;top:4px;bottom:4px;width:1px;background:var(--line-strong)}.timeline-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:8px 0}.timeline-dot{width:11px;height:11px;margin:7px 0 0 13px;border-radius:50%;background:var(--paper);border:2px solid var(--blue);z-index:1}.timeline-body{border:1px solid var(--line);background:var(--paper);padding:10px}.timeline-body time{font:700 8px ui-monospace,monospace;color:var(--quiet)}
/* tools */
.tool-tabs{display:flex;gap:5px;overflow:auto}.tool-panel{margin-top:10px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.drop-zone{min-height:170px;border:1px dashed var(--line-strong);background:var(--paper-2);display:grid;place-items:center;text-align:center;padding:16px}.image-tool-preview{max-height:420px;display:grid;place-items:center;overflow:auto}.image-tool-preview img{max-height:390px;object-fit:contain}.qr-stage{min-height:230px;display:grid;place-items:center;background:var(--paper-2);border:1px solid var(--line)}
/* feeds */
.feeds-layout{display:grid;grid-template-columns:220px minmax(0,1fr) minmax(300px,.8fr);gap:10px;min-height:680px}.feed-sources,.feed-list,.feed-reader{border:1px solid var(--line);background:var(--paper);min-width:0}.feed-sources{padding:8px}.feed-list{overflow:auto;max-height:760px}.feed-reader{padding:16px;overflow:auto;max-height:760px}.feed-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px}.feed-item:hover,.feed-item.active{background:var(--yellow-soft)}.feed-item.read{opacity:.64}.feed-item b{font-size:10.5px}.feed-item p{font-size:8.5px;margin:4px 0;color:var(--muted);line-height:1.45}.feed-source{width:100%;display:flex;align-items:center;gap:7px;border:1px solid transparent;background:transparent;padding:8px}.feed-source.active,.feed-source:hover{background:var(--paper-2);border-color:var(--line)}
/* backup */
.backup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.backup-card{min-height:210px}.sync-status{display:flex;align-items:center;gap:7px;font:700 8px ui-monospace,monospace;color:var(--muted)}
/* Signals map */
.map-host{height:360px;border:1px solid var(--line);background:var(--paper-2);position:relative}.map-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center}.location-source{display:inline-flex;align-items:center;gap:5px;font:700 7px ui-monospace,monospace;padding:4px 6px;border:1px solid var(--line);background:var(--paper)}
/* global player refinements */
.global-player{grid-template-columns:42px minmax(130px,210px) minmax(180px,1fr) auto minmax(150px,240px)}.player-wave{cursor:pointer}.global-player.visible~*{}body:has(.global-player.visible){--player-visible:1}
/* responsive tiers */
@media(max-width:1279px){:root{--rail:72px}.brand{width:52px;margin-inline:auto}.brand-copy,.rail-label,.sidebar-foot,.rail-collapse{display:none}.rail-link{width:52px;grid-template-columns:1fr;justify-content:center;margin-inline:auto}.rail-link::after{left:calc(100% + 13px)}.statusbar,#global-player-host{left:72px}.topbar{grid-template-columns:auto minmax(0,1fr) auto}.crumb{display:none}.space-chip{max-width:130px}.global-search{grid-column:2}.top-actions{grid-column:3}.notes-shell{grid-template-columns:185px 250px minmax(0,1fr)}.feeds-layout{grid-template-columns:190px minmax(0,1fr)}.feed-reader{grid-column:1/-1;max-height:none}.meeting-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:959px){:root{--rail:0px;--top:58px;--player-h:68px}.shell{display:block;padding-bottom:74px}.rail{left:0;right:0;bottom:0;top:auto;width:auto;height:70px;display:flex;flex-direction:row;align-items:center;padding:6px 8px calc(6px + var(--safe-bottom));border-right:0;border-top:1px solid var(--line);overflow-x:hidden;z-index:1350}.rail .brand,.rail-spacer,.sidebar-foot,.rail-collapse,.rail-link:not([href="index.html"]):not([href="today.html"]):not([href="capture.html"]):not([href="flow.html"]):not(.mobile-more){display:none}.rail-nav{display:grid;grid-template-columns:repeat(5,1fr);width:100%;gap:2px}.rail-link[href="index.html"],.rail-link[href="today.html"],.rail-link[href="capture.html"],.rail-link[href="flow.html"],.mobile-more{display:grid;grid-template-columns:1fr;gap:2px;width:auto;min-height:51px;padding:3px}.rail-label{display:block;font-size:7px;text-align:center}.rail-link::after{display:none}.mobile-more{display:grid}.workspace{margin:0}.topbar{grid-template-columns:auto minmax(0,1fr) auto;padding:0 8px}.space-chip{max-width:106px}.global-search{height:38px}.global-search .kbd{display:none}.top-actions .optional,.top-actions .power-btn{display:none}.statusbar{left:0;bottom:70px}.page{padding:16px 10px calc(var(--player-h) + 112px)}#global-player-host{left:0;bottom:calc(70px + var(--status-h))}.global-player{height:68px;grid-template-columns:34px minmax(0,1fr) auto;padding:6px 8px}.player-art{width:34px;height:34px}.player-copy,.player-secondary{display:none}.player-wave{height:24px}.player-controls .btn:not(.player-main){display:none}.apps-sheet{width:100vw;max-height:88dvh;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0}.apps-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-hero,.capture-layout,.adaptive-2{grid-template-columns:1fr}.meeting-layout{grid-template-columns:1fr}.meeting-list{max-height:250px}.feeds-layout{grid-template-columns:1fr;min-height:0}.feed-sources{display:flex;gap:4px;overflow:auto}.feed-source{flex:0 0 auto;width:auto}.feed-list,.feed-reader{max-height:none}.feed-reader{grid-column:auto}.gallery-shell-v07{grid-template-columns:1fr}.canvas-stage-v07{grid-template-columns:1fr;grid-template-rows:auto minmax(520px,1fr)}.notes-shell{grid-template-columns:160px minmax(0,1fr)}.notes-list{display:none}.settings-layout{grid-template-columns:1fr}.settings-nav{position:sticky;top:var(--top);z-index:45;display:flex;overflow:auto;padding:6px;background:var(--paper);white-space:nowrap}.adaptive-3{grid-template-columns:1fr 1fr}.project-grid,.space-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capture-type-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.page{padding-inline:8px}.topbar{grid-template-columns:auto minmax(0,1fr) auto}.space-chip{width:34px;padding:0;justify-content:center}.space-chip span{display:none}.global-search .search-copy{font-size:0}.global-search .search-copy:after{content:attr(data-short);font-size:10px}.capture-shortcut{display:none}.page-head{gap:12px}.page-title{font-size:clamp(32px,12vw,48px)}.lede{font-size:11px}.page-actions{width:100%;justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:2px}.page-actions .btn{flex:0 0 auto}.apps-menu-grid{grid-template-columns:1fr 1fr}.app-menu-item{min-height:58px;padding:8px}.app-menu-item small{display:none}.skeleton-grid{grid-template-columns:1fr}.today-clock{font-size:72px}.project-grid,.space-grid,.adaptive-3{grid-template-columns:1fr}.capture-type-grid{grid-template-columns:repeat(2,1fr)}.time-row{grid-template-columns:72px 1fr auto}.time-row>*:nth-child(3){display:none}.tool-grid{grid-template-columns:1fr}.feeds-layout{display:block}.feed-sources{margin-bottom:7px}.feed-list{max-height:360px;margin-bottom:7px}.gallery-grid-v07{columns:2 140px}.notes-shell{display:block}.notes-side{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow:auto;padding:6px}.notes-side .eyebrow,.notes-side .divider,.notes-side .template-grid{display:none}.notebook-item{flex:0 0 auto;width:auto}.global-player{grid-template-columns:32px 1fr auto}.statusbar span:first-child{max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-panel,.notification-drawer{left:7px;right:7px;width:auto}.metric-strip{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.rail{padding-inline:3px}.rail-label{font-size:6.5px}.topbar{gap:5px}.global-search{padding-inline:8px}.quick-panel{max-height:72dvh}.apps-menu-grid{grid-template-columns:1fr}.app-menu-item{min-height:52px}.metric-strip{grid-template-columns:1fr 1fr}.capture-type-grid{grid-template-columns:1fr 1fr}.page-title{font-size:32px}.card{padding:11px}.btn{padding-inline:10px}.today-clock{font-size:60px}}
@media(min-width:1280px){body.rail-collapsed .rail-link::after{display:block}}
@media(hover:none){.rail-link::after{display:none}.gallery-item .gallery-actions{opacity:1}}
@media(prefers-reduced-motion:reduce){.skeleton-grid i{animation:none}.page-loading .skeleton::after{animation:none}}
/* v0.8 final polish: settings, signals, dense screens, platform ergonomics */
.settings-v08{grid-template-columns:210px minmax(0,1fr);align-items:start}.settings-v08 .settings-nav{border-radius:8px}.settings-content{max-width:1120px}.location-setting-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);background:var(--paper-2);padding:12px}.location-pin{width:44px;height:44px;border:1px solid var(--line-strong);background:var(--cyan-soft);display:grid;place-items:center}.location-pin svg{width:20px}.signal-place{font-size:clamp(24px,3vw,38px)}.signal-map{height:320px;border:1px solid var(--line);background:var(--paper-2);overflow:hidden;position:relative}.signal-map .leaflet-container{font-family:inherit}.map-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:10px;padding:20px;text-align:center;color:var(--muted)}.map-placeholder svg{width:28px;height:28px}.signal-detail-grid canvas{min-height:160px;max-height:250px}.api-attribution a{text-decoration:underline;text-underline-offset:2px}.quick-language{display:grid;gap:5px;margin-top:10px}.quick-language>span{font:800 7px ui-monospace,monospace;letter-spacing:.12em;color:var(--quiet)}
/* Better viewport utilization across laptop, foldable and mobile sizes. */
@container page (max-width:780px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}.card-head{align-items:flex-start}.section-title{align-items:flex-start}.calendar-toolbar-grid{grid-template-columns:1fr}.office-grid,.reader-shell,.knowledge-layout,.files-layout{grid-template-columns:1fr}.flow-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container page (max-width:520px){.grid-4,.grid-3,.adaptive-3{grid-template-columns:1fr}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.setting-item{align-items:flex-start;flex-direction:column}.setting-item>.toggle{align-self:flex-start}.location-setting-card{grid-template-columns:38px minmax(0,1fr)}.location-setting-card>.toolbar{grid-column:1/-1;width:100%}.location-setting-card>.toolbar .btn:not(.icon){flex:1}.signal-row{grid-template-columns:1fr 1fr}.surface-row{grid-template-columns:auto minmax(0,1fr)}.surface-row>.pill{grid-column:2}.calendar-native{min-width:720px}.calendar-shell{overflow:hidden}.calendar-shell #calendarHost{overflow:auto}.month-grid{min-width:720px}.page-actions{scroll-snap-type:x proximity}.page-actions>*{scroll-snap-align:start}}
@media(max-width:959px){.settings-v08{grid-template-columns:1fr}.settings-v08 .settings-nav{top:calc(var(--top) - 1px);margin:0 -2px 2px;gap:4px;scrollbar-width:none;border-left:0;border-right:0;border-radius:0}.settings-v08 .settings-nav::-webkit-scrollbar{display:none}.settings-v08 .settings-nav .tree-item{display:inline-flex;align-items:center;gap:6px;min-width:max-content;min-height:38px;padding:7px 9px}.settings-v08 .settings-nav .tree-item span{display:inline}.settings-content{max-width:none}.signal-map{height:280px}.topbar .global-search{min-width:0}.global-search .search-copy{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{min-height:calc(100dvh - var(--top) - 70px)}}
@media(max-width:620px){.signal-row{grid-template-columns:1fr 1fr}.location-setting-card{padding:10px}.settings-anchor{padding:12px}.theme-grid{grid-template-columns:1fr 1fr}.theme-grid .theme-option:last-child{grid-column:1/-1}.storage-stats{grid-template-columns:1fr 1fr}.integration-grid,.lib-test-grid{grid-template-columns:1fr 1fr}.signal-map{height:235px}.topbar .space-chip{display:none}.topbar{grid-template-columns:minmax(0,1fr) auto}.global-search{grid-column:1}.top-actions{grid-column:2}.search-copy{max-width:none}.global-search .search-copy{font-size:9px}.global-search .search-copy:after{content:none}.statusbar{font-size:7px}.page-head .page-actions{margin-inline:-2px;width:calc(100% + 4px)}.feed-reader{padding:12px}}
@media(max-width:390px){.signal-row{grid-template-columns:1fr}.theme-grid,.integration-grid,.lib-test-grid{grid-template-columns:1fr}.theme-grid .theme-option:last-child{grid-column:auto}.storage-stats{grid-template-columns:1fr 1fr}.settings-v08 .settings-nav .tree-item{padding-inline:8px}.settings-v08 .settings-nav .tree-item span{font-size:8px}.global-search .search-copy{font-size:8px}.rail-link[href="capture.html"] .rail-label{font-size:6.3px}}

/* ===== assets/css/v09.css ===== */
/* Meja Kerja v0.9 — restore-richness pass + larger adaptive navigation */
:root{--rail:236px;--top:66px;--content:1600px;--player-h:74px;--status-h:25px}
body{font-size:calc(14.5px * var(--ui-scale))}
.shell{grid-template-columns:var(--rail) minmax(0,1fr)}
.workspace{grid-column:2;min-width:0}
.page{width:min(100%,var(--content));max-width:none;padding:clamp(20px,2.6vw,40px) clamp(16px,3vw,46px) calc(var(--player-h) + var(--status-h) + 48px)}
.page-title{font-size:clamp(38px,4.5vw,68px)}
.lede{font-size:14px;max-width:880px}

/* Expanded desktop sidebar: readable but still quiet. */
.rail{width:var(--rail);padding:14px 12px 12px;align-items:stretch;gap:3px;overflow-y:auto;overflow-x:visible}
.brand{width:100%;height:64px;display:flex;align-items:center;justify-content:flex-start;gap:11px;padding:3px 7px 13px;margin:0 0 6px;border-bottom:1px solid var(--line);background:transparent}
.brand-mark{width:40px;height:40px;flex:0 0 40px}
.brand-copy{display:grid;gap:2px;min-width:0}
.brand-copy strong{font-size:15px;line-height:1.05}
.brand-copy small{display:block;font-size:8.5px;line-height:1.3;color:var(--quiet);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rail-nav{display:flex;flex-direction:column;width:100%;min-height:0;gap:2px}
.rail-group{display:block!important;width:100%;padding:13px 10px 5px;text-align:left;font:800 7.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:var(--quiet)}
.rail-link{width:100%;min-height:44px;display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;justify-content:stretch;gap:9px;padding:6px 9px;border-radius:8px;overflow:visible;text-align:left}
.rail-link>svg{width:19px;height:19px;margin:auto}
.rail-label{display:block;font-size:13px;font-weight:680;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.012em}
.rail-link.active{background:var(--paper-2);color:var(--ink);border-color:var(--line-strong)}
.rail-link.active::before{left:-13px;height:28px;background:var(--blue)}
.rail-link.active>svg{color:var(--blue)}
.rail-link::after{max-width:280px;padding:9px 11px;font-size:9.5px;line-height:1.45}
.mobile-more{display:grid!important;margin-top:8px;border-top:1px solid var(--line);border-radius:0;padding-top:8px}
.rail-collapse{width:100%;min-height:36px;margin-top:6px}
.sidebar-foot{display:flex;font-size:7px;padding-inline:8px}

body.rail-collapsed{--rail:78px}
.rail-collapsed .rail{align-items:center;padding-inline:10px}
.rail-collapsed .brand{width:54px;justify-content:center;border-bottom:0;padding-inline:0}
.rail-collapsed .brand-copy,.rail-collapsed .rail-label,.rail-collapsed .rail-group,.rail-collapsed .sidebar-foot{display:none!important}
.rail-collapsed .rail-link{width:54px;grid-template-columns:1fr;padding-inline:6px;margin-inline:auto;border-radius:8px}
.rail-collapsed .mobile-more{border-top:0;margin-top:3px;padding-top:6px}
.rail-collapsed .rail-link::after{left:calc(100% + 14px)}

/* Top shell. */
.topbar{height:var(--top);grid-template-columns:minmax(150px,.6fr) auto minmax(260px,680px) auto;padding:0 clamp(12px,1.8vw,24px);gap:10px}
.crumb{font-size:10px}
.space-chip{height:36px;max-width:180px;font-size:10px}
.global-search{height:42px}
.statusbar,#global-player-host{left:var(--rail)}

/* Restored rich desk. */
.desk-section{margin-top:22px}
.desk-v09{min-height:875px;padding:20px;overflow:hidden}
.desk-v09 .desk-object{left:20px;top:20px;width:280px;min-height:185px}
.desk-v09 .desk-object .textarea{min-height:112px}
.desk-v09 .desk-object .grab{cursor:grab;touch-action:none}
.desk-v09 .desk-object .grab:active{cursor:grabbing}
.app-launcher-core{grid-template-columns:repeat(6,minmax(0,1fr))}
.app-launcher-new{grid-template-columns:repeat(4,minmax(0,1fr))}
.app-tile{min-height:106px;padding:13px}
.app-tile b{font-size:12px}
.app-tile .tiny{font-size:9px;line-height:1.35}

/* Generic responsive improvements for old and new apps. */
.page-actions{gap:8px}
.card{padding:clamp(14px,1.4vw,18px)}
.card h2{font-size:18px}
.btn{min-height:40px}
.input,.select,.textarea{font-size:13px}
.settings-content{max-width:1180px}
.table-wrap{max-width:100%}

@media(max-width:1299px) and (min-width:901px){
  .desk-v09{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:auto;padding:10px;overflow:visible}
  .desk-v09 .desk-object{position:relative!important;inset:auto!important;width:auto;min-height:170px;transform:none!important}
  .desk-v09 .grab{opacity:.35;pointer-events:none}
  .app-launcher-core{grid-template-columns:repeat(4,minmax(0,1fr))}
  .app-launcher-new{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Bottom app dock on phones/tablets; five primary apps + More. */
@media(max-width:900px){
  :root{--rail:0px;--top:60px;--player-h:70px}
  .shell{display:block;padding-bottom:76px}
  .workspace{grid-column:auto;margin:0}
  .rail{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;height:72px;display:flex;align-items:center;padding:6px max(7px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));border-right:0;border-top:1px solid var(--line);overflow:visible;background:color-mix(in srgb,var(--paper) 97%,transparent);backdrop-filter:blur(10px);z-index:1300}
  .brand,.rail-group,.rail-spacer,.sidebar-foot,.rail-collapse,.rail-link:not(.mobile-primary):not(.mobile-more){display:none!important}
  .rail-nav{height:100%;width:100%;display:grid;grid-template-columns:repeat(6,minmax(48px,1fr));gap:3px}
  .rail-link.mobile-primary,.mobile-more{display:grid!important;width:auto;min-width:0;min-height:56px;grid-template-columns:1fr;grid-template-rows:23px 15px;justify-items:center;align-content:center;gap:2px;padding:3px 2px;margin:0;border-radius:7px;border-top:0}
  .rail-link>svg{width:19px;height:19px}
  .rail-label{display:block!important;font-size:8.5px;font-weight:750;text-align:center;max-width:100%}
  .rail-link::after{display:none!important}
  .rail-link.active::before{left:50%;top:-7px;width:28px;height:3px;transform:translateX(-50%)}
  .topbar{grid-template-columns:minmax(0,1fr) auto;height:var(--top);padding:0 10px;gap:7px}
  .crumb,.space-chip{display:none}
  .global-search{grid-column:1;height:40px}
  .top-actions{grid-column:2}
  .statusbar{left:0;bottom:72px}
  #global-player-host{left:0;bottom:calc(72px + var(--status-h))}
  .page{padding:18px 12px calc(var(--player-h) + 116px);min-height:calc(100dvh - var(--top) - 72px)}
  .page-head{align-items:flex-start;flex-direction:column;gap:14px}
  .page-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none}
  .page-actions::-webkit-scrollbar{display:none}
  .page-actions>*{flex:0 0 auto}
  .desk-v09{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:auto;padding:9px;overflow:visible}
  .desk-v09 .desk-object{position:relative!important;inset:auto!important;width:auto;min-height:160px;transform:none!important}
  .desk-v09 .grab{display:none}
  .app-launcher-core{grid-template-columns:repeat(3,minmax(0,1fr))}
  .app-launcher-new{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  body{font-size:calc(14px * var(--ui-scale))}
  .page{padding-inline:10px}
  .page-title{font-size:clamp(34px,11vw,48px)}
  .lede{font-size:13px}
  .desk-v09{grid-template-columns:1fr}
  .app-launcher-core,.app-launcher-new{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-tile{min-height:92px}
  .top-actions .optional,.top-actions .power-btn .label-hide{display:none}
  .global-search .kbd{display:none}
  .global-search .search-copy{font-size:9px}
}

@media(max-width:380px){
  .rail-label{font-size:7.5px!important}
  .page{padding-inline:8px}
  .app-launcher-core,.app-launcher-new{grid-template-columns:1fr 1fr}
}

/* ===== assets/css/v10.css ===== */
/* Meja Kerja v1.0 — additive platform pass. Keeps v0.9 features and improves scale, context, launcher, and new apps. */
:root{--rail:304px;--top:68px;--context-h:38px;--content:1680px}
body{font-size:calc(15px * var(--ui-scale))}

/* Expanded navigation: intentionally more readable. */
.rail{padding:14px 14px 12px;gap:3px}
.brand{height:72px;padding:4px 8px 14px;gap:12px}
.brand-mark{width:42px;height:42px;flex:0 0 42px}
.brand-copy strong{font-size:17px;font-weight:750;letter-spacing:-.025em}
.brand-copy small{font-size:10px;max-width:214px}
.rail-group{padding:14px 10px 6px;font-size:9px;letter-spacing:.16em}
.rail-link{min-height:50px;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:7px 10px;border-radius:9px}
.rail-link>svg{width:20px;height:20px}
.rail-label{display:block;font-size:20px;font-weight:600;line-height:1.05;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rail-link::after{font-size:11px;line-height:1.45}
.rail-collapse{min-height:40px}
body.rail-collapsed{--rail:80px}
.rail-collapsed .rail-link{width:56px;min-height:52px}

/* Context strip is a quiet semantic status layer, not another card. */
.context-strip{position:sticky;top:var(--top);z-index:86;height:var(--context-h);display:flex;align-items:center;gap:10px;padding:0 clamp(12px,2vw,24px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(8px);overflow:hidden}
.context-strip .context-app{font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em;color:var(--muted);flex:0 0 auto}
.context-strip .context-main{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.context-strip .context-meta{margin-left:auto;display:flex;gap:7px;align-items:center;white-space:nowrap}
.context-strip .context-meta span{font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--quiet)}
.context-strip .context-dot{width:6px;height:6px;border-radius:50%;background:var(--green);border:1px solid var(--ink)}

/* App drawer pin controls. */
.app-menu-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:4px;align-items:stretch}
.app-menu-row .app-menu-item{min-width:0}
.app-pin{border:1px solid transparent;background:transparent;color:var(--muted);display:grid;place-items:center;border-radius:7px;min-height:42px}
.app-pin:hover,.app-pin.active{background:var(--paper-2);border-color:var(--line);color:var(--blue)}
.app-pin svg{width:16px;height:16px}
.apps-pinned-summary{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 9px;padding:7px 8px;border:1px dashed var(--line);background:var(--paper-2)}
.apps-pinned-summary b{font-size:10px}
.apps-pinned-summary span{font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}

/* New platform apps. */
.data-layout{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:12px}.data-table-host{min-height:420px;overflow:auto}.sql-box{font:500 13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;min-height:130px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stat-mini{padding:12px;border:1px solid var(--line);background:var(--paper-2)}.stat-mini b{display:block;font-size:22px}
.scan-layout{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(260px,.8fr);gap:12px}.scan-stage{min-height:520px;display:grid;place-items:center;background:var(--paper-2);border:1px solid var(--line);overflow:auto}.scan-stage canvas,.scan-stage video{max-width:100%;max-height:72vh}.scan-pages{display:flex;gap:7px;overflow:auto;padding:7px}.scan-thumb{width:90px;min-width:90px;height:112px;border:1px solid var(--line);background:var(--paper-2);padding:4px;position:relative}.scan-thumb img{width:100%;height:100%;object-fit:cover}.scan-thumb.active{outline:2px solid var(--blue)}
.archive-layout{display:grid;grid-template-columns:240px minmax(0,1fr) 340px;gap:12px}.archive-list{display:grid;gap:7px}.archive-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);background:var(--paper)}.archive-item.active{border-color:var(--ink);background:var(--paper-2)}
.people-layout{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);gap:12px}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.person-card{padding:13px;border:1px solid var(--line);background:var(--paper);display:grid;gap:8px}.person-avatar{width:42px;height:42px;border:1px solid var(--ink);display:grid;place-items:center;font-weight:800;background:var(--cyan-soft)}
.automation-layout{display:grid;grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr);gap:12px}.rule-card{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);background:var(--paper)}.rule-flow{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.rule-node{border:1px solid var(--line);background:var(--paper-2);padding:10px;min-width:150px}.rule-arrow{font-size:20px;color:var(--quiet)}
.library-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.library-card{min-height:145px;padding:13px;border:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;gap:8px}.library-card>svg{width:26px;height:26px}.library-card .library-actions{margin-top:auto;display:flex;gap:5px}

/* Better responsive typography and wide-layout control. */
@media(max-width:1320px) and (min-width:1101px){:root{--rail:286px}.rail-label{font-size:20px;font-weight:600}.brand-copy strong{font-size:16px}.page{padding-inline:28px}.archive-layout{grid-template-columns:210px minmax(0,1fr) 300px}}
@media(max-width:1100px) and (min-width:901px){:root{--rail:88px}.brand{width:58px;justify-content:center;padding-inline:0}.brand-copy,.rail-label,.rail-group,.sidebar-foot{display:none!important}.rail{align-items:center;padding-inline:12px}.rail-link{width:58px;grid-template-columns:1fr;padding-inline:6px;margin-inline:auto}.rail-link::after{left:calc(100% + 13px)}.rail-collapse{width:58px}.data-layout,.scan-layout,.people-layout,.automation-layout{grid-template-columns:1fr}.archive-layout{grid-template-columns:210px minmax(0,1fr)}.archive-detail{grid-column:1/-1}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){:root{--context-h:34px}.context-strip{top:var(--top);height:34px;padding-inline:10px}.context-strip .context-main{font-size:10px}.context-strip .context-meta span:nth-child(n+2){display:none}.rail-label{font-size:9px!important;font-weight:700!important;letter-spacing:-.01em}.data-layout,.scan-layout,.people-layout,.automation-layout,.archive-layout,.library-layout{grid-template-columns:1fr}.archive-detail{grid-column:auto}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-side{display:flex;gap:5px;overflow:auto}.library-side .eyebrow{display:none}.library-side .btn{flex:0 0 auto}}
@media(max-width:560px){.stat-grid{grid-template-columns:1fr 1fr}.people-grid,.library-grid{grid-template-columns:1fr 1fr}.scan-stage{min-height:360px}.context-strip .context-app{display:none}}
@media(max-width:390px){.people-grid,.library-grid{grid-template-columns:1fr}}

.floating-tip{position:fixed;z-index:2500;max-width:260px;padding:9px 11px;border:1px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-lg);font-size:11px;font-weight:650;line-height:1.45;color:var(--ink);pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease}.floating-tip.show{opacity:1;transform:none}body.floating-tips .rail-link::after{display:none!important}
.editor-layout.split-enabled{display:flex;gap:0}.editor-layout.split-enabled>.editor-pane,.editor-layout.split-enabled>.preview-pane{min-width:0}.gutter{background:var(--paper-3);border-left:1px solid var(--line);border-right:1px solid var(--line);cursor:col-resize}.gutter:hover{background:var(--cyan-soft)}
@media(max-width:1050px){.editor-layout.split-enabled{display:grid;grid-template-columns:1fr}.gutter{display:none!important}}

/* ===== assets/css/v11.css ===== */
/* Meja Kerja v1.1 — additive UX pass. No legacy feature removal. */
:root{--rail:304px;--top:68px;--content:1720px}
/* Sidebar: fixed brand + independently scrolling navigation. */
.rail{overflow:hidden!important;align-items:stretch!important;padding:12px 12px 10px!important}
.brand{flex:0 0 70px!important;height:70px!important;margin:0 0 6px!important;padding:4px 8px 12px!important}
.rail-nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 2px 8px!important;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.rail-nav::-webkit-scrollbar{width:5px}.rail-nav::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px}
.rail-group{position:relative!important;padding:14px 10px 6px!important;font-size:9px!important;letter-spacing:.15em!important;color:var(--quiet)!important}
.rail-link{min-height:48px!important;grid-template-columns:38px minmax(0,1fr)!important;gap:9px!important;padding:7px 10px!important;border-radius:10px!important;margin:1px 0!important}
.rail-link>svg{width:21px!important;height:21px!important}
.rail-label{font-family:Segoe UI,Inter,system-ui,sans-serif!important;font-size:20px!important;font-weight:600!important;line-height:1.08!important;letter-spacing:-.035em!important}
.rail-link:hover{background:var(--paper-2)!important;border-color:var(--line)!important}.rail-link.active{background:color-mix(in srgb,var(--blue-soft) 56%,var(--paper))!important;border-color:var(--line-strong)!important;color:var(--ink)!important}.rail-link.active::before{left:-12px!important;width:4px!important;height:30px!important;background:var(--blue)!important}.rail-link.active>svg{color:var(--blue)!important}
.mobile-more{position:sticky;bottom:0;z-index:4;background:color-mix(in srgb,var(--paper) 95%,transparent)!important;backdrop-filter:blur(8px);border-top:1px solid var(--line)!important;margin-top:10px!important;padding-top:8px!important}
.rail-collapse{flex:0 0 40px!important;margin-top:4px!important}.sidebar-foot{flex:0 0 28px!important}
body.rail-collapsed{--rail:82px}.rail-collapsed .rail{align-items:center!important;padding-inline:11px!important}.rail-collapsed .rail-nav{width:100%;overflow-y:auto!important}.rail-collapsed .rail-link{width:58px!important;grid-template-columns:1fr!important;padding:7px!important}.rail-collapsed .rail-label,.rail-collapsed .rail-group{display:none!important}.rail-collapsed .mobile-more{position:relative;border-top:0!important}
/* Topbar scales better around laptop widths. */
.topbar{grid-template-columns:minmax(135px,.6fr) auto minmax(260px,680px) auto!important;padding-inline:clamp(12px,1.5vw,24px)!important}.global-search{min-width:0}.search-copy{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Universal global drop router. */
.global-drop-overlay{position:fixed;inset:12px;z-index:5000;border:2px dashed var(--ink);background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:.14s}.global-drop-overlay.show{opacity:1;visibility:visible}.global-drop-overlay>div{max-width:520px;padding:28px;border:1px solid var(--line-strong);background:var(--paper);text-align:center;box-shadow:var(--shadow-lg)}.global-drop-overlay strong{display:block;font-size:28px;letter-spacing:-.04em}.global-drop-overlay span{display:block;margin-top:8px;color:var(--muted);font-size:13px}
/* New feature surfaces. */
.feature-layout{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:12px}.feature-list{display:grid;gap:7px;max-height:70vh;overflow:auto}.feature-item{padding:11px;border:1px solid var(--line);background:var(--paper);display:grid;gap:4px;text-align:left}.feature-item.active{border-color:var(--ink);background:var(--paper-2)}
.map-host{height:min(68vh,680px);min-height:420px;border:1px solid var(--line);background:var(--paper-2)}.map-note-list{display:grid;gap:7px}.finance-grid,.inventory-grid,.reference-grid,.plugin-grid,.relations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.metric-card{padding:14px;border:1px solid var(--line);background:var(--paper)}.metric-card .value{font-size:clamp(26px,4vw,44px);font-weight:750;letter-spacing:-.05em}.relation-node{padding:10px;border:1px solid var(--line);background:var(--paper-2)}
.desk-customizer{position:fixed;right:14px;top:calc(var(--top) + var(--context-h) + 12px);z-index:1400;width:min(360px,calc(100vw - 28px));max-height:72vh;overflow:auto;padding:14px;border:1px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-lg);display:none}.desk-customizer.open{display:block}.widget-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.saved-searches{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.saved-search{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid var(--line);background:var(--paper-2);font-size:10px}.saved-search button{border:0;background:transparent;padding:0;color:var(--quiet)}
@media(max-width:1220px) and (min-width:901px){:root{--rail:88px}.brand{width:60px!important;justify-content:center!important;padding-inline:0!important}.brand-copy,.rail-label,.rail-group,.sidebar-foot{display:none!important}.rail{align-items:center!important;padding-inline:12px!important}.rail-nav{width:100%}.rail-link{width:60px!important;grid-template-columns:1fr!important;padding-inline:6px!important;margin-inline:auto!important}.rail-link::after{left:calc(100% + 12px)!important}.mobile-more{position:relative!important;border-top:0!important}.topbar{grid-template-columns:minmax(0,1fr) auto!important}.crumb,.space-chip{display:none!important}.global-search{grid-column:1}.top-actions{grid-column:2}.feature-layout{grid-template-columns:1fr}.map-host{height:55vh}}
@media(max-width:900px){.rail-label{font-size:8.5px!important;font-weight:750!important;letter-spacing:-.01em!important}.rail-nav{overflow:visible!important}.mobile-more{position:relative!important;margin-top:0!important;padding-top:3px!important}.feature-layout{grid-template-columns:1fr}.map-host{min-height:360px;height:52vh}.global-drop-overlay{inset:7px}.global-drop-overlay strong{font-size:22px}.desk-customizer{top:calc(var(--top) + 8px);right:8px;left:8px;width:auto}}
.rail-pinned-list{display:grid;gap:2px}.rail-pinned-list .rail-link{cursor:grab}.rail-pinned-list .rail-link:active{cursor:grabbing}.rail-pin-heading{color:var(--blue)!important}.apps-recent{margin:10px 0 12px;padding:10px;border:1px solid var(--line);background:var(--paper-2)}.apps-recent-row{display:flex;gap:7px;overflow:auto;padding-top:7px}.apps-recent-row a{min-width:76px;display:grid;justify-items:center;gap:5px;padding:8px;border:1px solid transparent;color:var(--muted);text-decoration:none}.apps-recent-row a:hover{border-color:var(--line-strong);background:var(--paper)}.apps-recent-row svg{width:18px;height:18px}.apps-recent-row span{font-size:9px;font-weight:700;white-space:nowrap}
@media(max-width:900px){.rail-pinned-list{display:contents}.rail-pinned-list .rail-link:not(.mobile-primary){display:none!important}}

/* ===== assets/css/v12.css ===== */
/* Meja Kerja v1.2 — navigation, consistency, knowledge graph and additive inspector pass. */
:root{--rail:316px;--top:66px;--control:42px;--context-h:38px;--sidebar-gap:8px}

/* ---------- Unified controls ---------- */
.btn,.input,.select,.textarea,.global-search,.space-chip,.power-btn,.quick-tile{border-radius:10px!important}
.btn{min-height:var(--control)!important;height:var(--control)!important;padding:0 13px!important;font-size:12px!important;font-weight:650!important;letter-spacing:-.01em!important;border-color:var(--line)!important;box-shadow:none!important}
.btn:hover{transform:none!important;border-color:var(--line-strong)!important;background:var(--paper-2)!important}
.btn:active{transform:translateY(1px)!important}
.btn.primary{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}
.btn.good{background:var(--green-soft)!important;border-color:var(--green)!important}
.btn.danger{background:var(--red-soft)!important;border-color:var(--red)!important}
.btn.icon{width:var(--control)!important;min-width:var(--control)!important;padding:0!important}
.btn svg{width:18px!important;height:18px!important;stroke-width:1.8}
.input,.select{min-height:var(--control)!important;padding:0 12px!important;font-size:12px!important}.textarea{font-size:12px!important;line-height:1.55!important}
.segmented{border-radius:11px!important;padding:3px!important}.segmented .btn{height:34px!important;min-height:34px!important;border-radius:8px!important;font-size:11px!important}
.page-actions,.toolbar,.toolbar-scroll{gap:7px!important}.page-actions .btn,.toolbar .btn{white-space:nowrap}
.card{border-radius:12px!important}.card-head{min-height:34px}.pill{min-height:27px;padding:5px 9px!important;font-size:9px!important}

/* ---------- Expanded sidebar ---------- */
.rail{width:var(--rail)!important;overflow:hidden!important;align-items:stretch!important;padding:12px 12px 10px!important;gap:0!important;background:color-mix(in srgb,var(--paper) 96%,transparent)!important}
.brand{width:100%!important;height:66px!important;min-height:66px!important;margin:0 0 8px!important;padding:5px 8px 12px!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:11px!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important}
.brand-mark{width:40px!important;height:40px!important;flex:0 0 40px!important}.brand-copy strong{font-size:17px!important}.brand-copy small{display:block!important;font-size:9.5px!important;max-width:220px!important}
.rail-nav{position:relative;flex:1 1 auto!important;min-height:0!important;width:100%!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 0 8px!important;scrollbar-width:none!important;mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 24px),transparent 100%)}.rail-nav::-webkit-scrollbar{display:none!important}
.desktop-rail-nav{display:grid;gap:5px;align-content:start;padding-bottom:8px}.mobile-nav-set{display:none}
.rail-search{height:42px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;border:1px solid var(--line);background:var(--paper-2);border-radius:11px;padding:0 9px;margin:1px 0 7px}.rail-search svg{width:17px;height:17px;color:var(--muted)}.rail-search input{min-width:0;border:0;background:transparent;outline:0;font-size:11px}.rail-search kbd,.rail-all-apps kbd{font:700 8px/1 ui-monospace,monospace;color:var(--quiet);border:1px solid var(--line);padding:4px 5px;border-radius:5px;background:var(--paper)}
.rail-pins{display:grid;gap:3px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:3px}.rail-pins-head{display:flex;justify-content:space-between;align-items:center;padding:5px 9px 3px;font:800 8px/1 ui-monospace,monospace;letter-spacing:.13em;color:var(--blue)}.rail-pins-head small{font-size:8px;color:var(--quiet)}
.rail-section{display:grid;gap:2px}.rail-section-toggle{width:100%;min-height:42px;border:1px solid transparent;background:transparent;color:var(--muted);display:grid;grid-template-columns:32px minmax(0,1fr) auto 18px;gap:7px;align-items:center;padding:5px 8px;border-radius:10px;text-align:left}.rail-section-toggle:hover{background:var(--paper-2);border-color:var(--line)}.rail-section-icon{width:30px;height:30px;display:grid;place-items:center}.rail-section-icon svg{width:18px;height:18px}.rail-section-label{font-size:12px;font-weight:750;letter-spacing:.01em}.rail-section-count{font:700 8px/1 ui-monospace,monospace;color:var(--quiet);border:1px solid var(--line);border-radius:999px;padding:4px 6px;background:var(--paper)}.rail-section-chevron{width:15px;height:15px;transition:transform .16s var(--ease)}.rail-section.open>.rail-section-toggle .rail-section-chevron,.rail-section.search-open>.rail-section-toggle .rail-section-chevron{transform:rotate(180deg)}
.rail-section-items{display:none;gap:2px;padding:2px 0 4px 12px}.rail-section.open>.rail-section-items,.rail-section.search-open>.rail-section-items{display:grid}
.rail-link{width:100%!important;min-height:48px!important;display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:9px!important;row-gap:1px!important;align-items:center!important;padding:6px 9px!important;margin:0!important;border-radius:10px!important;color:var(--muted)!important;border:1px solid transparent!important;overflow:hidden!important}
.rail-link:hover{background:var(--paper-2)!important;border-color:var(--line)!important}.rail-link.active{background:color-mix(in srgb,var(--blue-soft) 60%,var(--paper))!important;border-color:var(--line-strong)!important;color:var(--ink)!important}.rail-link.active::before{left:-13px!important;width:4px!important;height:30px!important;background:var(--blue)!important}.rail-icon{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center}.rail-icon svg{width:20px!important;height:20px!important;stroke-width:1.7}.rail-link.active .rail-icon{color:var(--blue)}
.rail-label{font-family:"Segoe UI Variable Text","Segoe UI",Inter,system-ui,sans-serif!important;font-size:20px!important;font-weight:600!important;line-height:1!important;letter-spacing:-.035em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.rail-hint{grid-column:2;font-size:8.5px;line-height:1.25;color:var(--quiet);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-link::after{display:none!important}
.rail-pinned-list{display:grid!important;gap:2px!important;padding-left:2px}.rail-pinned-list .rail-hint{display:none}.rail-pinned-list .rail-link{grid-template-rows:1fr!important}.rail-pinned-list .rail-icon{grid-row:auto}.rail-all-apps{width:100%;height:44px;margin-top:7px;border:1px dashed var(--line-strong);background:var(--paper-2);border-radius:10px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 10px;text-align:left;font-size:11px;font-weight:750;color:var(--muted)}.rail-all-apps:hover{border-style:solid;background:var(--paper)}.rail-all-apps svg{width:17px}
.rail-collapse{width:100%!important;min-height:40px!important;flex:0 0 40px!important;margin:5px 0 0!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:var(--muted)!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;padding:0 10px!important}.rail-collapse:hover{background:var(--paper-2)!important;border-color:var(--line)!important}.rail-collapse svg{width:17px}.rail-collapse span{font-size:10px;font-weight:700}.sidebar-foot{flex:0 0 28px!important;padding:7px 9px 0!important;border-top:0!important}

/* ---------- Top bar and inspector ---------- */
.topbar{height:var(--top)!important;grid-template-columns:minmax(160px,.62fr) auto minmax(270px,680px) auto!important;gap:9px!important;padding-inline:clamp(12px,1.7vw,26px)!important}.global-search,.space-chip{height:42px!important;border-radius:11px!important}.global-search{border-color:var(--line)!important}.top-actions{gap:5px!important}.power-btn{height:42px!important;min-height:42px!important}.power-state{min-width:24px;text-align:center;font:800 8px/1 ui-monospace,monospace}
#inspectorBtn[aria-expanded="true"]{background:var(--blue-soft)!important;border-color:var(--blue)!important;color:var(--ink)!important}
.app-inspector{position:fixed;right:0;top:0;bottom:0;z-index:2100;width:min(390px,92vw);background:var(--paper);border-left:1px solid var(--line-strong);box-shadow:-20px 0 60px rgba(20,24,20,.10);transform:translateX(102%);transition:transform .22s var(--ease);display:grid;grid-template-rows:auto auto minmax(0,1fr)}.app-inspector.open{transform:none}.inspector-scrim{position:fixed;inset:0;z-index:2050;background:rgba(25,28,24,.18);opacity:0;visibility:hidden;transition:.18s}.inspector-scrim.open{opacity:1;visibility:visible}.inspector-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.inspector-head h2{margin:4px 0 0;font-size:24px;letter-spacing:-.04em}.inspector-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:6px;border-bottom:1px solid var(--line);background:var(--paper-2)}.inspector-tabs button{height:34px;border:1px solid transparent;background:transparent;border-radius:8px;font-size:10px;font-weight:750}.inspector-tabs button.active{background:var(--paper);border-color:var(--line-strong)}.inspector-body{overflow:auto;padding:14px}.inspector-section{display:grid;gap:10px}.inspector-summary{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--line);background:var(--paper-2);border-radius:10px}.inspector-summary .app-menu-icon{width:44px;height:44px}.inspector-summary b{display:block;font-size:14px}.inspector-summary small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.inspector-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.inspector-action{min-height:74px;border:1px solid var(--line);background:var(--paper);border-radius:10px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;gap:1px 8px;align-items:center;padding:9px;text-align:left}.inspector-action:hover{background:var(--paper-2);border-color:var(--line-strong)}.inspector-action>span{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--paper-2)}.inspector-action svg{width:16px}.inspector-action b{font-size:11px}.inspector-action small{font-size:8px;color:var(--quiet)}.inspector-utility-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.inspector-utility-grid .btn{justify-content:flex-start!important}.field-label{font-size:10px;font-weight:750;color:var(--muted)}.inspector-note-list,.inspector-link-list,.inspector-history{display:grid;gap:6px}.inspector-note,.inspector-link,.inspector-history article{position:relative;border:1px solid var(--line);background:var(--paper-2);border-radius:9px;padding:10px}.inspector-note{padding-right:45px}.inspector-note p{margin:0 0 5px;font-size:11px;line-height:1.5}.inspector-note small,.inspector-link small,.inspector-history small{color:var(--quiet);font-size:8px}.inspector-note>.btn{position:absolute;right:6px;top:6px;width:31px!important;min-width:31px!important;height:31px!important;min-height:31px!important}.inspector-link{display:grid;grid-template-columns:30px minmax(0,1fr) 32px;gap:7px;align-items:center}.inspector-link>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px}.inspector-link b{display:block;font-size:10px}.inspector-link .btn{width:31px!important;min-width:31px!important;height:31px!important;min-height:31px!important}.inspector-link-form{display:grid;grid-template-columns:1fr 130px;gap:6px}.inspector-link-form .btn{grid-column:1/-1}.inspector-history article{display:grid;grid-template-columns:12px minmax(0,1fr);gap:7px}.history-dot{width:7px;height:7px;margin-top:4px;border-radius:50%;background:var(--cyan);border:1px solid var(--ink)}

/* ---------- Knowledge graph containment fix ---------- */
.graph-host{position:relative!important;overflow:hidden!important;isolation:isolate!important;contain:layout paint size!important;min-height:520px!important}.graph-host>svg,.graph-host>div,.graph-host>canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important}.graph-host .native-graph{position:absolute!important}.knowledge-layout{align-items:start!important}.knowledge-layout>div{min-width:0!important}.knowledge-layout+section{position:relative!important;z-index:1!important}.native-graph{min-height:0!important}

/* ---------- Compact desktop/tablet rail: category icons + flyout submenus; no long scrollbar ---------- */
body.rail-collapsed{--rail:86px}.rail-collapsed .brand{width:62px!important;margin-inline:auto!important;justify-content:center!important;padding-inline:0!important}.rail-collapsed .brand-copy,.rail-collapsed .rail-search,.rail-collapsed .rail-pins,.rail-collapsed .rail-section-label,.rail-collapsed .rail-section-count,.rail-collapsed .rail-section-chevron,.rail-collapsed .rail-all-apps span,.rail-collapsed .rail-all-apps kbd,.rail-collapsed .rail-collapse span,.rail-collapsed .sidebar-foot span:last-child{display:none!important}.rail-collapsed .desktop-rail-nav{justify-items:center}.rail-collapsed .rail-section{position:relative;width:60px}.rail-collapsed .rail-section-toggle{width:60px!important;min-height:54px!important;grid-template-columns:1fr!important;padding:5px!important;justify-items:center!important}.rail-collapsed .rail-section-icon{width:40px;height:40px}.rail-collapsed .rail-section-icon svg{width:21px;height:21px}.rail-collapsed .rail-section-items{position:fixed!important;left:88px!important;top:var(--flyout-top,90px)!important;width:300px!important;max-height:min(560px,calc(100dvh - 24px))!important;overflow:auto!important;z-index:1800!important;padding:8px!important;border:1px solid var(--line-strong)!important;background:var(--paper)!important;box-shadow:var(--shadow-lg)!important;border-radius:12px!important;display:none!important}.rail-collapsed .rail-section.flyout-open>.rail-section-items{display:grid!important}.rail-collapsed .rail-section-items .rail-link{grid-template-columns:36px minmax(0,1fr)!important;grid-template-rows:auto auto!important;width:100%!important;padding:7px 9px!important}.rail-collapsed .rail-section-items .rail-label{display:block!important;font-size:16px!important}.rail-collapsed .rail-section-items .rail-hint{display:block!important}.rail-collapsed .rail-all-apps{width:60px!important;grid-template-columns:1fr!important;justify-items:center!important;padding:0!important}.rail-collapsed .rail-collapse{width:60px!important;justify-content:center!important;margin-inline:auto!important}.rail-collapsed .sidebar-foot{justify-content:center!important}

@media(max-width:1220px) and (min-width:901px){:root{--rail:86px}.rail{align-items:center!important;padding-inline:12px!important}.brand{width:62px!important;justify-content:center!important;padding-inline:0!important}.brand-copy,.rail-search,.rail-pins,.rail-section-label,.rail-section-count,.rail-section-chevron,.rail-all-apps span,.rail-all-apps kbd,.rail-collapse span,.sidebar-foot span:last-child{display:none!important}.desktop-rail-nav{width:100%;justify-items:center;gap:4px}.rail-nav{overflow:visible!important;mask-image:none!important}.rail-section{position:relative;width:60px}.rail-section-toggle{width:60px!important;min-height:54px!important;grid-template-columns:1fr!important;padding:5px!important;justify-items:center!important}.rail-section-icon{width:40px;height:40px}.rail-section-icon svg{width:21px;height:21px}.rail-section-items{position:fixed!important;left:88px!important;top:var(--flyout-top,86px)!important;width:310px!important;max-height:min(560px,calc(100dvh - 24px))!important;overflow:auto!important;z-index:1800!important;padding:8px!important;border:1px solid var(--line-strong)!important;background:var(--paper)!important;box-shadow:var(--shadow-lg)!important;border-radius:12px!important;display:none!important}.rail-section.flyout-open>.rail-section-items{display:grid!important}.rail-section-items .rail-link{display:grid!important;width:100%!important;grid-template-columns:36px minmax(0,1fr)!important;grid-template-rows:auto auto!important;padding:7px 9px!important}.rail-section-items .rail-label{display:block!important;font-size:16px!important}.rail-section-items .rail-hint{display:block!important}.rail-all-apps{width:60px!important;grid-template-columns:1fr!important;justify-items:center!important;padding:0!important}.rail-collapse{width:60px!important;justify-content:center!important;margin-inline:auto!important}.sidebar-foot{justify-content:center!important}.topbar{grid-template-columns:minmax(0,1fr) auto!important}.crumb,.space-chip{display:none!important}.global-search{grid-column:1}.top-actions{grid-column:2}.top-actions .power-btn .label-hide{display:none}.page{padding-inline:clamp(16px,2vw,24px)!important}}

/* ---------- Mobile dock ---------- */
@media(max-width:900px){:root{--rail:0px;--top:58px}.rail{left:0!important;right:0!important;bottom:0!important;top:auto!important;width:auto!important;height:70px!important;padding:6px 7px calc(6px + var(--safe-bottom))!important;border-right:0!important;border-top:1px solid var(--line)!important;overflow:visible!important}.brand,.desktop-rail-nav,.rail-collapse,.sidebar-foot{display:none!important}.rail-nav{width:100%!important;height:100%!important;overflow:visible!important;padding:0!important;mask-image:none!important}.mobile-nav-set{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;height:100%}.mobile-nav-set .rail-link{display:grid!important;width:auto!important;min-width:0!important;min-height:56px!important;grid-template-columns:1fr!important;grid-template-rows:23px 15px!important;justify-items:center!important;align-content:center!important;gap:2px!important;padding:3px 2px!important;margin:0!important;border-radius:8px!important}.mobile-nav-set .rail-icon{grid-row:auto!important;width:26px!important;height:24px!important}.mobile-nav-set .rail-icon svg{width:19px!important;height:19px!important}.mobile-nav-set .rail-label{display:block!important;font-size:8px!important;font-weight:750!important;letter-spacing:-.01em!important;text-align:center!important}.mobile-nav-set .rail-hint{display:none!important}.workspace{margin:0!important}.topbar{grid-template-columns:minmax(0,1fr) auto!important;padding-inline:8px!important;gap:6px!important}.crumb,.space-chip{display:none!important}.global-search{grid-column:1;min-width:0!important}.top-actions{grid-column:2;gap:4px!important}.top-actions .optional,.top-actions .power-btn,.capture-shortcut{display:none!important}.statusbar{left:0!important;bottom:70px!important}.app-inspector{width:min(390px,100vw);top:auto;bottom:0;height:min(82dvh,760px);border-left:0;border-top:1px solid var(--line-strong);transform:translateY(102%);border-radius:16px 16px 0 0}.app-inspector.open{transform:none}.inspector-head{padding-top:18px}.inspector-action-grid{grid-template-columns:1fr 1fr}.page{padding-inline:10px!important}.context-strip{padding-inline:10px!important}}
@media(max-width:520px){.inspector-action-grid,.inspector-utility-grid{grid-template-columns:1fr}.inspector-link-form{grid-template-columns:1fr}.top-actions #inspectorBtn{display:inline-flex!important}.global-search .search-copy{font-size:9px!important}.btn{font-size:11px!important}.page-actions .btn{min-height:40px!important;height:40px!important}}

/* E-ink motion budget */
body[data-motion="low"] .app-inspector,body[data-motion="low"] .inspector-scrim,body[data-motion="low"] .rail-section-chevron{transition:none!important}

/* ---------- v1.2.1 compact rail flyout reliability patch ---------- */
.rail-section.current>.rail-section-toggle{color:var(--ink);background:color-mix(in srgb,var(--blue-soft) 38%,transparent)}
.rail-flyout-panel{position:fixed;z-index:2400;display:none;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--paper) 98%,transparent);box-shadow:0 18px 54px rgba(24,28,23,.18);border-radius:14px;isolation:isolate;backdrop-filter:blur(12px)}
.rail-flyout-panel.open{display:grid}
.rail-flyout-head{height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px 0 13px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.rail-flyout-title{min-width:0;display:flex;align-items:center;gap:9px}.rail-flyout-title>svg{width:19px;height:19px;color:var(--blue)}.rail-flyout-title b{font-family:"Segoe UI Variable Text","Segoe UI",Inter,system-ui,sans-serif;font-size:17px;font-weight:650;letter-spacing:-.025em}
.rail-flyout-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted)}.rail-flyout-close:hover{background:var(--paper);border-color:var(--line)}.rail-flyout-close svg{width:17px;height:17px}
.rail-flyout-items{min-height:0;overflow:auto;display:grid;align-content:start;gap:3px;padding:8px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.rail-flyout-items .rail-link{display:grid!important;width:100%!important;min-height:54px!important;grid-template-columns:40px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:9px!important;row-gap:2px!important;padding:7px 9px!important;border-radius:10px!important;overflow:hidden!important}
.rail-flyout-items .rail-icon{grid-row:1/3!important;width:38px!important;height:38px!important}.rail-flyout-items .rail-icon svg{width:20px!important;height:20px!important}
.rail-flyout-items .rail-label{display:block!important;grid-column:2!important;font-size:16px!important;font-weight:650!important;line-height:1.05!important;letter-spacing:-.02em!important}.rail-flyout-items .rail-hint{display:block!important;grid-column:2!important;font-size:9px!important;line-height:1.3!important;color:var(--quiet)!important}
.rail-flyout-all{height:44px;margin:0 8px 8px;border:1px dashed var(--line-strong);background:var(--paper-2);border-radius:10px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:11px;font-weight:700}.rail-flyout-all:hover{border-style:solid;background:var(--paper)}.rail-flyout-all svg{width:17px;height:17px}
body:not(.rail-collapsed) .rail-flyout-panel{display:none!important}
@media (min-width:901px) and (max-width:1220px){body:not(.rail-collapsed) .rail-flyout-panel.open{display:grid!important}}
@media (max-width:900px){.rail-flyout-panel{display:none!important}}
/* nested submenu content is only a data source in compact mode; the visible menu is portalled above */
body.rail-collapsed .rail-section.flyout-open>.rail-section-items{display:none!important}
@media (min-width:901px) and (max-width:1220px){.rail-section.flyout-open>.rail-section-items{display:none!important}.rail-section.current>.rail-section-toggle{background:transparent!important;border-color:transparent!important;color:var(--ink)!important;box-shadow:inset 2px 0 0 var(--line-strong)}.rail-section-toggle[aria-expanded="true"]{background:var(--blue-soft)!important;border-color:var(--line-strong)!important;color:var(--ink)!important;box-shadow:none!important}body.rail-has-flyout .rail-section.current>.rail-section-toggle:not([aria-expanded="true"]){background:transparent!important;border-color:transparent!important;color:var(--muted)!important;box-shadow:none!important}}
.rail-collapsed .rail-nav{overflow:visible!important;mask-image:none!important}.rail-collapsed .desktop-rail-nav{align-content:start!important;gap:5px!important}
.rail-collapsed .rail-section.current>.rail-section-toggle{background:transparent!important;border-color:transparent!important;color:var(--ink)!important;box-shadow:inset 2px 0 0 var(--line-strong)}
.rail-collapsed .rail-section-toggle[aria-expanded="true"]{background:var(--blue-soft)!important;border-color:var(--line-strong)!important;color:var(--ink)!important;box-shadow:none!important}
.rail-collapsed.rail-has-flyout .rail-section.current>.rail-section-toggle:not([aria-expanded="true"]){background:transparent!important;border-color:transparent!important;color:var(--muted)!important;box-shadow:none!important}
.rail-collapsed .rail-section-toggle:focus-visible,.rail-section-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* ===== assets/css/v13.css ===== */
/* Meja Kerja v1.3 — mobile-first navigation + semantic color e-paper control system. */
:root{
  --mobile-dock-h:78px;
  --app-accent:var(--blue);
  --app-soft:var(--blue-soft);
  --tap-ring:color-mix(in srgb,var(--app-accent) 34%,transparent);
}

/* ---------- Semantic pigment tokens ---------- */
[data-ink="blue"]{--item-accent:var(--blue);--item-soft:var(--blue-soft)}
[data-ink="cyan"]{--item-accent:var(--cyan);--item-soft:var(--cyan-soft)}
[data-ink="green"]{--item-accent:var(--green);--item-soft:var(--green-soft)}
[data-ink="yellow"]{--item-accent:var(--yellow);--item-soft:var(--yellow-soft)}
[data-ink="red"]{--item-accent:var(--red);--item-soft:var(--red-soft)}
[data-ink="violet"]{--item-accent:var(--violet);--item-soft:var(--violet-soft)}
body[data-app-ink="blue"]{--app-accent:var(--blue);--app-soft:var(--blue-soft)}
body[data-app-ink="cyan"]{--app-accent:var(--cyan);--app-soft:var(--cyan-soft)}
body[data-app-ink="green"]{--app-accent:var(--green);--app-soft:var(--green-soft)}
body[data-app-ink="yellow"]{--app-accent:var(--yellow);--app-soft:var(--yellow-soft)}
body[data-app-ink="red"]{--app-accent:var(--red);--app-soft:var(--red-soft)}
body[data-app-ink="violet"]{--app-accent:var(--violet);--app-soft:var(--violet-soft)}

/* ---------- Unified e-paper controls ---------- */
.btn,.quick-tile,.app-pin,.rail-section-toggle,.rail-all-apps,.global-search,.drawer-search,.space-chip{
  -webkit-tap-highlight-color:transparent;
}
.btn{
  position:relative;
  overflow:hidden;
  transition:background .14s var(--ease),border-color .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease)!important;
}
.btn:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line-strong) 38%,transparent)!important}
.btn:focus-visible,.quick-tile:focus-visible,.app-pin:focus-visible,.mobile-nav-set .rail-link:focus-visible{
  outline:2px solid var(--app-accent)!important;
  outline-offset:2px!important;
}
.btn.primary{
  background:color-mix(in srgb,var(--app-soft) 84%,var(--paper))!important;
  color:var(--ink)!important;
  border-color:var(--app-accent)!important;
}
.btn.primary:hover{background:var(--app-soft)!important;border-color:var(--app-accent)!important}
.btn.primary svg{color:var(--app-accent)}
.btn.secondary{background:var(--paper-2)!important;border-color:var(--line-strong)!important;color:var(--ink)!important}
.btn.info{background:var(--blue-soft)!important;border-color:var(--blue)!important;color:var(--ink)!important}
.btn.warning{background:var(--yellow-soft)!important;border-color:var(--yellow)!important;color:var(--ink)!important}
.btn.good{background:var(--green-soft)!important;border-color:var(--green)!important;color:var(--ink)!important}
.btn.danger{background:var(--red-soft)!important;border-color:var(--red)!important;color:var(--ink)!important}
.btn.violet{background:var(--violet-soft)!important;border-color:var(--violet)!important;color:var(--ink)!important}
.btn.ghost{background:transparent!important;border-color:transparent!important;color:var(--muted)!important}
.btn.ghost:hover{background:var(--paper-2)!important;border-color:var(--line)!important;color:var(--ink)!important}
.btn[aria-pressed="true"],.btn.is-active,.segmented .btn.is-active{
  background:color-mix(in srgb,var(--app-soft) 88%,var(--paper))!important;
  border-color:var(--app-accent)!important;
  color:var(--ink)!important;
}
.ink-tap::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:color-mix(in srgb,var(--item-soft,var(--app-soft)) 55%,transparent);
  animation:inkTap .22s steps(2,end) both;
}
@keyframes inkTap{0%{opacity:0}30%{opacity:.8}100%{opacity:0}}

/* Top-bar actions use fixed semantic pigments. */
.capture-shortcut{background:var(--yellow-soft)!important;border-color:var(--yellow)!important;color:var(--ink)!important}
#notifyBtn{background:color-mix(in srgb,var(--cyan-soft) 65%,var(--paper))!important}
#inspectorBtn{background:color-mix(in srgb,var(--violet-soft) 62%,var(--paper))!important}
#quickBtn{background:color-mix(in srgb,var(--blue-soft) 60%,var(--paper))!important}
#lowPowerBtn[aria-pressed="true"]{background:var(--green-soft)!important;border-color:var(--green)!important;color:var(--ink)!important}

/* Sidebar/app colors follow the app pigment rather than one universal blue. */
.rail-link.active{
  background:color-mix(in srgb,var(--item-soft,var(--blue-soft)) 70%,var(--paper))!important;
  border-color:color-mix(in srgb,var(--item-accent,var(--blue)) 70%,var(--line))!important;
  color:var(--ink)!important;
}
.rail-link.active .rail-icon{color:var(--item-accent,var(--blue))!important}
.rail-link.active::before{background:var(--item-accent,var(--blue))!important}
.app-menu-row .app-menu-icon{color:var(--item-accent,var(--blue));background:color-mix(in srgb,var(--item-soft,var(--blue-soft)) 52%,var(--paper))!important;border-color:color-mix(in srgb,var(--item-accent,var(--blue)) 40%,var(--line))!important}
.app-menu-row .app-menu-item:hover{border-color:color-mix(in srgb,var(--item-accent,var(--blue)) 62%,var(--line))!important;background:color-mix(in srgb,var(--item-soft,var(--blue-soft)) 38%,var(--paper))!important}
.app-menu-row .app-pin.active{color:var(--item-accent,var(--blue))!important;background:var(--item-soft,var(--blue-soft))!important;border-color:var(--item-accent,var(--blue))!important}

/* Quick settings keep the same color vocabulary. */
.quick-grid .quick-tile:nth-child(1){--tile-accent:var(--violet);--tile-soft:var(--violet-soft)}
.quick-grid .quick-tile:nth-child(2){--tile-accent:var(--yellow);--tile-soft:var(--yellow-soft)}
.quick-grid .quick-tile:nth-child(3){--tile-accent:var(--blue);--tile-soft:var(--blue-soft)}
.quick-grid .quick-tile:nth-child(4){--tile-accent:var(--green);--tile-soft:var(--green-soft)}
.quick-grid .quick-tile:nth-child(5){--tile-accent:var(--cyan);--tile-soft:var(--cyan-soft)}
.quick-grid .quick-tile:nth-child(6){--tile-accent:var(--violet);--tile-soft:var(--violet-soft)}
.quick-tile:hover,.quick-tile.active{border-color:var(--tile-accent,var(--app-accent))!important;background:var(--tile-soft,var(--app-soft))!important;color:var(--ink)!important}
.quick-tile>svg{color:var(--tile-accent,var(--app-accent))}

/* ---------- App library category filter ---------- */
.drawer-category-tabs{
  display:flex;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;
  padding:1px 0 10px;margin-bottom:2px;
}
.drawer-category-tabs::-webkit-scrollbar{display:none}
.drawer-category-tabs button{
  flex:0 0 auto;min-height:36px;border:1px solid var(--line);background:var(--paper-2);color:var(--muted);
  border-radius:999px;padding:0 11px;display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;
}
.drawer-category-tabs button svg{width:15px;height:15px}
.drawer-category-tabs button:hover{border-color:var(--line-strong);background:var(--paper)}
.drawer-category-tabs button.active{background:var(--violet-soft);border-color:var(--violet);color:var(--ink)}

/* ---------- Mobile application shell ---------- */
@media(max-width:900px){
  :root{--rail:0px;--top:60px;--mobile-dock-h:78px}
  html{scroll-padding-bottom:calc(var(--mobile-dock-h) + env(safe-area-inset-bottom,0px) + 12px)}
  body{padding-bottom:calc(var(--mobile-dock-h) + env(safe-area-inset-bottom,0px))!important}

  .rail{
    z-index:1500!important;height:calc(var(--mobile-dock-h) + env(safe-area-inset-bottom,0px))!important;
    padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px))!important;
    background:color-mix(in srgb,var(--paper) 96%,transparent)!important;
    backdrop-filter:blur(16px) saturate(.82)!important;
    box-shadow:0 -10px 30px rgba(28,33,28,.08)!important;
  }
  .rail::before{content:"";position:absolute;left:12px;right:12px;top:-1px;height:1px;background:linear-gradient(90deg,var(--yellow),var(--cyan),var(--green),var(--red),var(--violet));opacity:.55}
  .rail-nav{display:block!important}
  .mobile-nav-set{
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px!important;
    width:min(100%,560px)!important;height:100%!important;margin:0 auto!important;align-items:stretch!important;
  }
  .mobile-nav-set .rail-link{
    position:relative!important;display:grid!important;width:100%!important;min-height:60px!important;
    grid-template-columns:1fr!important;grid-template-rows:30px 16px!important;justify-items:center!important;align-content:center!important;
    gap:2px!important;padding:4px 2px!important;border-radius:13px!important;overflow:visible!important;
    background:transparent!important;border-color:transparent!important;color:var(--muted)!important;
    touch-action:manipulation!important;
  }
  .mobile-nav-set .rail-link:hover{background:color-mix(in srgb,var(--item-soft,var(--paper-2)) 32%,transparent)!important;border-color:transparent!important}
  .mobile-nav-set .rail-link.active{
    background:color-mix(in srgb,var(--item-soft,var(--blue-soft)) 72%,var(--paper))!important;
    border-color:color-mix(in srgb,var(--item-accent,var(--blue)) 54%,var(--line))!important;
    color:var(--ink)!important;
  }
  .mobile-nav-set .rail-link.active::before{
    content:""!important;position:absolute!important;left:50%!important;top:-8px!important;width:30px!important;height:3px!important;
    transform:translateX(-50%)!important;border-radius:0 0 4px 4px!important;background:var(--item-accent,var(--blue))!important;
  }
  .mobile-nav-set .rail-icon{grid-row:1!important;width:32px!important;height:30px!important;color:var(--muted)!important}
  .mobile-nav-set .rail-icon svg{width:21px!important;height:21px!important;stroke-width:1.8!important}
  .mobile-nav-set .rail-link.active .rail-icon{color:var(--item-accent,var(--blue))!important}
  .mobile-nav-set .rail-label{
    grid-column:1!important;display:block!important;font-size:10px!important;font-weight:650!important;line-height:1!important;
    letter-spacing:-.02em!important;text-align:center!important;max-width:100%!important;text-overflow:ellipsis!important;overflow:hidden!important;
  }
  .mobile-nav-set .rail-hint{display:none!important}

  /* Capture is a tactile color-ink key, not another identical tab. */
  .mobile-nav-set [data-app-id="capture"]{background:transparent!important;border-color:transparent!important}
  .mobile-nav-set [data-app-id="capture"] .rail-icon{
    width:42px!important;height:42px!important;margin-top:-14px!important;border:1px solid color-mix(in srgb,var(--green) 72%,var(--line))!important;
    border-radius:14px!important;background:color-mix(in srgb,var(--green-soft) 88%,var(--paper))!important;color:var(--green)!important;
    box-shadow:0 5px 0 rgba(35,39,34,.08)!important;
  }
  .mobile-nav-set [data-app-id="capture"] .rail-icon svg{width:22px!important;height:22px!important}
  .mobile-nav-set [data-app-id="capture"].active .rail-icon{background:var(--green-soft)!important;border-color:var(--green)!important;box-shadow:0 3px 0 rgba(35,39,34,.08)!important}
  .mobile-nav-set [data-app-id="capture"].active::before{display:none!important}

  .workspace{margin:0!important;min-width:0!important}
  .topbar{
    height:var(--top)!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;padding:7px max(8px,env(safe-area-inset-left,0px)) 7px max(8px,env(safe-area-inset-left,0px))!important;
    background:color-mix(in srgb,var(--paper) 94%,transparent)!important;backdrop-filter:blur(14px)!important;
  }
  .global-search{height:44px!important;border-radius:14px!important;background:var(--paper-2)!important;padding-inline:11px!important}
  .global-search .search-copy{font-size:10px!important;color:var(--muted)!important}
  .global-search .kbd{display:none!important}
  .top-actions{gap:5px!important}
  .top-actions #inspectorBtn,.top-actions #quickBtn{display:inline-flex!important;width:44px!important;min-width:44px!important;height:44px!important}
  .top-actions #notifyBtn,.top-actions .power-btn,.capture-shortcut{display:none!important}
  .context-strip{min-height:36px!important;height:auto!important;padding:7px 10px!important;gap:7px!important;overflow:hidden!important}
  .context-main{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .context-meta{display:none!important}

  .page{padding:16px 10px calc(var(--mobile-dock-h) + 88px + env(safe-area-inset-bottom,0px))!important}
  .page-head{gap:13px!important;margin-bottom:17px!important}
  .page-actions{width:100%!important;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;scrollbar-width:none!important;padding:1px 1px 4px!important}
  .page-actions::-webkit-scrollbar,.toolbar-scroll::-webkit-scrollbar{display:none!important}
  .page-actions .btn{flex:0 0 auto!important;min-height:44px!important;height:44px!important}
  .toolbar-scroll{overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important}

  /* Status is redundant on phones; the global media surface gets that space. */
  .statusbar{display:none!important}
  #global-player-host{left:0!important;right:0!important;bottom:calc(var(--mobile-dock-h) + env(safe-area-inset-bottom,0px))!important;z-index:1450!important}
  .global-player{
    height:70px!important;grid-template-columns:38px minmax(92px,150px) minmax(88px,1fr) auto!important;
    gap:8px!important;padding:7px 9px!important;border-top-color:var(--line-strong)!important;
    background:color-mix(in srgb,var(--paper) 96%,transparent)!important;backdrop-filter:blur(14px)!important;
  }
  .global-player .player-secondary{display:none!important}
  .player-art{width:36px!important;height:36px!important;border-radius:9px!important;background:var(--red-soft)!important}
  .player-copy b{font-size:10px!important}.player-copy small{font-size:7.5px!important}
  .player-wave{height:28px!important}.player-main{background:var(--red-soft)!important;color:var(--ink)!important;border-color:var(--red)!important}

  /* App library behaves like a mobile launcher / command sheet. */
  .apps-sheet{
    width:100vw!important;max-width:none!important;max-height:min(91dvh,860px)!important;border-radius:22px 22px 0 0!important;
    border-left:0!important;border-right:0!important;border-bottom:0!important;padding:8px 12px calc(22px + env(safe-area-inset-bottom,0px))!important;
    background:color-mix(in srgb,var(--paper) 98%,transparent)!important;backdrop-filter:blur(18px)!important;
  }
  .apps-sheet::before{content:"";position:absolute;left:18px;right:18px;top:0;height:2px;background:linear-gradient(90deg,var(--yellow),var(--cyan),var(--green),var(--red),var(--violet));opacity:.55}
  .sheet-handle{width:46px!important;height:5px!important;margin-bottom:9px!important;background:var(--line-strong)!important}
  .apps-sheet>.card-head{position:sticky;top:-8px;z-index:8;background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(12px);padding:8px 2px 9px;margin:0}
  .apps-sheet>.card-head h2{font-size:24px!important;margin:3px 0 0!important}
  .drawer-search{position:sticky;top:58px;z-index:7;height:44px!important;margin:0 0 8px!important;border-radius:13px!important;background:var(--paper-2)!important;backdrop-filter:blur(12px)}
  .drawer-category-tabs{position:sticky;top:110px;z-index:6;background:color-mix(in srgb,var(--paper) 96%,transparent);padding:2px 0 9px;margin-bottom:4px}
  .apps-recent{margin:5px 0 10px!important;padding:9px!important;border-radius:12px!important}
  .apps-recent-row a{min-width:70px!important;border-radius:10px!important}
  .apps-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;align-items:stretch!important}
  .app-drawer-group{grid-column:1/-1!important;padding:9px 2px 1px!important;font-size:8px!important}
  .app-menu-row{position:relative!important;display:block!important;min-width:0!important}
  .app-menu-item{
    min-height:92px!important;height:100%!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:44px auto!important;
    justify-items:center!important;align-content:center!important;gap:6px!important;padding:8px 5px!important;text-align:center!important;border-radius:13px!important;
    background:color-mix(in srgb,var(--paper-2) 88%,var(--item-soft,var(--paper-2)))!important;
  }
  .app-menu-icon{width:42px!important;height:42px!important;border-radius:12px!important}
  .app-menu-icon svg{width:20px!important;height:20px!important}
  .app-menu-item b{display:block!important;font-size:10px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
  .app-menu-item small{display:none!important}
  .app-pin{position:absolute!important;right:4px!important;top:4px!important;width:27px!important;height:27px!important;min-height:27px!important;border-radius:9px!important;background:color-mix(in srgb,var(--paper) 82%,transparent)!important;z-index:2!important}
  .app-pin svg{width:13px!important;height:13px!important}

  /* Floating utility panels become bottom sheets instead of tiny desktop popovers. */
  .quick-panel,.notification-drawer{
    top:auto!important;left:8px!important;right:8px!important;bottom:calc(var(--mobile-dock-h) + 8px + env(safe-area-inset-bottom,0px))!important;width:auto!important;
    max-height:min(70dvh,620px)!important;border-radius:18px!important;border-color:var(--line-strong)!important;padding:13px!important;
    box-shadow:0 -18px 50px rgba(20,24,20,.14)!important;
  }
  .quick-grid{grid-template-columns:repeat(3,1fr)!important}.quick-tile{min-height:76px!important;border-radius:13px!important}

  /* Touch inputs should never be cramped. */
  .input,.select,.textarea{font-size:16px!important}
  .btn{min-height:44px!important;height:44px!important;font-size:12px!important}
  .btn.icon{width:44px!important;min-width:44px!important}
  dialog .btn{min-height:44px!important}
}

@media(max-width:620px){
  .mobile-nav-set{gap:3px!important}
  .mobile-nav-set .rail-label{font-size:9.5px!important}
  .global-player{grid-template-columns:36px minmax(92px,1fr) auto!important}
  .player-copy{display:none!important}.player-wave-wrap{min-width:0!important}.player-time{display:none!important}
  .apps-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .drawer-category-tabs button{padding-inline:10px!important}
  .page-title{font-size:clamp(34px,11vw,50px)!important}
}

@media(max-width:360px){
  :root{--mobile-dock-h:74px}
  .mobile-nav-set .rail-label{font-size:8.5px!important}
  .mobile-nav-set .rail-icon svg{width:19px!important;height:19px!important}
  .mobile-nav-set [data-app-id="capture"] .rail-icon{width:38px!important;height:38px!important;margin-top:-11px!important}
  .apps-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .top-actions #inspectorBtn{display:none!important}
}

/* e-paper motion is deliberately short and low-amplitude. */
@media(prefers-reduced-motion:no-preference){
  .apps-drawer.open .apps-sheet{transition-duration:.22s!important}
  .mobile-nav-set .rail-link.active .rail-icon{animation:inkSettle .18s steps(2,end)}
  @keyframes inkSettle{0%{filter:contrast(.85);opacity:.72}100%{filter:none;opacity:1}}
}
body[data-motion="low"] .ink-tap::after,body[data-motion="low"] .mobile-nav-set .rail-link.active .rail-icon{animation:none!important}
.app-menu-row.current .app-menu-item{border-color:var(--item-accent,var(--blue))!important;background:color-mix(in srgb,var(--item-soft,var(--blue-soft)) 70%,var(--paper))!important}
.app-menu-row.current .app-menu-icon{box-shadow:inset 0 0 0 1px var(--item-accent,var(--blue))}

/* ===== assets/css/v14.css ===== */
/* Meja Kerja v1.4 — local-first intelligence + public data */
:root{--lab-gap:12px}
.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lab-gap);margin-top:12px}.lab-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-card{min-width:0;position:relative;overflow:hidden}.lab-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--app-accent,var(--cyan));opacity:.65}.lab-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lab-output{min-height:88px;max-height:320px;overflow:auto;border:1px solid var(--line);background:var(--paper-2);border-radius:10px;padding:10px;font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.api-list{display:grid;gap:7px}.api-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--paper) 90%,transparent)}.api-item .api-icon{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;background:var(--paper-2)}.api-item .api-icon svg{width:17px;height:17px}.api-item b{display:block}.api-item small{display:block;color:var(--quiet);margin-top:2px}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.metric-strip>div{border:1px solid var(--line);border-radius:10px;padding:9px;background:var(--paper-2)}.metric-strip b{font-size:20px;letter-spacing:-.04em}.engine-badges{display:flex;flex-wrap:wrap;gap:6px}.engine-badge{border:1px solid var(--line);background:var(--paper-2);border-radius:999px;padding:5px 8px;font:700 9px/1 ui-monospace,monospace;letter-spacing:.05em}.engine-badge.ready{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 55%,var(--line))}.engine-badge.loading{background:var(--yellow-soft)}.engine-badge.error{background:var(--red-soft)}
.local-ai-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.embedding-bar{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--violet),var(--cyan),var(--yellow),var(--green));opacity:.65}.yjs-note{min-height:150px;resize:vertical}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 16%,transparent)}
.advanced-editor-host{min-height:360px;border:1px solid var(--line);border-radius:11px;background:var(--paper);overflow:auto}.advanced-editor-host .ProseMirror{min-height:340px;padding:18px;outline:0;line-height:1.7}.advanced-editor-host .cm-editor{height:360px}.advanced-editor-host .cm-scroller{overflow:auto}
.state-machine{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:center}.state-node{padding:12px;border:1px solid var(--line);border-radius:12px;text-align:center;background:var(--paper-2);opacity:.52}.state-node.active{opacity:1;background:var(--violet-soft);border-color:color-mix(in srgb,var(--violet) 55%,var(--line));box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--violet) 35%,transparent)}
.map-mode-bar{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:8px}.pmtiles-meta{max-height:180px;overflow:auto}.map-host.maplibre-map{min-height:560px}.maplibregl-ctrl-group{border:1px solid var(--line)!important;box-shadow:none!important}.maplibregl-ctrl-group button{background:var(--paper)!important}.maplibregl-popup-content{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--line);box-shadow:var(--shadow)!important}
.signal-live-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.quake-card .magnitude{font-size:32px;font-weight:700;letter-spacing:-.05em}.aq-plot{height:180px}.apod-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:10px;filter:saturate(.78) contrast(.95)}
.discovery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.discovery-item{padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--paper-2)}.discovery-item h3{font-size:15px;margin:4px 0 6px}.discovery-item p{margin:0}.gdelt-results{display:grid;gap:7px;max-height:440px;overflow:auto}.gdelt-item{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2)}
.hls-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.image-tools-row{display:flex;flex-wrap:wrap;gap:8px}.crop-stage{max-height:62vh;overflow:hidden}.crop-stage img{display:block;max-width:100%}.barcode-stage{min-height:260px;border:1px dashed var(--line-strong);border-radius:12px;overflow:hidden;background:var(--paper-2)}.barcode-stage video{width:100%;height:100%;object-fit:cover}.zip-status{display:grid;gap:6px}
@media(max-width:1100px){.lab-grid.three,.signal-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.lab-grid,.lab-grid.three,.signal-live-grid{grid-template-columns:1fr}.state-machine{grid-template-columns:1fr 1fr}.local-ai-row,.hls-box{grid-template-columns:1fr}.metric-strip{grid-template-columns:1fr 1fr}.lab-output{max-height:240px}.advanced-editor-host{min-height:300px}.advanced-editor-host .ProseMirror,.advanced-editor-host .cm-editor{min-height:280px;height:300px}.map-host.maplibre-map{min-height:420px}}

/* ---------- v1.7 shell, e-paper, notifications, editor ---------- */
body{
  background-color:var(--bg);
  background-image:
    radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--line-strong) 16%,transparent) 0 1px,transparent 1.2px),
    linear-gradient(90deg,color-mix(in srgb,var(--blue) 5%,transparent),transparent 18%,color-mix(in srgb,var(--yellow) 4%,transparent) 50%,transparent 82%,color-mix(in srgb,var(--green) 5%,transparent));
  background-size:14px 14px,100% 100%;
}
body[data-theme="graphite"]{
  background-image:
    radial-gradient(circle at 1px 1px,rgba(240,238,231,.09) 0 1px,transparent 1.25px),
    linear-gradient(90deg,rgba(141,185,191,.06),transparent 18%,rgba(211,185,121,.04) 50%,transparent 82%,rgba(150,173,139,.05));
  background-size:14px 14px,100% 100%;
}
body[data-theme="paper"]{
  background-image:
    radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--line-strong) 12%,transparent) 0 1px,transparent 1.2px),
    linear-gradient(90deg,color-mix(in srgb,var(--yellow) 4%,transparent),transparent 28%,color-mix(in srgb,var(--violet) 2%,transparent) 65%,transparent);
}

.topbar.topbar-v17{grid-template-columns:auto minmax(0,1fr) auto!important}
.context-strip.context-strip-v17{position:sticky;top:var(--top);z-index:86;min-height:40px;height:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px clamp(12px,1.7vw,26px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(10px)}
.context-breadcrumb{display:flex;align-items:center;gap:7px;min-width:0;font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.context-breadcrumb strong{font:700 11px/1.1 "Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;letter-spacing:-.01em;color:var(--ink);text-transform:none}
.context-breadcrumb svg{width:14px;height:14px;color:var(--quiet)}
.context-strip .context-main{min-width:0;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.context-space{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper-2);font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;color:var(--muted);white-space:nowrap}
.context-strip .context-meta{display:flex;gap:7px;align-items:center;white-space:nowrap}
.context-strip .context-meta span{font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--quiet)}
.page-head.minimal{margin:0 0 10px!important;padding:0!important;display:flex;justify-content:flex-end}
.page-head.minimal .page-actions{width:100%;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}

.notify-btn{position:relative}
.notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;border:1px solid color-mix(in srgb,var(--red) 60%,var(--line));background:var(--red-soft);color:var(--ink);display:grid;place-items:center;font:800 9px/1 ui-monospace,monospace}
.notify-btn.has-alert{background:color-mix(in srgb,var(--red-soft) 72%,var(--paper))!important;border-color:color-mix(in srgb,var(--red) 55%,var(--line))!important}
.notification-drawer{position:fixed;top:calc(var(--top) + 10px);right:clamp(12px,2vw,24px);z-index:2050;width:min(420px,calc(100vw - 24px));max-height:min(70dvh,760px);overflow:auto;padding:12px;border:1px solid var(--line-strong);border-radius:14px;background:color-mix(in srgb,var(--paper) 97%,transparent);box-shadow:var(--shadow-lg);display:none}
.notification-drawer.open{display:grid;gap:10px}
.notification-list{display:grid;gap:8px}
.notice{display:grid;gap:6px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}
.notice.is-new{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--blue) 48%,transparent)}
.notice-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.notice-state{font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:var(--quiet);text-transform:uppercase}
.notice p{margin:0;color:var(--muted);line-height:1.55}
.notice-blue{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--blue) 52%,transparent)}
.notice-green{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--green) 52%,transparent)}
.notice-violet{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--violet) 52%,transparent)}
.pill-attention{background:var(--red-soft)!important;border-color:color-mix(in srgb,var(--red) 55%,var(--line))!important}

body.meja-ui:not(.rail-collapsed) .rail-section.current>.rail-section-toggle,
body.meja-ui:not(.rail-collapsed) .rail-section-toggle[aria-expanded="true"]{
  background:color-mix(in srgb,var(--mui-app-soft) 58%,var(--paper))!important;
  border-color:color-mix(in srgb,var(--mui-app) 44%,var(--line))!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mui-app) 10%,transparent)!important;
  color:var(--ink)!important;
}
body.meja-ui:not(.rail-collapsed) .rail-section.current>.rail-section-toggle .rail-section-label,
body.meja-ui:not(.rail-collapsed) .rail-section-toggle[aria-expanded="true"] .rail-section-label,
body.meja-ui:not(.rail-collapsed) .rail-section.current>.rail-section-toggle .rail-section-icon,
body.meja-ui:not(.rail-collapsed) .rail-section-toggle[aria-expanded="true"] .rail-section-icon{color:var(--mui-app)!important}
body.meja-ui.rail-collapsed .rail-section.current>.rail-section-toggle{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:var(--muted)!important}
@media(max-width:1220px) and (min-width:901px){body.meja-ui .rail-section.current>.rail-section-toggle{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:var(--muted)!important}}
body.meja-ui.rail-collapsed .rail-section.current>.rail-section-toggle::after{height:4px!important;width:24px!important}

.e-paper-loading{position:relative;overflow:hidden;min-height:120px;border-radius:12px;background:color-mix(in srgb,var(--paper) 96%,transparent)}
.e-paper-loading::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 14px,color-mix(in srgb,var(--line) 16%,transparent) 14px 15px);opacity:.55;animation:einkPulse 1.25s steps(5) infinite}
.e-paper-loading>*{position:relative;z-index:1}
@keyframes einkPulse{0%{opacity:.35}50%{opacity:.65}100%{opacity:.4}}
body[data-motion="low"] .e-paper-loading::before{animation:none}

.editor-shell-v17{display:grid;gap:12px}
.editor-topbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}
.editor-topbar .toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.editor-status-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.editor-status-pill{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--paper-2);font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.editor-mode-note{font-size:12px;color:var(--muted)}
.editor-mode-tabs{display:flex;flex-wrap:wrap;gap:8px}
.editor-mode-tabs .btn{padding-inline:12px!important}
.editor-mode-tabs .btn.is-active{background:color-mix(in srgb,var(--cyan-soft) 65%,var(--paper))!important;border-color:color-mix(in srgb,var(--cyan) 55%,var(--line))!important;color:var(--ink)!important}
.editor-layout-v17{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:12px;min-height:calc(100dvh - 228px)}
.editor-pane-v17,.preview-pane-v17{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--paper) 96%,transparent);overflow:hidden;box-shadow:var(--shadow)}
.editor-pane-head,.preview-pane-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper-2) 90%,transparent)}
.editor-pane-head b,.preview-pane-head b{font-size:14px;letter-spacing:-.02em}
.editor-surface{min-height:0;background:var(--paper)}
.editor-rich-host,.editor-markdown-host,.editor-diagram-host,.editor-latex-host,.editor-mathml-host,.editor-code-host{height:100%}
.editor-rich-host .ProseMirror{height:100%;min-height:620px;padding:22px;outline:0;line-height:1.72;font-size:15px}
.editor-rich-host.mode-word .ProseMirror{max-width:900px;margin:0 auto;padding:26px 30px;background:color-mix(in srgb,var(--paper) 96%,white)}
.editor-rich-host.mode-word .ProseMirror h1,.editor-rich-host.mode-notion .ProseMirror h1{font-size:clamp(28px,3.1vw,40px);letter-spacing:-.05em;margin:0 0 12px}
.editor-rich-host.mode-notion .ProseMirror{padding:22px 24px;max-width:960px;margin:0 auto}
.editor-rich-host .ProseMirror p{margin:0 0 12px}
.editor-rich-host .ProseMirror blockquote{margin:16px 0;padding-left:14px;border-left:3px solid var(--line-strong);color:var(--muted)}
.editor-markdown-host textarea,.editor-diagram-host textarea,.editor-latex-host textarea,.editor-mathml-host textarea{width:100%;height:100%;min-height:620px;border:0;outline:0;resize:none;background:var(--paper);padding:18px 20px;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink)}
.editor-preview{min-height:0;overflow:auto;padding:20px 22px;line-height:1.7}
.editor-preview svg{max-width:100%}
.editor-preview pre{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);overflow:auto}
.editor-preview .math-preview{font-size:18px;line-height:1.8}
.editor-preview .placeholder-empty{display:grid;place-items:center;min-height:260px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--paper-2);color:var(--muted);text-align:center;padding:20px}
.editor-code-top{display:flex;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper-2) 90%,transparent)}
.editor-code-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}
.editor-code-host .ace_editor{height:620px!important}
.editor-subtools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.editor-subtools .select{min-width:160px}
.editor-footnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;color:var(--muted);font-size:12px}

@media(max-width:1200px){.editor-layout-v17{grid-template-columns:1fr}.preview-pane-v17{min-height:420px}}
@media(max-width:900px){.context-strip.context-strip-v17{grid-template-columns:1fr;gap:6px}.context-strip .context-main{white-space:normal}.editor-topbar{align-items:stretch}.editor-topbar .toolbar,.editor-status-strip,.editor-mode-tabs{width:100%}.editor-layout-v17{min-height:auto}.editor-rich-host .ProseMirror,.editor-markdown-host textarea,.editor-diagram-host textarea,.editor-latex-host textarea,.editor-mathml-host textarea{min-height:460px}.notification-drawer{top:auto;bottom:92px;right:10px}}

/* ===== assets/meja-ui/tokens.css ===== */
/* Meja UI v1.0 — canonical design tokens for Meja Kerja. Load after legacy CSS. */
:root{
  /* E-ink pigments: deliberately muted and paper-safe. */
  --mui-ink:#20241f;--mui-paper:#eceadf;--mui-paper-2:#e5e4da;--mui-paper-3:#d9dad1;--mui-canvas:#d7d8cf;
  --mui-muted:#6b7169;--mui-quiet:#93998f;--mui-line:#b8bbb2;--mui-line-strong:#969d94;
  --mui-blue:#627fa1;--mui-cyan:#6f9aa1;--mui-green:#748d69;--mui-yellow:#c3a55b;--mui-red:#aa625a;--mui-violet:#88779a;
  --mui-blue-soft:#cbd4df;--mui-cyan-soft:#c9dada;--mui-green-soft:#cad7c3;--mui-yellow-soft:#e4d8b5;--mui-red-soft:#dfc8c2;--mui-violet-soft:#d8cfdf;
  --mui-control-h:42px;--mui-control-h-compact:36px;--mui-icon:18px;--mui-icon-sm:16px;--mui-icon-lg:21px;
  --mui-r-sm:8px;--mui-r:11px;--mui-r-lg:15px;--mui-r-sheet:22px;
  --mui-space-1:4px;--mui-space-2:8px;--mui-space-3:12px;--mui-space-4:16px;--mui-space-5:20px;--mui-space-6:24px;
  --mui-shadow:0 7px 18px rgba(33,39,32,.055);--mui-shadow-raised:0 16px 42px rgba(33,39,32,.11);
  --mui-ease:cubic-bezier(.2,.78,.18,1);--mui-fast:120ms;--mui-normal:180ms;--mui-slow:260ms;
  --mui-app:var(--app-accent,var(--mui-blue));--mui-app-soft:var(--app-soft,var(--mui-blue-soft));
  --mui-focus:color-mix(in srgb,var(--mui-app) 72%,#fff 10%);
  --mui-selected-bg:color-mix(in srgb,var(--mui-app-soft) 78%,var(--paper));
  --mui-hover-bg:color-mix(in srgb,var(--paper-2) 88%,var(--mui-app-soft) 12%);
  --mui-disabled:.46;
}
body[data-theme="graphite"]{
  --mui-ink:#efeee6;--mui-paper:#2b302a;--mui-paper-2:#31362f;--mui-paper-3:#383e36;--mui-canvas:#20251f;
  --mui-muted:#afb5ad;--mui-quiet:#878f86;--mui-line:#555d54;--mui-line-strong:#6b746a;
  --mui-blue:#91aac7;--mui-cyan:#8db9bf;--mui-green:#96ad8b;--mui-yellow:#d3b979;--mui-red:#c9847c;--mui-violet:#ad9bbd;
  --mui-blue-soft:#3c4653;--mui-cyan-soft:#3a4f50;--mui-green-soft:#3f4d3b;--mui-yellow-soft:#544b34;--mui-red-soft:#513e3b;--mui-violet-soft:#4c4252;
}
/* Map canonical Meja UI tokens back onto legacy variables so older apps inherit the same schema. */
body.meja-ui{
  --bg:var(--mui-canvas);--paper:var(--mui-paper);--paper-2:var(--mui-paper-2);--paper-3:var(--mui-paper-3);--ink:var(--mui-ink);
  --muted:var(--mui-muted);--quiet:var(--mui-quiet);--line:var(--mui-line);--line-strong:var(--mui-line-strong);
  --blue:var(--mui-blue);--cyan:var(--mui-cyan);--green:var(--mui-green);--yellow:var(--mui-yellow);--red:var(--mui-red);--violet:var(--mui-violet);
  --blue-soft:var(--mui-blue-soft);--cyan-soft:var(--mui-cyan-soft);--green-soft:var(--mui-green-soft);--yellow-soft:var(--mui-yellow-soft);--red-soft:var(--mui-red-soft);--violet-soft:var(--mui-violet-soft);
  --radius:var(--mui-r);--radius-sm:var(--mui-r-sm);--ease:var(--mui-ease);
}
@media(max-width:900px){:root{--mui-control-h:44px;--mui-r:12px;--mui-r-lg:17px}}

/* ===== assets/meja-ui/components.css ===== */
/* Canonical controls, tabs, cards, form fields, badges. */
body.meja-ui .btn,body.meja-ui button,body.meja-ui .select,body.meja-ui .input,body.meja-ui .textarea{font-family:"Segoe UI Variable Text","Segoe UI",Inter,system-ui,sans-serif}
body.meja-ui .btn{
  min-height:var(--mui-control-h)!important;height:var(--mui-control-h)!important;padding:0 13px!important;border:1px solid var(--line)!important;
  border-radius:var(--mui-r)!important;background:var(--paper)!important;color:var(--ink)!important;box-shadow:none!important;font-size:12px!important;font-weight:650!important;
  letter-spacing:-.012em!important;gap:7px!important;transition:background var(--mui-fast) var(--mui-ease),border-color var(--mui-fast) var(--mui-ease),box-shadow var(--mui-fast) var(--mui-ease),color var(--mui-fast) var(--mui-ease)!important;
}
body.meja-ui .btn:hover{transform:none!important;background:var(--mui-hover-bg)!important;border-color:var(--line-strong)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line-strong) 28%,transparent)!important}
body.meja-ui .btn:active{transform:translateY(1px)!important;box-shadow:none!important}
body.meja-ui .btn:focus-visible,body.meja-ui button:focus-visible,body.meja-ui a:focus-visible{outline:2px solid var(--mui-focus)!important;outline-offset:2px!important}
body.meja-ui .btn:disabled,body.meja-ui .btn[aria-disabled="true"]{opacity:var(--mui-disabled)!important;pointer-events:none!important}
body.meja-ui .btn svg{width:var(--mui-icon)!important;height:var(--mui-icon)!important;stroke-width:1.8!important}
body.meja-ui .btn.icon{width:var(--mui-control-h)!important;min-width:var(--mui-control-h)!important;padding:0!important}
/* Action tones. Selected state is intentionally separate from primary action state. */
body.meja-ui .btn.primary:not([data-meja-tab]){background:var(--mui-app-soft)!important;border-color:var(--mui-app)!important;color:var(--ink)!important}
body.meja-ui .btn.primary:not([data-meja-tab]) svg{color:var(--mui-app)!important}
body.meja-ui .btn.secondary{background:var(--paper-2)!important;border-color:var(--line-strong)!important}
body.meja-ui .btn.info{background:var(--blue-soft)!important;border-color:var(--blue)!important}
body.meja-ui .btn.warning{background:var(--yellow-soft)!important;border-color:var(--yellow)!important}
body.meja-ui .btn.good,body.meja-ui .btn.success{background:var(--green-soft)!important;border-color:var(--green)!important}
body.meja-ui .btn.danger{background:var(--red-soft)!important;border-color:var(--red)!important}
body.meja-ui .btn.violet{background:var(--violet-soft)!important;border-color:var(--violet)!important}
body.meja-ui .btn.ghost{background:transparent!important;border-color:transparent!important;color:var(--muted)!important}
/* Tab / choice system */
body.meja-ui [data-meja-tablist],body.meja-ui .segmented,body.meja-ui .inspector-tabs,body.meja-ui .drawer-category-tabs{
  display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:var(--mui-r);background:var(--paper-2);overflow-x:auto;scrollbar-width:none;
}
body.meja-ui [data-meja-tablist]::-webkit-scrollbar,body.meja-ui .segmented::-webkit-scrollbar,body.meja-ui .inspector-tabs::-webkit-scrollbar{display:none}
body.meja-ui [data-meja-tab],body.meja-ui .segmented .seg,body.meja-ui .inspector-tabs>button,body.meja-ui .drawer-category-tabs>button{
  flex:0 0 auto;min-height:34px;height:34px;padding:0 11px;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:var(--muted)!important;
  font-size:11px!important;font-weight:650!important;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:none!important;white-space:nowrap;
}
body.meja-ui [data-meja-tab]:hover,body.meja-ui .segmented .seg:hover,body.meja-ui .inspector-tabs>button:hover,body.meja-ui .drawer-category-tabs>button:hover{background:color-mix(in srgb,var(--paper) 70%,transparent)!important;color:var(--ink)!important}
body.meja-ui [data-meja-tab][aria-selected="true"],body.meja-ui [data-meja-tab].active,body.meja-ui [data-meja-tab].is-active,
body.meja-ui .segmented .seg.active,body.meja-ui .segmented .seg.is-active,body.meja-ui .inspector-tabs>button.active,body.meja-ui .drawer-category-tabs>button.active{
  background:var(--mui-selected-bg)!important;border-color:color-mix(in srgb,var(--mui-app) 58%,var(--line))!important;color:var(--ink)!important;
  box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--mui-app) 72%,transparent)!important;
}
/* Legacy pages sometimes used .primary to mean selected. Meja UI remaps that only inside detected tablists. */
body.meja-ui [data-meja-tab].primary{background:var(--mui-selected-bg)!important;border-color:color-mix(in srgb,var(--mui-app) 58%,var(--line))!important;color:var(--ink)!important;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--mui-app) 72%,transparent)!important}
body.meja-ui .input,body.meja-ui .select,body.meja-ui .textarea{border:1px solid var(--line)!important;border-radius:var(--mui-r)!important;background:var(--paper-2)!important;color:var(--ink)!important;box-shadow:none!important}
body.meja-ui .input:focus,body.meja-ui .select:focus,body.meja-ui .textarea:focus{border-color:color-mix(in srgb,var(--mui-app) 60%,var(--line-strong))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--mui-app) 14%,transparent)!important}
body.meja-ui .card{border-radius:var(--mui-r-lg)!important;box-shadow:var(--mui-shadow)!important}
body.meja-ui .pill{border-radius:999px!important;background:color-mix(in srgb,var(--paper) 84%,var(--paper-2))!important}
body.meja-ui .toggle{border-radius:999px!important}
body.meja-ui dialog,body.meja-ui .modal{border-radius:var(--mui-r-lg)!important}
/* Consistent state vocabulary */
body.meja-ui [aria-pressed="true"]:not([data-meja-tab]){border-color:var(--mui-app)!important;background:var(--mui-app-soft)!important;color:var(--ink)!important}
body.meja-ui [data-state="success"]{--state-accent:var(--green);--state-soft:var(--green-soft)}
body.meja-ui [data-state="warning"]{--state-accent:var(--yellow);--state-soft:var(--yellow-soft)}
body.meja-ui [data-state="danger"],body.meja-ui [data-state="error"]{--state-accent:var(--red);--state-soft:var(--red-soft)}
body.meja-ui [data-state="info"]{--state-accent:var(--cyan);--state-soft:var(--cyan-soft)}
/* Canonical selected-list / selected-card treatment across apps. */
body.meja-ui :is(.tree-item,.book-card,.meeting-item,.archive-item,.note-row,.notebook-item,.person-card,.rule-card,.feed-item,.feed-source,.scan-thumb,.space-card,.theme-option,.language-card).active{
  background:var(--mui-selected-bg)!important;
  border-color:color-mix(in srgb,var(--mui-app) 48%,var(--line))!important;
  color:var(--ink)!important;
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--mui-app) 72%,transparent)!important;
}
body.meja-ui :is(.capture-type,.seg).active{
  background:var(--mui-selected-bg)!important;
  border-color:color-mix(in srgb,var(--mui-app) 55%,var(--line))!important;
  color:var(--ink)!important;
  box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--mui-app) 72%,transparent)!important;
}
body.meja-ui .gallery-fav.active{background:var(--yellow-soft)!important;border-color:var(--yellow)!important;color:var(--ink)!important}

/* ===== assets/meja-ui/navigation.css ===== */
/* Desktop rail, compact rail, submenus, workspace tabs, mobile dock. */
body.meja-ui .rail-section.current>.rail-section-toggle{background:transparent!important;border-color:transparent!important;color:var(--muted)!important;box-shadow:none!important}
body.meja-ui .rail-section.current>.rail-section-toggle .rail-section-icon{color:var(--mui-app)!important}
body.meja-ui:not(.rail-collapsed) .rail-section-toggle[aria-expanded="true"]{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:var(--ink)!important}
body.meja-ui:not(.rail-collapsed) .rail-section-toggle[aria-expanded="true"] .rail-section-label{color:var(--ink)!important}
body.meja-ui .rail-link.active,body.meja-ui .rail-link[aria-current="page"]{
  background:color-mix(in srgb,var(--item-soft,var(--mui-app-soft)) 52%,var(--paper))!important;border-color:color-mix(in srgb,var(--item-accent,var(--mui-app)) 54%,var(--line))!important;color:var(--ink)!important;
  box-shadow:inset 3px 0 0 var(--item-accent,var(--mui-app))!important;
}
body.meja-ui .rail-link.active::before,body.meja-ui .rail-link[aria-current="page"]::before{display:none!important}
body.meja-ui .rail-link.active .rail-icon,body.meja-ui .rail-link[aria-current="page"] .rail-icon{color:var(--item-accent,var(--mui-app))!important}
/* Compact rail: open flyout category gets outline state; current group itself never masquerades as another enabled button. */
body.meja-ui.rail-collapsed .rail-section.current>.rail-section-toggle{background:transparent!important;border-color:transparent!important;box-shadow:inset 2px 0 0 color-mix(in srgb,var(--mui-app) 56%,var(--line))!important;color:var(--muted)!important}
body.meja-ui.rail-collapsed .rail-section-toggle[aria-expanded="true"]{background:color-mix(in srgb,var(--mui-app-soft) 54%,var(--paper))!important;border-color:color-mix(in srgb,var(--mui-app) 50%,var(--line))!important;box-shadow:none!important;color:var(--ink)!important}
body.meja-ui.rail-collapsed.rail-has-flyout .rail-section.current>.rail-section-toggle:not([aria-expanded="true"]){box-shadow:none!important;color:var(--muted)!important}
body.meja-ui .rail-flyout-panel{border-radius:var(--mui-r-lg)!important;box-shadow:var(--mui-shadow-raised)!important}
body.meja-ui .rail-flyout-items .rail-link.active{box-shadow:inset 3px 0 0 var(--item-accent,var(--mui-app))!important}
/* Global workspace route tabs. */
.meja-workspace-tabs{position:sticky;top:calc(var(--top) + var(--context-h,38px));z-index:84;height:38px;display:flex;align-items:center;gap:4px;padding:4px 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(10px);overflow-x:auto;scrollbar-width:none}
.meja-workspace-tabs::-webkit-scrollbar{display:none}.meja-workspace-tab{flex:0 0 auto;height:29px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;gap:6px;padding:0 8px;font-size:10px;font-weight:650;text-decoration:none}.meja-workspace-tab:hover{background:var(--paper-2);border-color:var(--line)}.meja-workspace-tab[aria-current="page"]{background:var(--mui-selected-bg);border-color:color-mix(in srgb,var(--mui-app) 50%,var(--line));color:var(--ink)}.meja-workspace-tab svg{width:14px;height:14px}.meja-workspace-tab-close{width:17px;height:17px;border:0;background:transparent;color:var(--quiet);display:grid;place-items:center;padding:0;border-radius:5px}.meja-workspace-tab-close:hover{background:var(--paper-3);color:var(--ink)}
@media(min-width:901px) and (max-width:1220px){body.meja-ui .rail-section.current>.rail-section-toggle{background:transparent!important;border-color:transparent!important;box-shadow:inset 2px 0 0 color-mix(in srgb,var(--mui-app) 56%,var(--line))!important;color:var(--muted)!important}body.meja-ui .rail-section-toggle[aria-expanded="true"]{background:color-mix(in srgb,var(--mui-app-soft) 54%,var(--paper))!important;border-color:color-mix(in srgb,var(--mui-app) 50%,var(--line))!important;box-shadow:none!important;color:var(--ink)!important}body.meja-ui.rail-has-flyout .rail-section.current>.rail-section-toggle:not([aria-expanded="true"]){box-shadow:none!important}}
@media(max-width:900px){.meja-workspace-tabs{display:none}.mobile-nav-set .rail-link.active,.mobile-nav-set .rail-link[aria-current="page"]{box-shadow:none!important}.drawer-category-tabs{border:0!important;background:transparent!important;padding:2px 0 9px!important}.drawer-category-tabs>button{border:1px solid var(--line)!important;background:var(--paper-2)!important;border-radius:999px!important;height:36px!important}.drawer-category-tabs>button.active{background:var(--mui-selected-bg)!important;border-color:color-mix(in srgb,var(--mui-app) 58%,var(--line))!important;box-shadow:none!important}}

body.meja-ui.rail-collapsed .rail-section-toggle{position:relative;border-radius:12px!important;min-height:54px!important}
body.meja-ui.rail-collapsed .rail-section.current>.rail-section-toggle{background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:var(--muted)!important}
body.meja-ui.rail-collapsed .rail-section.current>.rail-section-toggle::after{content:"";position:absolute;left:50%;bottom:4px;transform:translateX(-50%);width:22px;height:3px;border-radius:999px;background:color-mix(in srgb,var(--mui-app) 72%,transparent)}
body.meja-ui.rail-collapsed .rail-section-toggle[aria-expanded="true"]{background:color-mix(in srgb,var(--mui-app-soft) 58%,var(--paper))!important;border-color:color-mix(in srgb,var(--mui-app) 52%,var(--line))!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mui-app) 12%,transparent)!important}
body.meja-ui.rail-collapsed .rail-section-toggle[aria-expanded="true"]::after{display:none}
body.meja-ui .rail-flyout-panel{padding:8px!important;background:color-mix(in srgb,var(--paper) 98%,transparent)!important;border:1px solid var(--line-strong)!important}

/* ===== assets/meja-ui/patterns.css ===== */
/* Cross-app platform patterns. */
.meja-workspace-tab-wrap{display:inline-flex;align-items:center;position:relative}.meja-workspace-tab-wrap .meja-workspace-tab{padding-right:25px}.meja-workspace-tab-close{position:absolute;right:4px;top:6px}
.meja-send-menu{position:fixed;z-index:4200;width:220px;padding:7px;border:1px solid var(--line-strong);border-radius:var(--mui-r-lg);background:color-mix(in srgb,var(--paper) 98%,transparent);box-shadow:var(--mui-shadow-raised);backdrop-filter:blur(12px);display:grid;gap:2px}.meja-send-menu>.eyebrow{padding:7px 8px 6px}.meja-send-menu>a{min-height:38px;border:1px solid transparent;border-radius:9px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:9px;padding:0 9px;font-size:11px;font-weight:650}.meja-send-menu>a:hover{background:var(--paper-2);border-color:var(--line)}.meja-send-menu>a svg{width:16px;height:16px;color:var(--mui-app)}
.meja-job-center{position:fixed;right:12px;bottom:44px;z-index:2600;width:min(330px,calc(100vw - 24px));display:grid;gap:5px}.meja-job-center[hidden]{display:none}.meja-job{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;border:1px solid var(--line-strong);border-radius:11px;background:var(--paper);box-shadow:var(--mui-shadow);padding:7px 9px}.meja-job>svg{width:17px;height:17px;color:var(--cyan)}.meja-job.running>svg{animation:muiSpin .8s linear infinite}.meja-job.error>svg{color:var(--red)}.meja-job.done>svg{color:var(--green)}.meja-job b,.meja-job small{display:block}.meja-job b{font-size:10px}.meja-job small{font-size:8px;color:var(--muted);margin-top:2px}@keyframes muiSpin{to{transform:rotate(360deg)}}
.meja-update-banner{position:fixed;left:50%;bottom:48px;transform:translateX(-50%);z-index:4300;width:min(520px,calc(100vw - 24px));display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--line-strong);border-radius:var(--mui-r-lg);background:var(--paper);box-shadow:var(--mui-shadow-raised)}.meja-update-banner span b,.meja-update-banner span small{display:block}.meja-update-banner span b{font-size:11px}.meja-update-banner span small{font-size:8px;color:var(--muted);margin-top:2px}
.context-resume{margin-left:auto;height:27px;border:1px solid color-mix(in srgb,var(--mui-app) 42%,var(--line));border-radius:8px;background:var(--mui-app-soft);color:var(--ink);display:flex;align-items:center;gap:6px;padding:0 8px;font-size:9px;font-weight:700}.context-resume svg{width:13px;height:13px}
.meja-ambient{position:fixed;inset:0;z-index:4600;background:var(--bg);display:grid;place-items:center;overflow:hidden}.ambient-ink{position:absolute;inset:0;background:radial-gradient(circle at 24% 18%,color-mix(in srgb,var(--yellow-soft) 42%,transparent),transparent 32%),radial-gradient(circle at 78% 26%,color-mix(in srgb,var(--cyan-soft) 38%,transparent),transparent 36%),radial-gradient(circle at 48% 82%,color-mix(in srgb,var(--violet-soft) 36%,transparent),transparent 38%);filter:saturate(.7)}.ambient-center{position:relative;text-align:center;padding:28px}.ambient-clock{font-size:clamp(72px,18vw,180px);font-weight:560;letter-spacing:-.08em;line-height:.9}.ambient-date{margin:14px 0 24px;color:var(--muted);font-size:16px}
/* Platform settings cards */
.platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.platform-card{border:1px solid var(--line);border-radius:var(--mui-r);background:var(--paper-2);padding:11px;display:grid;gap:7px}.platform-card>svg{width:20px;height:20px;color:var(--mui-app)}.platform-card b{font-size:12px}.platform-card small{font-size:9px;color:var(--muted);line-height:1.4}.platform-stat{font:700 11px/1.2 ui-monospace,monospace}.permission-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font:700 8px/1 ui-monospace,monospace}.permission-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan)}
@media(max-width:900px){.meja-send-menu{width:min(300px,calc(100vw - 20px));left:10px!important;top:auto!important;bottom:calc(var(--mobile-dock-h) + 12px + env(safe-area-inset-bottom,0px));border-radius:18px}.meja-job-center{right:8px;left:8px;bottom:calc(var(--mobile-dock-h) + 82px + env(safe-area-inset-bottom,0px));width:auto}.meja-update-banner{bottom:calc(var(--mobile-dock-h) + 10px + env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr) auto}.meja-update-banner .btn.icon{display:none!important}.platform-grid{grid-template-columns:1fr}.context-resume span{display:none}}
@media(max-width:1100px) and (min-width:901px){.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v1.6 refinements */
.section-label{display:flex;align-items:center;gap:8px;font:700 11px/1.2 "Segoe UI Variable Text","Segoe UI",sans-serif;color:var(--ink);margin-bottom:10px}.section-label svg{width:16px;height:16px;color:var(--mui-app)}
.meeting-layout-v16{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:14px;align-items:start}.meeting-layout-v16 .meeting-list{border:1px solid var(--line);border-radius:var(--mui-r-lg);background:color-mix(in srgb,var(--paper) 94%,transparent);padding:12px;max-height:calc(100dvh - var(--top) - 150px);overflow:auto}.meeting-layout-v16 .meeting-item{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:12px 13px;margin-bottom:8px}.meeting-layout-v16 .meeting-item:hover{background:var(--paper-2)}.meeting-layout-v16 .meeting-editor{display:grid;gap:12px}.meeting-card-hero .meeting-hero-row{align-items:flex-start}.meeting-card-hero .meeting-timer{font-size:clamp(32px,5vw,56px)}
.canvas-stage-v16{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;gap:12px;align-items:stretch;min-height:calc(100dvh - var(--top) - 150px)}.canvas-panel{display:grid;gap:10px;align-content:start;border:1px solid var(--line);border-radius:var(--mui-r-lg);background:color-mix(in srgb,var(--paper) 94%,transparent);padding:12px}.canvas-panel-block{display:grid;gap:10px}.canvas-main-v16{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0}.canvas-subbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.fabric-wrap-v16{min-width:0;min-height:620px;border:1px solid var(--line);border-radius:var(--mui-r-lg);background:var(--paper);overflow:hidden;display:grid}.canvas-scroll-surface{overflow:auto;min-height:var(--canvas-min-h,620px);padding:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--paper-2) 88%,transparent),color-mix(in srgb,var(--paper) 82%,transparent))}.canvas-artboard{width:max-content;min-width:100%;min-height:100%;display:grid;place-items:start}.canvas-artboard canvas{background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--line) 90%,transparent) 1px,transparent 1.2px);background-size:24px 24px;background-color:var(--paper-2);border:1px solid color-mix(in srgb,var(--line-strong) 70%,transparent);border-radius:14px;box-shadow:0 10px 28px rgba(0,0,0,.06)}body[data-theme="graphite"] .canvas-artboard canvas{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:28px 28px,28px 28px}
.tool-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.tool-grid .btn.icon{width:100%!important;min-width:0!important}.swatch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.swatch{height:36px;border:1px solid var(--line);border-radius:10px;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.swatch.active{outline:2px solid color-mix(in srgb,var(--mui-app) 75%,white);outline-offset:2px;border-color:var(--mui-app)}.brush-presets{display:flex;gap:6px;flex-wrap:wrap}.brush-presets .btn.active,.brush-presets .btn.primary{background:var(--mui-selected-bg)!important;border-color:color-mix(in srgb,var(--mui-app) 58%,var(--line))!important}
.canvas-layer-list{display:grid;gap:8px;max-height:calc(100dvh - 360px);overflow:auto}.canvas-layer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:6px}.canvas-layer.active{background:var(--mui-selected-bg);border-color:color-mix(in srgb,var(--mui-app) 50%,var(--line))}.canvas-layer-main{border:0;background:transparent;display:flex;align-items:center;gap:8px;min-width:0;text-align:left;padding:6px 8px}.canvas-layer-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-layer-actions{display:flex;gap:4px}.canvas-layer-actions .btn.icon{width:34px!important;height:34px!important;min-width:34px!important}.canvas-fallback-note{position:absolute;left:12px;bottom:12px;max-width:280px}
@media(max-width:1280px){.canvas-stage-v16{grid-template-columns:240px minmax(0,1fr) 260px}.tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.meeting-layout-v16{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:980px){.meeting-layout-v16,.canvas-stage-v16{grid-template-columns:1fr}.meeting-layout-v16 .meeting-list{max-height:none}.canvas-panel{padding:10px}.canvas-tools-v16,.canvas-inspector-v16{order:2}.canvas-main-v16{order:1}.canvas-subbar{flex-direction:column;align-items:stretch}.tool-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.swatch-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.canvas-layer-list{max-height:280px}}
@media(max-width:620px){.tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.swatch-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.canvas-artboard{min-width:100%}.canvas-scroll-surface{padding:10px}}

/* ===== assets/meja-ui/motion.css ===== */
/* One full boot per browser tab; subsequent page navigations use a short color e-ink refresh. */
html.meja-warm-boot .preboot{background:var(--bg,#d7d8cf)!important;transition:opacity .13s steps(2,end),visibility .13s steps(2,end)!important;overflow:hidden}
html.meja-warm-boot .preboot .boot-mark{display:none!important}
html.meja-warm-boot .preboot::before,html.meja-warm-boot .preboot::after{content:"";position:absolute;inset:0;pointer-events:none}
html.meja-warm-boot .preboot::before{background:linear-gradient(90deg,var(--yellow-soft,#e4d8b5),var(--cyan-soft,#c9dada),var(--green-soft,#cad7c3),var(--red-soft,#dfc8c2),var(--violet-soft,#d8cfdf));opacity:.22;animation:muiWarmInk .18s steps(3,end) both}
html.meja-warm-boot .preboot::after{background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(32,36,31,.018) 3px 4px)}
@keyframes muiWarmInk{0%{opacity:.08;transform:scaleX(.96)}45%{opacity:.3}100%{opacity:.08;transform:scaleX(1)}}
body.meja-page-leaving::after{content:"";position:fixed;inset:0;z-index:4990;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--yellow-soft) 42%,transparent),color-mix(in srgb,var(--cyan-soft) 34%,transparent),color-mix(in srgb,var(--green-soft) 30%,transparent),color-mix(in srgb,var(--violet-soft) 34%,transparent));animation:muiLeave .08s steps(2,end) both}
@keyframes muiLeave{from{opacity:0}to{opacity:.34}}
body[data-refresh="off"] .ink-tap::after,body[data-motion="low"] .ink-tap::after{display:none!important}
@media(prefers-reduced-motion:reduce){html.meja-warm-boot .preboot::before,body.meja-page-leaving::after{animation:none!important}}

/* ===== assets/meja-ui/final.css ===== */
/* Meja UI Final Layer v1.8 — loaded last on every page. */
:root{
  --v18-page-max:1760px;
  --v18-pad-x:clamp(14px,2vw,30px);
  --v18-gap:12px;
  --v18-control:42px;
  --v18-soft-alpha:58%;
}

/* ---------- Global spacing / typography ---------- */
body.meja-ui,body.meja-v18{font-size:15px!important;line-height:1.55!important}
body.meja-ui .page,body.meja-v18 .page{max-width:var(--v18-page-max)!important;padding:12px var(--v18-pad-x) 72px!important}
body.meja-ui .page>.page-head,body.meja-v18 .page>.page-head{margin:0 0 10px!important;min-height:0!important}
/* The breadcrumb already identifies the app. Page hero copy is globally removed. */
body.meja-ui .page-head .page-copy,body.meja-v18 .page-head .page-copy{display:none!important}
body.meja-ui .page-head,body.meja-v18 .page-head{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important}
body.meja-ui .page-head:has(.page-actions:empty),body.meja-v18 .page-head:has(.page-actions:empty){display:none!important}
body.meja-ui .page-actions,body.meja-v18 .page-actions{width:auto!important;margin-left:auto!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
body.meja-ui .card,body.meja-v18 .card{font-size:14px!important}
body.meja-ui .card h2,body.meja-v18 .card h2{font-size:18px!important;letter-spacing:-.025em!important}
body.meja-ui .card h3,body.meja-v18 .card h3{font-size:15px!important;letter-spacing:-.015em!important}
body.meja-ui .small,body.meja-v18 .small{font-size:12.5px!important;line-height:1.55!important}
body.meja-ui .tiny,body.meja-v18 .tiny{font-size:10.5px!important;line-height:1.45!important}
body.meja-ui .eyebrow,body.meja-v18 .eyebrow{font-size:9.5px!important;letter-spacing:.13em!important}
body.meja-ui .section-title,body.meja-v18 .section-title{margin:16px 0 8px!important;align-items:center!important}
body.meja-ui .section-title h2,body.meja-v18 .section-title h2{font-size:17px!important}

/* ---------- Final top shell: no duplicate context bar ---------- */
body.meja-ui .topbar,body.meja-v18 .topbar{grid-template-columns:auto minmax(260px,1fr) auto!important;padding-inline:var(--v18-pad-x)!important;gap:10px!important}
body.meja-ui .topbar>.crumb,body.meja-v18 .topbar>.crumb{display:none!important}
body.meja-ui .space-chip,body.meja-v18 .space-chip{height:42px!important;border-radius:12px!important;background:color-mix(in srgb,var(--paper) 92%,transparent)!important}
body.meja-ui .global-search,body.meja-v18 .global-search{height:42px!important;border-radius:12px!important;background:color-mix(in srgb,var(--paper) 92%,transparent)!important}
body.meja-ui .context-strip,body.meja-v18 .context-strip{
  position:sticky!important;top:var(--top)!important;z-index:86!important;
  min-height:42px!important;height:auto!important;
  display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:12px!important;align-items:center!important;
  padding:8px var(--v18-pad-x)!important;
  border-bottom:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--paper) 95%,transparent)!important;
  backdrop-filter:blur(10px)!important;
  overflow:visible!important;
}
body.meja-ui .context-strip .context-app,body.meja-v18 .context-strip .context-app{display:none!important}
body.meja-ui .context-breadcrumb,body.meja-v18 .context-breadcrumb{
  display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;
  color:var(--muted)!important;white-space:nowrap!important;
}
body.meja-ui .context-breadcrumb>span:first-child,body.meja-v18 .context-breadcrumb>span:first-child{font-size:11px!important;font-weight:650!important}
body.meja-ui .context-breadcrumb strong,body.meja-v18 .context-breadcrumb strong{font-size:12px!important;color:var(--ink)!important;font-weight:750!important}
body.meja-ui .context-breadcrumb svg,body.meja-v18 .context-breadcrumb svg{width:14px!important;height:14px!important;color:var(--quiet)!important}
body.meja-ui .context-main,body.meja-v18 .context-main{min-width:0!important;font-size:11.5px!important;font-weight:650!important;color:var(--muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.meja-ui .context-space,body.meja-v18 .context-space{display:inline-flex!important;align-items:center!important;min-height:26px!important;padding:0 9px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:var(--paper-2)!important;font:750 8.5px/1 ui-monospace,monospace!important;letter-spacing:.08em!important;color:var(--muted)!important}
body.meja-ui .context-meta,body.meja-v18 .context-meta{display:none!important}

/* ---------- E-paper surfaces / themes ---------- */
body[data-theme="color"],body[data-theme="paper"],body[data-theme="graphite"]{background-attachment:fixed!important}
body[data-theme="color"]{
  background-color:#d7d8cf!important;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(32,36,31,.12) 0 .7px,transparent .85px),
    linear-gradient(110deg,rgba(98,127,161,.035),transparent 26%,rgba(195,165,91,.035) 52%,transparent 78%,rgba(116,141,105,.035))!important;
  background-size:12px 12px,100% 100%!important;
}
body[data-theme="paper"]{
  background-color:#ddd7ca!important;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(63,58,48,.075) 0 .62px,transparent .8px),
    linear-gradient(90deg,rgba(179,156,101,.03),transparent 34%,rgba(142,131,151,.018),transparent 76%)!important;
  background-size:14px 14px,100% 100%!important;
}
body[data-theme="graphite"]{
  background-color:#1d221d!important;
  background-image:
    radial-gradient(circle at 1px 1px,rgba(239,238,231,.13) 0 .72px,transparent .9px),
    radial-gradient(circle at 7px 5px,rgba(141,185,191,.045) 0 .55px,transparent .8px),
    linear-gradient(110deg,rgba(145,170,199,.035),transparent 30%,rgba(211,185,121,.025) 54%,transparent 76%,rgba(150,173,139,.03))!important;
  background-size:13px 13px,17px 17px,100% 100%!important;
}
/* Keep the grain visible through shell surfaces in dark mode. */
body[data-theme="graphite"] :is(.rail,.topbar,.context-strip,.card,.editor-pane-v17,.preview-pane-v17,.meeting-list,.meeting-editor,.canvas-panel,.fabric-wrap-v16){background-color:color-mix(in srgb,var(--paper) 92%,transparent)!important}
body[data-theme="graphite"]::before{opacity:.11!important;background-image:radial-gradient(circle,rgba(239,238,231,.18) 0 .42px,transparent .72px)!important;background-size:5px 5px!important;mix-blend-mode:screen!important}

/* ---------- Full e-ink boot and warm page refresh ---------- */
.preboot{background:var(--bg,#d7d8cf)!important;background-image:radial-gradient(circle at 1px 1px,rgba(32,36,31,.14) 0 .7px,transparent .85px)!important;background-size:12px 12px!important}
.preboot .boot-logo{border-radius:10px!important;background:var(--paper,#eceae0)!important;border-color:var(--line-strong,#969d94)!important}
.preboot .boot-line{height:7px!important;border-radius:999px!important;background:var(--paper-3,#d7d9d0)!important;overflow:hidden!important}
.preboot .boot-line span{background:linear-gradient(90deg,var(--cyan,#6f9aa1),var(--yellow,#c3a55b),var(--green,#748d69))!important;animation:v18BootInk 1s steps(7,end) infinite!important}
@keyframes v18BootInk{0%{transform:translateX(-115%);filter:saturate(.75)}55%{filter:saturate(.9)}100%{transform:translateX(255%);filter:saturate(.72)}}
body.meja-page-leaving::after{content:""!important;position:fixed!important;inset:0!important;z-index:4998!important;pointer-events:none!important;background:var(--paper)!important;opacity:0!important;animation:v18PageInk .28s steps(4,end)!important}
@keyframes v18PageInk{0%{opacity:0}28%{opacity:.15}52%{opacity:.035}76%{opacity:.08}100%{opacity:0}}
.page-loading.e-paper-loading,.page-loading{position:relative!important;overflow:hidden!important;border-radius:12px!important;background:color-mix(in srgb,var(--paper) 94%,transparent)!important}
.page-loading::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 14px,color-mix(in srgb,var(--line) 24%,transparent) 14px 15px);animation:v18Load .9s steps(6,end) infinite;opacity:.48}
@keyframes v18Load{0%{transform:translateY(-16px);opacity:.25}50%{opacity:.6}100%{transform:translateY(16px);opacity:.3}}

/* ---------- One state vocabulary everywhere ---------- */
/* Buttons remain actions. Selected/pressed state uses the current app pigment. */
body.meja-ui .btn,body.meja-v18 .btn{border-radius:11px!important;min-height:42px!important;height:42px!important;font-size:12px!important;font-weight:670!important}
body.meja-ui .btn.primary:not([data-meja-tab]),body.meja-v18 .btn.primary:not([data-meja-tab]){background:color-mix(in srgb,var(--mui-app-soft,var(--cyan-soft)) 64%,var(--paper))!important;border-color:color-mix(in srgb,var(--mui-app,var(--cyan)) 62%,var(--line))!important;color:var(--ink)!important}
body.meja-ui [aria-pressed="true"]:not([data-meja-tab]),body.meja-v18 [aria-pressed="true"]:not([data-meja-tab]){background:color-mix(in srgb,var(--mui-app-soft,var(--cyan-soft)) 62%,var(--paper))!important;border-color:color-mix(in srgb,var(--mui-app,var(--cyan)) 62%,var(--line))!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mui-app,var(--cyan)) 14%,transparent)!important}

/* Detected tablists are strictly single-selected visually. */
body.meja-ui [data-meja-tablist] [data-meja-tab],body.meja-v18 [data-meja-tablist] [data-meja-tab]{background:transparent!important;border-color:transparent!important;color:var(--muted)!important;box-shadow:none!important}
body.meja-ui [data-meja-tablist] [data-meja-tab][aria-selected="true"],body.meja-v18 [data-meja-tablist] [data-meja-tab][aria-selected="true"]{background:color-mix(in srgb,var(--mui-app-soft,var(--cyan-soft)) 66%,var(--paper))!important;border-color:color-mix(in srgb,var(--mui-app,var(--cyan)) 55%,var(--line))!important;color:var(--ink)!important;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--mui-app,var(--cyan)) 76%,transparent)!important}
body.meja-ui [data-meja-tablist] [data-meja-tab].primary:not([aria-selected="true"]),body.meja-v18 [data-meja-tablist] [data-meja-tab].primary:not([aria-selected="true"]),body.meja-ui [data-meja-tablist] [data-meja-tab].active:not([aria-selected="true"]),body.meja-v18 [data-meja-tablist] [data-meja-tab].active:not([aria-selected="true"]){background:transparent!important;border-color:transparent!important;color:var(--muted)!important;box-shadow:none!important}

/* Expanded rail: current group and current app use the same pigment family. */
body.meja-ui:not(.rail-collapsed) .rail-section.current>.rail-section-toggle,body.meja-v18:not(.rail-collapsed) .rail-section.current>.rail-section-toggle{background:color-mix(in srgb,var(--mui-app-soft,var(--blue-soft)) 62%,var(--paper))!important;border-color:color-mix(in srgb,var(--mui-app,var(--blue)) 50%,var(--line))!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mui-app,var(--blue)) 10%,transparent)!important}
body.meja-ui:not(.rail-collapsed) .rail-section.current>.rail-section-toggle .rail-section-icon,body.meja-v18:not(.rail-collapsed) .rail-section.current>.rail-section-toggle .rail-section-icon{color:var(--mui-app,var(--blue))!important}
body.meja-ui:not(.rail-collapsed) .rail-section.current>.rail-section-toggle .rail-section-label,body.meja-v18:not(.rail-collapsed) .rail-section.current>.rail-section-toggle .rail-section-label{color:var(--ink)!important}
body.meja-ui .rail-link[aria-current="page"],body.meja-v18 .rail-link[aria-current="page"]{background:color-mix(in srgb,var(--item-soft,var(--mui-app-soft,var(--blue-soft))) 68%,var(--paper))!important;border-color:color-mix(in srgb,var(--item-accent,var(--mui-app,var(--blue))) 58%,var(--line))!important;color:var(--ink)!important;box-shadow:inset 3px 0 0 var(--item-accent,var(--mui-app,var(--blue)))!important}

/* Collapsed rail: exactly one page state is filled. Opening another flyout uses outline only. */
body.meja-ui.rail-collapsed .rail-section.current>.rail-section-toggle,body.meja-v18.rail-collapsed .rail-section.current>.rail-section-toggle{background:color-mix(in srgb,var(--mui-app-soft,var(--blue-soft)) 64%,var(--paper))!important;border-color:color-mix(in srgb,var(--mui-app,var(--blue)) 56%,var(--line))!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mui-app,var(--blue)) 12%,transparent)!important}
body.meja-ui.rail-collapsed .rail-section.current>.rail-section-toggle::after,body.meja-v18.rail-collapsed .rail-section.current>.rail-section-toggle::after{display:none!important}
body.meja-ui.rail-collapsed .rail-section:not(.current)>.rail-section-toggle[aria-expanded="true"],body.meja-v18.rail-collapsed .rail-section:not(.current)>.rail-section-toggle[aria-expanded="true"]{background:var(--paper)!important;border-color:color-mix(in srgb,var(--mui-app,var(--blue)) 46%,var(--line))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mui-app,var(--blue)) 9%,transparent)!important}
body.meja-ui.rail-collapsed.rail-has-flyout .rail-section.current>.rail-section-toggle:not([aria-expanded="true"]),body.meja-v18.rail-collapsed.rail-has-flyout .rail-section.current>.rail-section-toggle:not([aria-expanded="true"]){background:color-mix(in srgb,var(--mui-app-soft,var(--blue-soft)) 64%,var(--paper))!important;border-color:color-mix(in srgb,var(--mui-app,var(--blue)) 56%,var(--line))!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mui-app,var(--blue)) 12%,transparent)!important}
body.meja-ui .rail-section-toggle:hover,body.meja-v18 .rail-section-toggle:hover{background:color-mix(in srgb,var(--paper-2) 78%,var(--mui-app-soft,var(--blue-soft)) 22%)!important;border-color:var(--line)!important}
body.meja-ui .rail-flyout-panel,body.meja-v18 .rail-flyout-panel{border-radius:14px!important;background:color-mix(in srgb,var(--paper) 98%,transparent)!important;border-color:var(--line-strong)!important;box-shadow:0 20px 64px rgba(15,20,16,.18)!important}
body.meja-ui .rail-flyout-items .rail-link[aria-current="page"],body.meja-v18 .rail-flyout-items .rail-link[aria-current="page"]{background:color-mix(in srgb,var(--item-soft,var(--mui-app-soft)) 70%,var(--paper))!important}

/* Workspace tabs / submenu / filters use exactly one selection treatment. */
body.meja-ui .meja-workspace-tab[aria-current="page"],body.meja-v18 .meja-workspace-tab[aria-current="page"],body.meja-ui .drawer-category-tabs>button.active,body.meja-v18 .drawer-category-tabs>button.active,body.meja-ui .inspector-tabs>button.active,body.meja-v18 .inspector-tabs>button.active{background:color-mix(in srgb,var(--mui-app-soft,var(--blue-soft)) 65%,var(--paper))!important;border-color:color-mix(in srgb,var(--mui-app,var(--blue)) 55%,var(--line))!important;color:var(--ink)!important;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--mui-app,var(--blue)) 75%,transparent)!important}

/* ---------- Notifications ---------- */
.notify-btn{position:relative!important}
.notif-badge{position:absolute!important;top:-5px!important;right:-5px!important;min-width:19px!important;height:19px!important;padding:0 5px!important;border-radius:999px!important;display:grid!important;place-items:center!important;background:var(--red-soft)!important;border:1px solid color-mix(in srgb,var(--red) 62%,var(--line))!important;color:var(--ink)!important;font:800 9px/1 ui-monospace,monospace!important;box-shadow:0 0 0 2px var(--paper)!important}
.notif-badge[hidden]{display:none!important}
.notify-btn.has-alert{background:color-mix(in srgb,var(--red-soft) 72%,var(--paper))!important;border-color:color-mix(in srgb,var(--red) 55%,var(--line))!important}
.notification-drawer{border-radius:14px!important}
.notification-list{display:grid!important;gap:8px!important}
.notice-head{display:flex!important;justify-content:space-between!important;gap:10px!important;align-items:center!important}
.notice-state{font:750 8px/1 ui-monospace,monospace!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--quiet)!important}

/* ---------- App-specific width fixes ---------- */
.editor-layout,.editor-layout-v17{min-height:calc(100dvh - 190px)!important}
.meeting-layout,.meeting-layout-v16{margin-top:0!important}
.canvas-stage-v07,.canvas-stage-v16{margin-top:0!important}

@media(max-width:1220px) and (min-width:901px){
  body.meja-ui .rail-section.current>.rail-section-toggle,body.meja-v18 .rail-section.current>.rail-section-toggle{background:color-mix(in srgb,var(--mui-app-soft,var(--blue-soft)) 64%,var(--paper))!important;border-color:color-mix(in srgb,var(--mui-app,var(--blue)) 56%,var(--line))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mui-app,var(--blue)) 12%,transparent)!important;color:var(--ink)!important}
  body.meja-ui .rail-section:not(.current)>.rail-section-toggle[aria-expanded="true"],body.meja-v18 .rail-section:not(.current)>.rail-section-toggle[aria-expanded="true"]{background:var(--paper)!important;border-color:color-mix(in srgb,var(--mui-app,var(--blue)) 46%,var(--line))!important;box-shadow:none!important}
}
@media(max-width:900px){
  body.meja-ui .topbar,body.meja-v18 .topbar{grid-template-columns:minmax(0,1fr) auto!important;padding-inline:8px!important}
  body.meja-ui .space-chip,body.meja-v18 .space-chip{display:none!important}
  body.meja-ui .context-strip,body.meja-v18 .context-strip{grid-template-columns:minmax(0,1fr) auto!important;padding:7px 10px!important;min-height:38px!important}
  body.meja-ui .context-main,body.meja-v18 .context-main{display:none!important}
  body.meja-ui .context-breadcrumb>span:first-child,body.meja-v18 .context-breadcrumb>span:first-child{display:none!important}
  body.meja-ui .context-breadcrumb svg,body.meja-v18 .context-breadcrumb svg{display:none!important}
  body.meja-ui .page,body.meja-v18 .page{padding:10px 10px 104px!important}
  body.meja-ui .page-actions,body.meja-v18 .page-actions{justify-content:flex-start!important;margin-left:0!important;width:100%!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important}
  body.meja-ui .page-actions::-webkit-scrollbar,body.meja-v18 .page-actions::-webkit-scrollbar{display:none!important}
  .notification-drawer{left:8px!important;right:8px!important;width:auto!important;top:auto!important;bottom:82px!important;max-height:72dvh!important}
}
@media(prefers-reduced-motion:reduce){.preboot .boot-line span,.page-loading::after,body.meja-page-leaving::after{animation:none!important}}

/* ======================================================================
   Meja Kerja v2.0 refinement layer
   Sidebar/footer, external notification badge, Word-like editor toolbar,
   conventional Gallery and Files workspaces.
   ====================================================================== */
:root{--mk-footer-h:28px;--mk-rail-gap:42px}

/* Desktop rail: collapse control always lives above status footer. */
@media(min-width:901px){
  .rail{padding-bottom:calc(var(--mk-footer-h) + 12px)!important}
  .rail-nav{min-height:0!important;overflow:auto!important;scrollbar-width:none}
  .rail-nav::-webkit-scrollbar{display:none}
  .rail-collapse{flex:0 0 42px!important;min-height:42px!important;margin-top:8px!important;margin-bottom:calc(var(--mk-footer-h) + 5px)!important;border-radius:11px!important;position:relative!important;z-index:2!important}
  .rail-collapse svg{width:19px!important;height:19px!important;transition:transform .18s var(--ease)}
  body.rail-collapsed .rail-collapse{width:58px!important;margin-inline:auto!important;background:color-mix(in srgb,var(--blue-soft) 42%,var(--paper))!important;border-color:color-mix(in srgb,var(--blue) 44%,var(--line))!important;color:var(--ink)!important}
  body.rail-collapsed .rail-collapse:hover{background:color-mix(in srgb,var(--blue-soft) 66%,var(--paper))!important}
  .sidebar-foot{position:absolute!important;left:10px!important;right:10px!important;bottom:7px!important;height:20px!important;padding:0 6px!important;border:0!important;z-index:1!important}
  .statusbar{left:var(--rail)!important;bottom:0!important;height:var(--mk-footer-h)!important;z-index:85!important}
}

/* Collapsed rail active state: one obvious page state, flyout is outline-only. */
body.meja-ui.rail-collapsed .rail-section.current>.rail-section-toggle,
body.rail-collapsed .rail-section.current>.rail-section-toggle{
  background:color-mix(in srgb,var(--mui-app-soft,var(--blue-soft)) 68%,var(--paper))!important;
  border-color:color-mix(in srgb,var(--mui-app,var(--blue)) 54%,var(--line))!important;
  color:var(--ink)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mui-app,var(--blue)) 11%,transparent)!important;
}
body.meja-ui.rail-collapsed .rail-section.current>.rail-section-toggle::after,
body.rail-collapsed .rail-section.current>.rail-section-toggle::after{display:none!important}
body.meja-ui.rail-collapsed .rail-section:not(.current)>.rail-section-toggle[aria-expanded="true"],
body.rail-collapsed .rail-section:not(.current)>.rail-section-toggle[aria-expanded="true"]{
  background:var(--paper)!important;
  border-color:color-mix(in srgb,var(--mui-app,var(--blue)) 50%,var(--line))!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mui-app,var(--blue)) 8%,transparent)!important;
}

/* Notification count is a real external circular badge. */
.notify-btn{position:relative!important;overflow:visible!important}
.notif-badge{
  position:absolute!important;top:-8px!important;right:-8px!important;
  width:21px!important;height:21px!important;min-width:21px!important;padding:0!important;
  border-radius:50%!important;display:grid!important;place-items:center!important;
  border:2px solid var(--paper)!important;background:var(--yellow)!important;color:#20241f!important;
  box-shadow:0 2px 0 color-mix(in srgb,var(--ink) 14%,transparent)!important;
  font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;z-index:6!important;
}
.notif-badge[hidden]{display:none!important}
.notify-btn.has-alert{background:var(--paper)!important;border-color:var(--line)!important}
.notify-btn.has-alert>svg{color:var(--yellow)!important}

/* Tiny e-paper navigation refresh, not a full page animation. */
@keyframes mkPigmentFlash{0%{filter:none}32%{filter:contrast(.92) saturate(.72)}62%{filter:contrast(1.04) saturate(.9)}100%{filter:none}}
.workspace.mk-pigment-refresh{animation:mkPigmentFlash .28s steps(3,end)}

/* ---------------- Editor ---------------- */
.word-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;max-width:100%}
.word-toolbar .word-format{width:132px;min-width:118px}
.word-toolbar .btn.icon{width:36px!important;height:36px!important;min-width:36px!important;border-radius:8px!important}
.word-toolbar .btn.icon:hover{background:color-mix(in srgb,var(--cyan-soft) 52%,var(--paper))!important;border-color:color-mix(in srgb,var(--cyan) 34%,var(--line))!important}
.word-sep{width:1px;height:25px;background:var(--line);margin:0 2px}
.editor-pane-head{align-items:flex-start!important;flex-wrap:wrap!important}
.editor-pane-head>div:first-child{min-width:130px}
.editor-subtools{flex:1;justify-content:flex-end}
.code-runner-frame{display:block;width:100%;min-height:480px;border:0;background:transparent;color:var(--ink)}
.code-run-error{padding:16px;border:1px solid color-mix(in srgb,var(--red) 50%,var(--line));border-radius:12px;background:var(--red-soft)}
.code-run-error pre{white-space:pre-wrap;margin-top:10px}
.editor-preview iframe{border-radius:10px;background:var(--paper)}
.editor-status-pill[data-tone="good"]{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 52%,var(--line));color:var(--ink)}
.editor-status-pill[data-tone="editing"]{background:var(--yellow-soft);border-color:color-mix(in srgb,var(--yellow) 46%,var(--line));color:var(--ink)}

/* ---------------- Gallery: familiar three-pane Photos layout ---------------- */
.gallery-workspace-v20{display:grid;grid-template-columns:210px minmax(0,1fr) 300px;gap:12px;align-items:start;min-height:calc(100dvh - var(--top) - 105px)}
.gallery-nav-v20,.gallery-inspector-v20{position:sticky;top:calc(var(--top) + 54px);max-height:calc(100dvh - var(--top) - 88px);overflow:auto}
.gallery-nav-v20{padding:10px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--paper) 96%,transparent)}
.gallery-nav-v20 .notebook-item{width:100%;min-height:39px;border:1px solid transparent;border-radius:9px;padding:7px 9px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;align-items:center;text-align:left;background:transparent;color:var(--muted)}
.gallery-nav-v20 .notebook-item:hover{background:var(--paper-2);border-color:var(--line)}
.gallery-nav-v20 .notebook-item.active{background:color-mix(in srgb,var(--green-soft) 58%,var(--paper));border-color:color-mix(in srgb,var(--green) 42%,var(--line));color:var(--ink)}
.gallery-main-v20{min-width:0;display:grid;gap:10px}
.gallery-toolbar-v20{position:sticky;top:calc(var(--top) + 42px);z-index:20;display:flex;gap:7px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(10px)}
.gallery-toolbar-v20 .search-field{flex:1;min-width:160px}
.gallery-grid-v20{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;gap:10px!important;align-items:start}
.gallery-grid-v20 .gallery-item{position:relative;display:block;aspect-ratio:4/3;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper-2);box-shadow:none;transition:transform .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease)}
.gallery-grid-v20 .gallery-item:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.gallery-grid-v20 .gallery-item>img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(.98);transition:filter .18s var(--ease),transform .2s var(--ease)}
.gallery-grid-v20 .gallery-item:hover>img{filter:saturate(1) contrast(1);transform:scale(1.015)}
.gallery-grid-v20 .gallery-meta{position:absolute;left:8px;right:8px;bottom:7px;padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:700;color:var(--ink)}
.gallery-grid-v20 .gallery-actions{position:absolute;right:7px;top:7px;display:flex;gap:5px;opacity:.15;transition:opacity .15s}
.gallery-grid-v20 .gallery-item:hover .gallery-actions,.gallery-grid-v20 .gallery-selection .gallery-actions{opacity:1}
.gallery-grid-v20 .gallery-fav{width:31px;height:31px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--paper) 88%,transparent);display:grid;place-items:center;color:var(--muted)}
.gallery-grid-v20 .gallery-fav.active{background:var(--yellow-soft);color:var(--ink);border-color:color-mix(in srgb,var(--yellow) 50%,var(--line))}
.gallery-grid-v20 .gallery-selection{outline:2px solid var(--cyan);outline-offset:1px}
.gallery-inspector-v20{padding:12px!important;min-height:220px}
.gallery-inspector-empty,.file-preview-empty{min-height:200px;display:grid;place-items:center;align-content:center;text-align:center;gap:8px;color:var(--muted)}
.gallery-inspector-empty svg,.file-preview-empty svg{width:34px;height:34px;color:var(--quiet)}
.gallery-inspector-empty b,.file-preview-empty b{color:var(--ink);font-size:14px}
.gallery-inspector-empty span,.file-preview-empty span{font-size:11px;line-height:1.5;max-width:26ch}
.gallery-compact .gallery-grid-v20{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))!important}
.gallery-compact .gallery-grid-v20 .gallery-meta{display:none}

/* ---------------- Files: Finder/Explorer-inspired three-pane layout ---------------- */
.files-workspace-v20{display:grid;grid-template-columns:220px minmax(0,1fr) 330px;gap:12px;align-items:start;min-height:calc(100dvh - var(--top) - 105px)}
.file-tree-v20,.file-preview-v20{position:sticky;top:calc(var(--top) + 54px);max-height:calc(100dvh - var(--top) - 88px);overflow:auto}
.file-tree-v20{border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--paper) 96%,transparent);padding:10px}
.file-tree-v20 .tree-item{border-radius:9px!important;min-height:37px!important}
.file-main-v20{min-width:0;display:grid;gap:9px}
.file-toolbar-v20{position:sticky;top:calc(var(--top) + 42px);z-index:25;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(10px)}
.file-toolbar-v20 .breadcrumbs{min-width:120px;flex:1}
.file-toolbar-v20 .file-toolbar-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.file-toolbar-v20 .search-field{min-width:170px}
.file-drop-v20{min-height:56px!important;padding:9px 12px!important;display:flex!important;align-items:center!important;gap:10px!important;border:1px dashed var(--line-strong)!important;border-radius:11px!important;background:color-mix(in srgb,var(--cyan-soft) 17%,var(--paper))!important;text-align:left!important}
.file-drop-v20>svg{width:22px!important;height:22px!important;color:var(--cyan)!important;flex:0 0 auto}
.file-drop-v20 h3{display:none!important}.file-drop-v20 p{margin:2px 0 0!important}
.file-browser-v20{min-width:0;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--paper) 97%,transparent);overflow:hidden}
.file-browser-v20 .file-list{border:0!important;border-radius:0!important}
.file-browser-v20 .file-list-head{position:sticky;top:0;z-index:5;background:var(--paper-2)!important}
.file-browser-v20 .file-row{min-height:44px!important;border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent)!important}
.file-browser-v20 .file-row:hover{background:var(--paper-2)!important}
.file-browser-v20 .file-row.selected{background:color-mix(in srgb,var(--blue-soft) 58%,var(--paper))!important;box-shadow:inset 3px 0 0 var(--blue)}
.file-grid.v2{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:9px!important;padding:10px!important}
.file-card.v2{border-radius:11px!important;min-height:132px!important;background:var(--paper)!important}
.file-card.v2.selected{background:color-mix(in srgb,var(--blue-soft) 54%,var(--paper))!important;border-color:color-mix(in srgb,var(--blue) 48%,var(--line))!important}
.file-preview-v20{padding:12px!important;min-height:260px}
.file-preview-v20 .file-preview-head{display:grid!important;gap:10px!important}
.file-preview-v20 .toolbar-scroll{display:flex;gap:6px;overflow:auto;padding-bottom:2px}
.file-preview-image,.file-preview-video{width:100%;max-height:54dvh;object-fit:contain;border-radius:10px;background:var(--paper-2)}
.file-text-preview{max-height:54dvh;overflow:auto;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);font-size:11px;line-height:1.55}

/* Empty state illustration feeling without heavy image assets. */
.gallery-empty,.file-empty{min-height:280px!important;border:1px dashed var(--line-strong)!important;border-radius:14px!important;background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--line) 40%,transparent) 1px,transparent 1.2px),var(--paper-2)!important;background-size:18px 18px!important;display:grid!important;place-items:center!important;align-content:center!important;text-align:center!important;padding:24px!important}
.gallery-empty svg{width:42px;height:42px;color:var(--green)}

@media(max-width:1320px){
  .gallery-workspace-v20{grid-template-columns:190px minmax(0,1fr) 260px}
  .files-workspace-v20{grid-template-columns:195px minmax(0,1fr) 290px}
  .gallery-grid-v20{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))!important}
}
@media(max-width:1080px){
  .gallery-workspace-v20{grid-template-columns:180px minmax(0,1fr)}
  .gallery-inspector-v20{grid-column:1/-1;position:static;max-height:none}
  .files-workspace-v20{grid-template-columns:185px minmax(0,1fr)}
  .file-preview-v20{grid-column:1/-1;position:static;max-height:none}
}
@media(max-width:900px){
  .gallery-workspace-v20,.files-workspace-v20{grid-template-columns:1fr;min-height:auto}
  .gallery-nav-v20,.file-tree-v20{position:static;max-height:none;display:flex;gap:5px;overflow:auto;padding:7px}
  .gallery-nav-v20 .section-label,.gallery-nav-v20 .divider,.file-tree-v20 .card-head,.file-tree-v20 .divider,.file-tree-v20 .file-tree-tip{display:none}
  .gallery-nav-v20 .notebook-item,.file-tree-v20 .tree-item{width:auto;min-width:max-content}
  .gallery-inspector-v20,.file-preview-v20{grid-column:auto}
  .gallery-toolbar-v20,.file-toolbar-v20{position:static}
  .gallery-grid-v20{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .editor-subtools{justify-content:flex-start;width:100%}
  .word-toolbar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;width:100%}
}
@media(max-width:560px){
  .gallery-grid-v20{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .gallery-grid-v20 .gallery-item{border-radius:9px}
  .files-workspace-v20 .file-row{grid-template-columns:minmax(0,1fr) auto auto!important}
  .files-workspace-v20 .file-row .type,.files-workspace-v20 .file-row .modified{display:none!important}
}


/* v2.1 targeted refinements */
.swatch-grid{display:flex!important;flex-wrap:wrap!important;gap:10px!important}.swatch{width:38px!important;height:38px!important;border-radius:999px!important;flex:0 0 38px!important;border:1px solid var(--line)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.04)!important}.swatch.active{outline:3px solid color-mix(in srgb,var(--mui-app) 55%,white)!important;outline-offset:2px!important}.canvas-layer{grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important}.canvas-layer-main{align-items:flex-start!important}.canvas-layer-copy{min-width:0;display:grid;gap:4px}.canvas-layer-name{width:100%;border:1px solid transparent;background:transparent;padding:4px 6px;border-radius:8px;font:700 11px/1.25 system-ui,sans-serif;color:var(--ink)}.canvas-layer-name:hover,.canvas-layer-name:focus{background:color-mix(in srgb,var(--paper-2) 75%,transparent);border-color:var(--line);outline:none}.canvas-layer-meta{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.canvas-layer-actions{display:grid!important;grid-template-columns:repeat(2,34px)!important}.canvas-layer-actions .btn.icon{width:34px!important;height:34px!important}.task-checks{display:grid!important;gap:6px!important}.task-check-item{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper);padding:6px 8px;border-radius:10px;text-align:left;color:var(--ink)}.task-check-item.done{background:color-mix(in srgb,var(--green-soft) 72%,var(--paper));border-color:color-mix(in srgb,var(--green) 42%,var(--line))}.check-dot,.state-toggle span{width:18px;height:18px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--line-strong);font:800 10px/1 ui-monospace,monospace;background:var(--paper-2);flex:0 0 18px}.task-check-item.done .check-dot,.state-toggle.done span{background:var(--green-soft);border-color:var(--green)}.state-toggle{width:28px;height:28px;border-radius:999px;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center}.state-toggle.done{border-color:var(--green);background:color-mix(in srgb,var(--green-soft) 80%,var(--paper))}.flow-list-row{grid-template-columns:34px minmax(180px,1fr) 92px 48px 58px 88px auto!important;border-radius:12px!important}.flow-row-copy{min-width:0}.flow-row-copy b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-check-item:hover,.state-toggle:hover{background:var(--paper-2)}.mobile-brand-chip{display:none;align-items:center;gap:8px;min-width:0;color:var(--ink)}.mobile-brand-chip .brand-copy strong{font-size:12px}.mobile-brand-chip .brand-copy small{display:none}.mobile-brand-chip .brand-mark{width:30px;height:30px;flex-basis:30px}.notify-btn{position:relative}.flow-view-switch .seg.active,.flow-view-switch .seg.primary{background:var(--mui-selected-bg)!important;border-color:color-mix(in srgb,var(--mui-app) 55%,var(--line))!important;color:var(--ink)!important}.meja-send-menu .eyebrow{letter-spacing:.14em}
@media(max-width:959px){.mobile-brand-chip{display:flex}.topbar{grid-template-columns:auto minmax(0,1fr) auto!important}.space-chip{display:none!important}.global-search .search-copy{display:none}.global-search{min-width:0}.flow-list-row{grid-template-columns:30px minmax(0,1fr) auto auto!important}.flow-list-row>.pill,.flow-list-row>*:nth-child(4),.flow-list-row>*:nth-child(5),.flow-list-row>*:nth-child(6){display:none}.canvas-layer-actions{grid-template-columns:repeat(4,34px)!important;overflow:auto;padding-top:2px}.swatch{width:34px!important;height:34px!important;flex-basis:34px!important}}


/* v2.2 canvas + contextual menu */
.canvas-artboard canvas,.canvas-artboard .canvas-container,.canvas-artboard .upper-canvas,.canvas-artboard .lower-canvas{max-width:none!important;max-height:none!important}
.canvas-focus-dock{position:absolute;z-index:35;left:50%;bottom:18px;transform:translateX(-50%);display:none;gap:6px;padding:6px;border:1px solid var(--line-strong);border-radius:14px;background:color-mix(in srgb,var(--paper) 94%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.canvas-focus-mode .canvas-stage-v16{grid-template-columns:minmax(0,1fr)!important}
.canvas-focus-mode .canvas-tools-v16,.canvas-focus-mode .canvas-inspector-v16,.canvas-focus-mode .canvas-subbar,.canvas-focus-mode .page-head{display:none!important}
.canvas-focus-mode .fabric-wrap-v16{min-height:calc(100dvh - var(--top) - 92px)!important;border-radius:16px}
.canvas-focus-mode .canvas-focus-dock{display:flex}
.canvas-focus-mode .canvas-scroll-surface{min-height:calc(100dvh - var(--top) - 92px)!important;padding:12px}
.meja-context-menu{position:fixed!important;left:0!important;top:0!important;width:260px!important;padding:8px!important;display:grid!important;gap:7px!important;transform:translate3d(-9999px,-9999px,0);will-change:transform;max-height:min(620px,calc(100dvh - 20px));overflow:auto;overscroll-behavior:contain}
.meja-context-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 5px 7px;border-bottom:1px solid var(--line)}
.meja-context-head>span{min-width:0;display:flex;align-items:center;gap:8px}.meja-context-head b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.meja-context-head svg{width:16px;height:16px;color:var(--mui-app)}
.meja-context-close{width:30px;height:30px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);display:grid;place-items:center}.meja-context-close:hover{border-color:var(--line);background:var(--paper-2)}.meja-context-close svg{width:15px;height:15px}
.meja-context-section{display:grid;gap:2px}.meja-context-section>.eyebrow{padding:5px 7px 3px}.meja-context-action{min-height:36px!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:var(--ink)!important;text-decoration:none!important;display:flex!important;align-items:center!important;gap:9px!important;padding:0 9px!important;font-size:11px!important;font-weight:650!important;text-align:left!important}.meja-context-action:hover{background:var(--paper-2)!important;border-color:var(--line)!important}.meja-context-action svg{width:16px!important;height:16px!important;color:var(--mui-app)!important}.meja-context-section.compact{border-top:1px solid var(--line);padding-top:6px}
input[type="checkbox"],input[type="radio"]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1px solid var(--line-strong);background:var(--paper);display:inline-grid;place-items:center;vertical-align:-3px;transition:.12s ease;cursor:pointer}input[type="checkbox"]{border-radius:5px}input[type="radio"]{border-radius:999px}input[type="checkbox"]::after{content:"✓";font:800 12px/1 ui-monospace,monospace;opacity:0;transform:scale(.5);color:var(--ink)}input[type="radio"]::after{content:"";width:8px;height:8px;border-radius:999px;background:var(--ink);opacity:0;transform:scale(.4)}input[type="checkbox"]:checked,input[type="radio"]:checked{background:color-mix(in srgb,var(--mui-app-soft,var(--green-soft)) 72%,var(--paper));border-color:color-mix(in srgb,var(--mui-app,var(--green)) 65%,var(--line-strong))}input[type="checkbox"]:checked::after,input[type="radio"]:checked::after{opacity:1;transform:scale(1)}input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible{outline:2px solid var(--mui-app,var(--blue));outline-offset:2px}
@media(max-width:900px){.meja-context-menu{width:min(330px,calc(100vw - 16px))!important;left:0!important;top:0!important;bottom:auto!important;border-radius:16px!important}.canvas-focus-mode .fabric-wrap-v16,.canvas-focus-mode .canvas-scroll-surface{min-height:calc(100dvh - var(--top) - 86px)!important}.canvas-focus-dock{bottom:88px}}
