/* 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}}
