:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#353834;background:#fff;font-size:14px;--bg:#fff;--side:#f7f7f5;--text:#353834;--muted:#898b85;--line:#eceee9;--hover:#eeefeb;--accent:#48654c;--card:#fff;--shadow:0 16px 60px #1823181a}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:transparent}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[contenteditable]:focus-visible{outline:2px solid #86a387;outline-offset:3px}button{transition:background .15s,transform .15s}input,textarea,select{color:var(--text);background:var(--bg)}::selection{background:#d5e6cb}h1,h2,h3,p{margin-top:0}h1{font-size:36px;letter-spacing:-1.2px;font-weight:650}h2{font-size:17px;letter-spacing:-.35px}button:hover{background:var(--hover)}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 14px 10px;z-index:20}.workspace{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:0 8px 26px}.brand-mark{display:inline-flex;width:53px;height:53px;align-items:center;justify-content:center;border-radius:12px;background:#343d36;color:#fff;font:46px Georgia;letter-spacing:-5px;padding-right:5px}.brand-mark.small{width:34px;height:34px;border-radius:8px;font-size:31px;letter-spacing:-3px;padding-bottom:3px}.workspace strong{font-size:14px;font-weight:650}.workspace small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.workspace-chevron{margin-left:auto;color:var(--muted)}.nav-item{display:flex;gap:11px;align-items:center;width:100%;padding:10px 12px;text-align:left;border-radius:6px;color:#72766e;font-size:13px}.nav-item>span:first-child{font-size:19px;width:18px;text-align:center;line-height:17px}.nav-item.selected,.tree-item.selected{background:#e8ece5;color:#394b36}.nav-item.selected{font-weight:600}kbd{font:10px inherit;margin-left:auto;border:1px solid #dddeda;border-radius:4px;padding:2px 4px;color:#999}.side-label{font-size:10px;font-weight:650;letter-spacing:1.2px;color:#969a91;margin:28px 9px 7px;display:flex;align-items:center;justify-content:space-between}.icon-button{width:30px;height:30px;border-radius:5px;font-size:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tree{overflow:auto;max-height:45vh}.tree-item{display:flex;align-items:center;border-radius:5px;padding-left:calc(var(--depth) * 12px);height:34px;min-width:0}.tree-toggle{padding:0;width:18px;flex-shrink:0;color:#90958b}.tree-page{display:flex;gap:8px;align-items:center;flex:1;min-width:0;text-align:left;padding:6px 0;font-size:12px}.tree-page span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-add{width:24px;color:var(--muted);opacity:0}.tree-item:hover .tree-add{opacity:1}.add-page{display:flex;gap:10px;align-items:center;color:#8a8e84;padding:10px 14px;text-align:left;font-size:12px}.add-page span{font-size:20px}.side-empty{font-size:12px;color:var(--muted);padding:12px}.sidebar-bottom{margin-top:auto;padding-top:24px}.profile{display:flex;align-items:center;gap:10px;padding:17px 7px 8px;border-top:1px solid var(--line);margin-top:12px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e6e8df;color:#65715a;font-size:13px;font-weight:600}.profile strong{font-size:12px;font-weight:600}.profile small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.profile button{margin-left:auto}main{margin-left:244px;min-height:100vh}.topbar{height:65px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:15px}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:12px;min-width:0}.breadcrumb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-root,.slash{color:#a0a399}.top-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.save-status{font-size:10px;color:var(--muted);padding:5px}.save-status.error{color:#b55c49}.private-label{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:4px 8px}.home-wrap{max-width:1100px;margin:auto;padding:47px 56px 20px}.eyebrow{font-size:10px;font-weight:650;color:#949c8d;letter-spacing:2px;margin-bottom:13px}.home-wrap>h1{margin-bottom:10px}.greeting-dot{color:#86a27a}.lead{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:30px}.welcome-banner{position:relative;display:flex;justify-content:space-between;overflow:hidden;min-height:250px;border:1px solid #e2e8dc;border-radius:12px;background:#f1f4ed;padding:30px 34px;margin-bottom:34px;color:#3d4a38}.pill{font-size:9px;letter-spacing:1.7px;color:#7a8871}.welcome-banner h2{font:32px/1.16 Georgia,serif;letter-spacing:-1px;margin:13px 0 12px}.welcome-banner p{font-size:12px;line-height:1.6;color:#838d7b;margin-bottom:17px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:var(--bg);padding:10px 15px;border-radius:6px;font-size:12px;font-weight:550}.button.dark{background:#3c4938;color:#fff;border-color:#3c4938}.button.dark:hover{background:#52664a}.button.primary{background:var(--accent);color:#fff}.button.danger{background:#b65244;color:#fff;border-color:#b65244}.paper-art{width:270px;position:relative;margin:3px 20px 0 0}.paper-back{position:absolute;width:150px;height:186px;top:10px;right:26px;background:#dce4d1;transform:rotate(15deg);border-radius:6px}.paper-front{position:absolute;width:154px;height:190px;top:9px;right:50px;background:#fffefa;transform:rotate(-9deg);border-radius:6px;padding:20px;box-shadow:0 12px 25px #3b462315}.paper-front>span{font-size:38px;color:#819371}.paper-front i{display:block;height:1px;background:#d9dece;margin-top:13px}.paper-front i:nth-of-type(2){width:80%}.paper-front i:nth-of-type(3){width:90%}.paper-front div{font:italic 14px Georgia;color:#9a9d88;margin-top:22px}.art-orbit{position:absolute;right:0;top:0;font-size:60px;color:#b8c4a9}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 17px}.section-heading h2{font-size:14px;font-weight:650;margin:0}.section-heading>span{font-size:10px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.note-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;text-align:left;padding:0;background:var(--card)}.note-card:hover{transform:translateY(-3px);box-shadow:0 7px 20px #19251109;background:var(--card)}.card-cover{height:66px;position:relative;padding:0 17px}.card-cover span{position:absolute;bottom:-14px;font-size:27px;filter:drop-shadow(0 3px 2px #00000008)}.sage{background:#e4ebdc}.sand{background:#f1e7d7}.lavender{background:#e8e3ef}.blue{background:#dfebf2}.rose{background:#f2e2df}.card-body{padding:27px 17px 14px}.card-body h3{font-size:13px;margin:0 0 8px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-body p{font-size:11px;color:var(--muted);line-height:1.6;height:35px;overflow:hidden;margin-bottom:15px}.card-body small{font-size:10px;color:#a0a398;display:flex;justify-content:space-between}.card-body small span{color:#b1a16d}.home-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:34px;margin-top:36px}.task-row{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}input[type=checkbox]{accent-color:#6e8465;width:15px;height:15px;cursor:pointer;flex-shrink:0}.task-row button{text-align:left;padding:0;font-size:12px}.task-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.quiet{color:var(--muted);font-size:12px;line-height:1.9}.template-panel>button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--line);border-radius:7px;padding:13px;margin-bottom:9px}.template-panel>button>span:first-child{font-size:21px}.template-panel>button>span:last-child{margin-left:auto;color:var(--muted)}.template-panel strong{font-size:12px;font-weight:550}.template-panel small{font-size:10px;color:var(--muted);display:block;margin-top:5px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:40px;padding-top:17px;font-size:10px;color:#aaaDA5}.empty-card{min-height:140px;width:100%;border:1px dashed #d3d9ce;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.empty-card>span{font-size:24px;color:#7e9474}.empty-card strong{font-size:13px}.empty-card small{color:var(--muted);font-size:11px}.list-wrap{max-width:1050px;margin:auto;padding:55px}.empty-state{text-align:center;padding:70px 15px;color:var(--muted)}.empty-state>span{font-size:45px}.empty-state h2{margin-top:20px;color:var(--text)}.empty-state p{font-size:13px}.trash-list>div{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.trash-list strong{font-size:13px;flex:1}.trash-list small{color:var(--muted)}.trash-icon{font-size:23px}.page-cover{height:180px;display:flex;align-items:flex-end;justify-content:flex-end;padding:25px 45px;overflow:hidden;background-image:radial-gradient(ellipse at 80% 100%,#ffffff88,transparent 50%)}.page-cover>span{font:italic 24px Georgia;color:#66765a66}.page-cover.no-cover{height:12px;padding:0}.editor{max-width:850px;margin:auto;padding:0 55px 80px}.page-tools{display:flex;align-items:center;gap:14px;margin:23px 0 12px}.page-icon{font-size:42px;padding:3px;border-radius:6px}.subtle-button{color:var(--muted);font-size:12px;padding:7px;border-radius:5px}.page-tools .subtle-button{opacity:0}.editor:hover .page-tools .subtle-button,.subtle-button:focus-visible{opacity:1}#page-title{border:0;width:100%;padding:3px 0;font-size:40px;letter-spacing:-1px;font-weight:700;resize:none;line-height:1.25;overflow:hidden;outline:none}.page-meta{display:flex;align-items:center;gap:10px;color:#a0a399;font-size:10px;margin:14px 0 29px}.page-meta button{font-size:10px;color:var(--muted);padding:0}.block{position:relative;display:flex;gap:10px;align-items:flex-start;margin:3px 0;min-height:32px;border-radius:5px}.block-input{padding:5px 2px;flex:1;min-width:0;line-height:1.8;font-size:15px;white-space:pre-wrap;word-break:break-word;outline:none!important}.block-input:empty:before{content:attr(data-placeholder);color:#b3b6ae;pointer-events:none}.block-controls{position:absolute;right:calc(100% + 6px);top:5px;display:flex;opacity:0}.block:hover>.block-controls,.block:focus-within>.block-controls{opacity:1}.block-controls button{font-size:18px;padding:1px 3px;color:#b5b9ae;border-radius:3px}.block-h1{margin-top:24px}.block-h1 .block-input{font-size:28px;font-weight:650;line-height:1.3}.block-h2{margin-top:17px}.block-h2 .block-input{font-size:21px;font-weight:600;line-height:1.5}.block-quote{border-left:3px solid #667b5b;margin:14px 0;padding-left:17px}.block-quote .block-input{font:italic 19px/1.7 Georgia}.block-callout{background:#f1f4eb;border:1px solid #e6eadf;padding:12px 14px;margin:15px 0}.callout-icon{padding-top:6px}.block-code{background:var(--side);padding:14px;margin:14px 0;border:1px solid var(--line)}.block-code .block-input{font:13px/1.7 ui-monospace,SFMono-Regular,monospace;tab-size:2}.bullet{padding:9px 0 0 4px}.todo-check{margin:12px 0 0 1px}.block.checked .block-input{color:var(--muted);text-decoration:line-through}.divider hr{width:100%;border:0;border-top:1px solid var(--line);margin:17px 0}.append-block{margin:20px 0;color:#9ea596;font-size:12px;padding:8px 0;text-align:left;width:100%}.append-block span{font-size:10px;margin-left:10px;color:#bbc0b5}.child-create{margin-top:15px}.child-pages{margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.child-pages h3{font-size:11px;color:var(--muted)}.child-pages button{display:block;width:100%;padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.child-pages span{float:right;color:var(--muted)}.editor-hint{font-size:10px;color:#b5bbae;margin-top:40px}.editor-hint span{margin:0 8px}.starred{color:#ac9454}.danger-text{color:#b26455!important}dialog{width:min(510px,calc(100vw - 32px));max-height:85vh;border:1px solid var(--line);border-radius:12px;padding:24px;color:var(--text);background:var(--bg);box-shadow:var(--shadow)}dialog::backdrop{background:#1b251c66;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-heading h2{margin:0;font-size:17px}dialog p{font-size:13px;color:var(--muted);line-height:1.8}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.block-menu{display:grid;grid-template-columns:1fr 1fr;gap:5px}.block-menu button{display:flex;gap:12px;align-items:center;padding:12px;text-align:left;border-radius:6px;font-size:12px}.block-menu span{font-size:20px;width:29px;color:var(--muted)}.icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.icon-grid button{font-size:25px;padding:9px 0;border-radius:5px}.cover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cover-grid button{height:75px;border-radius:6px;font-size:12px;color:#5a6253;border:1px solid #00000008}.menu-list{display:flex;flex-direction:column;gap:5px}.menu-list button{text-align:left;padding:13px;border-radius:6px;font-size:13px}.settings-account{display:flex;gap:13px;padding-bottom:16px;margin-bottom:12px;border-bottom:1px solid var(--line)}.settings-account p{font-size:11px;margin:5px 0 0}.small-note{font-size:11px!important;margin:15px 10px 0}dialog input[type=search],select{width:100%;border:1px solid var(--line);border-radius:6px;padding:12px;font-size:14px}.field-label{display:block;font-size:12px;margin-bottom:8px}#search-results{margin-top:14px;max-height:45vh;overflow:auto}#search-results button{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:12px;border-radius:6px}#search-results button>span:first-child{font-size:23px}#search-results button>span:last-child{margin-left:auto;color:var(--muted)}#search-results div{min-width:0}#search-results strong{font-size:13px}#search-results small{display:block;font-size:11px;color:var(--muted);margin-top:5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#344330;color:white;padding:13px 20px;border-radius:8px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:100;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}.mobile-menu,.sidebar-scrim{display:none}.loading,.setup-needed{max-width:650px;margin:12vh auto;padding:30px}.loading{text-align:center;color:var(--muted)}.loading p{margin-top:20px}.setup-needed h1{margin-top:30px}.setup-needed ol{padding-left:20px;line-height:2.2;color:var(--muted);font-size:14px}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#edf1e7;padding:50px 65px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;color:#394633}.auth-story h1{font:56px/1.15 Georgia,serif;letter-spacing:-2px;margin:20px 0}.auth-story p{font-size:14px;line-height:1.9;color:#849078}.auth-story small{color:#9aa38e;font-size:11px}.auth-decoration{font-size:190px;color:#cad5bd;position:absolute;right:20px;bottom:40px;transform:rotate(15deg)}.auth-panel{display:flex;align-items:center;justify-content:center;padding:50px}.auth-panel form{width:100%;max-width:330px}.auth-icon{font-size:35px;display:block;margin-bottom:25px}.auth-panel h2{font-size:25px;letter-spacing:-.8px;margin-bottom:10px}.auth-panel p{color:var(--muted);font-size:12px;line-height:1.8;margin-bottom:30px}.auth-panel label{display:block;font-size:12px;margin-bottom:18px}.auth-panel input{display:block;width:100%;border:1px solid #e0e4db;border-radius:6px;padding:12px;margin-top:9px}.auth-panel .button{width:100%;justify-content:space-between;padding:13px 17px}.auth-panel small{font-size:10px;color:var(--muted)}.auth-panel .form-error{color:#b45a49;margin:15px 0}.auth-private{font-size:11px;color:#a5ab9e;text-align:center;margin-top:23px}
[data-theme=dark]{--bg:#20231f;--side:#1b1e1a;--text:#e0e4db;--muted:#91998b;--line:#343b30;--hover:#30382b;--accent:#617c54;--card:#252b22;background:var(--bg);color:var(--text)}[data-theme=dark] .nav-item.selected,[data-theme=dark] .tree-item.selected{background:#303b2b;color:#c6d4ba}[data-theme=dark] .welcome-banner{background:#303a2b;border-color:#405038;color:#dbe6d3}[data-theme=dark] .welcome-banner p{color:#a6b299}[data-theme=dark] .block-callout{background:#303b2a;border-color:#3d4c34}[data-theme=dark] .sage{background:#48543e}[data-theme=dark] .sand{background:#665b46}[data-theme=dark] .lavender{background:#51475e}[data-theme=dark] .blue{background:#3e5361}[data-theme=dark] .rose{background:#674e49}[data-theme=dark] .auth-story{background:#303b29;color:#d7e1cd}[data-theme=dark] .auth-decoration{color:#536348}[data-theme=dark] .cover-grid button{color:#ddd}[data-theme=dark] .avatar{background:#3c4735;color:#c0d1b1}
@media(min-width:1500px){.home-wrap{padding-top:60px}.welcome-banner{min-height:280px}.paper-art{margin-top:12px}.cards{gap:20px}.card-cover{height:80px}}
@media(max-width:1100px){.sidebar{width:215px}main{margin-left:215px}.home-wrap{padding:36px 30px}.topbar{padding:0 22px}.cards{gap:12px}.home-columns{gap:22px}.paper-art{margin-right:-15px;width:220px}.welcome-banner{padding:26px}.breadcrumb-root{display:none}.save-status{max-width:160px}.editor{padding-left:48px;padding-right:35px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);width:260px;transition:transform .2s}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-scrim{display:block;position:fixed;inset:0;background:#0006;z-index:19}main{margin-left:0}.mobile-menu{display:inline-flex}.topbar{height:57px;padding:0 14px;gap:5px}.breadcrumb{gap:6px;font-size:11px}.breadcrumb .slash{display:none}.save-status{font-size:9px;max-width:115px}.top-actions{gap:3px}.home-wrap{padding:30px 22px 20px}.home-wrap>h1{font-size:29px}.lead{font-size:12px}.welcome-banner{padding:25px;min-height:240px}.welcome-banner h2{font-size:29px}.paper-art{width:125px;margin-right:-37px;opacity:.8;transform:scale(.8);transform-origin:center right}.welcome-banner>div:first-child{z-index:1}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.home-columns{grid-template-columns:1fr;gap:28px;margin-top:29px}.template-panel{margin-top:5px}footer span{display:none}.editor{padding:0 26px 60px 39px}.page-cover{height:125px;padding:15px}.page-cover>span{font-size:17px}.page-tools{margin-top:20px}.page-tools .subtle-button{opacity:1}#page-title{font-size:32px}.block-controls{right:calc(100% + 3px);flex-direction:column;top:2px}.block-controls button{font-size:13px;padding:0 3px}.block:hover>.block-controls{opacity:.8}.block-input{font-size:14px}.editor-hint{font-size:9px;line-height:2}.editor-hint span{margin:0 3px}.list-wrap{padding:35px 22px}.list-wrap h1{font-size:30px}.trash-list>div{gap:8px;flex-wrap:wrap}.trash-list small{display:none}.trash-list .button{padding:7px;font-size:10px}.auth-layout{grid-template-columns:1fr}.auth-story{display:none}.auth-panel{min-height:100vh;padding:35px}.icon-grid{grid-template-columns:repeat(4,1fr)}.page-meta{flex-wrap:wrap;font-size:9px;gap:8px}.append-block span{display:none}.tree-add{opacity:1}.setup-needed{margin:4vh auto;padding:25px}.setup-needed h1{font-size:28px}.setup-needed code{word-break:break-word}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.password-form label{display:block;font-size:12px;margin-bottom:15px}.password-form input{display:block;width:100%;padding:11px;border:1px solid var(--line);border-radius:6px;margin-top:8px}

/* Studio: a quiet, flexible canvas for mixed media notes. */
:root{--studio:#6865c7;--studio-soft:#f0effb}
.topbar{position:sticky;top:0;z-index:15;background:var(--bg);backdrop-filter:blur(16px)}
.editor{max-width:1120px;padding-left:65px;padding-right:65px}
.page-cover{height:155px;background-image:radial-gradient(ellipse at 15% 20%,#ffffff88,transparent 55%),linear-gradient(110deg,transparent,#ffffff44)}
.page-cover>span{font-size:22px}
.editor-toolbar{position:sticky;top:76px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 -10px 14px;padding:7px;background:var(--bg);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 24px #3434590a}
.toolbar-primary,.toolbar-secondary{display:flex;gap:3px;align-items:center}
.editor-toolbar button{border-radius:7px;min-height:34px;padding:6px 10px;white-space:nowrap;font-size:14px}
.editor-toolbar button span{font-size:11px;margin-left:4px}
.editor-toolbar .toolbar-add{background:var(--studio);color:#fff;padding:8px 15px;font-size:12px}
.toolbar-secondary{border-left:1px solid var(--line);padding-left:5px}
.toolbar-secondary button{font-size:20px;padding:3px 9px}
.insert-context{font-size:10px;color:var(--muted);margin:0 0 24px}
#blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px;align-items:start;counter-reset:numbered}
.block{grid-column:1/-1;min-width:0;transition:box-shadow .15s,background .15s}
.block[data-width=half]{grid-column:auto}
.block.drop-target{box-shadow:0 -3px 0 var(--studio);background:var(--studio-soft)}
.block[data-tone]:not([data-tone=default]){padding:12px 15px}
.block[data-tone=sage]{background:#eef4eb}.block[data-tone=sand]{background:#faf3e6}.block[data-tone=lavender]{background:#f2effb}.block[data-tone=blue]{background:#edf4fb}.block[data-tone=rose]{background:#fbefed}
.block-controls{gap:1px;right:calc(100% + 5px)}.block-controls button{cursor:grab}.block-controls [data-insert]{cursor:pointer}
.block-controls button:hover{color:var(--studio);background:var(--studio-soft)}
.block-widget{margin:16px 0;display:block}.widget-body{min-width:0;position:relative;width:100%}
.block-widget .block-controls{top:0}
.widget-edit{position:absolute;right:8px;top:8px;border:1px solid var(--line);border-radius:7px;background:var(--bg);font-size:11px;padding:7px 10px;opacity:0;box-shadow:0 2px 10px #0001}
.block-widget:hover .widget-edit,.widget-edit:focus-visible{opacity:1}
.widget-footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 2px;color:var(--muted);font-size:10px}
.widget-footer button{font-size:11px;border-radius:5px;padding:5px 8px}.widget-footer span:last-child{margin-left:auto}
.table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:9px}
.note-table{border-collapse:collapse;width:100%;table-layout:fixed;min-width:300px}
.note-table th,.note-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:120px;padding:9px 11px;vertical-align:top}
.note-table tr:last-child td{border-bottom:0}.note-table th:last-child,.note-table td:last-child{border-right:0}
.note-table th{background:var(--side);text-align:left}.note-table th textarea{font-weight:650}
.note-table textarea{display:block;width:100%;min-width:70px;min-height:27px;max-height:240px;resize:vertical;overflow:auto;border:0;background:transparent;font-size:13px;line-height:1.6;padding:2px;outline:none;color:var(--text)}
.note-table td:focus-within,.note-table th:focus-within{box-shadow:inset 0 0 0 2px #a5a2e2}
.media-figure{margin:0;max-width:100%}.media-figure img{display:block;width:100%;height:auto;max-height:800px;object-fit:contain;border-radius:10px;background:var(--side)}
.media-figure figcaption,.audio-card figcaption{font-size:11px;color:var(--muted);text-align:center;padding:10px 5px}
.video-holder{aspect-ratio:16/9;background:#252936;border-radius:12px;overflow:hidden}
.video-holder iframe,.video-holder video{width:100%;height:100%;border:0;display:block}
.video-consent{color:#fff;width:100%;height:100%;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;background:radial-gradient(ellipse at top right,#605887,transparent 70%),#272c38}
.video-consent:hover{background:#343949}.video-consent>span{font-size:36px;display:grid;place-items:center;width:65px;height:65px;border-radius:50%;border:1px solid #ffffff55}.video-consent small{color:#b9b9c9}
.embed-empty{width:100%;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px dashed #c9cbdc;border-radius:12px;background:var(--side);color:var(--muted)}
.embed-empty>span{font-size:32px;color:var(--studio)}.embed-empty strong{font-size:13px;color:var(--text)}.embed-empty small{font-size:11px}
.bookmark-card,.file-card{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--text);background:var(--card)}
.bookmark-card>span,.file-card>span{display:grid;place-items:center;background:var(--studio-soft);color:var(--studio);border-radius:10px;width:48px;height:48px;font-size:25px;flex-shrink:0}
.file-card>span{font-size:12px;font-weight:700}.bookmark-card div,.file-card div{min-width:0;flex:1}.bookmark-card strong,.file-card strong{font-size:15px;overflow-wrap:anywhere}.bookmark-card p{font-size:12px;margin:7px 0;color:var(--muted);overflow-wrap:anywhere}.bookmark-card small,.file-card small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.bookmark-card b,.file-card b{font-size:23px;color:var(--muted)}
.audio-card{margin:0;padding:20px;border:1px solid var(--line);border-radius:12px;display:flex;gap:20px;align-items:center;background:var(--side)}.audio-card>span{font-size:35px;color:var(--studio)}.audio-card>div{flex:1;min-width:0}.audio-card strong{font-size:12px}.audio-card audio{width:100%;display:block;margin-top:10px}
.block-toggle{display:block;padding:4px 0}.block-toggle details{width:100%}.block-toggle summary{cursor:pointer}.block-toggle summary>.block-input{display:inline-block;vertical-align:top;width:calc(100% - 30px);font-weight:600}.toggle-details{width:calc(100% - 24px);margin:6px 0 8px 24px;border:0;border-left:2px solid var(--line);padding:6px 12px;background:transparent;resize:vertical;font-size:14px;line-height:1.8}
.toc-box{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--side)}.toc-box>strong{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.toc-box button{display:block;width:100%;text-align:left;padding:8px 6px;margin-top:3px;font-size:13px;border-radius:5px}.toc-box .h2{padding-left:20px;color:var(--muted)}
.kanban{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:12px;overflow:auto;padding-bottom:3px}.kanban-column{background:var(--side);border:1px solid var(--line);padding:12px;border-radius:10px}.kanban-heading{display:flex;align-items:center;gap:6px;margin-bottom:13px}.kanban-heading input{min-width:0;width:100%;border:0;background:transparent;font-size:12px;font-weight:650}.kanban-heading small{border-radius:5px;padding:2px 6px;background:var(--bg);color:var(--muted)}.kanban-column:nth-child(2) .kanban-heading input{color:#ad8742}.kanban-column:nth-child(3) .kanban-heading input{color:#639375}
.kanban-card{background:var(--card);border:1px solid var(--line);padding:12px;border-radius:8px;margin-bottom:8px;box-shadow:0 2px 4px #00000003}.kanban-card textarea{width:100%;border:0;resize:vertical;font-size:12px;line-height:1.6;min-height:40px;background:transparent}.kanban-card>div{display:flex;align-items:center;margin-top:9px}.kanban-card select{width:auto;max-width:calc(100% - 25px);font-size:9px;padding:4px;border:0;background:var(--side)}.kanban-card button{margin-left:auto;font-size:17px;color:var(--muted)}.kanban-add{font-size:11px;color:var(--muted);padding:7px;width:100%;text-align:left}
.drawing-preview{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.drawing-preview canvas{display:block;width:100%;height:auto}.drawing-open{position:absolute;right:15px;bottom:15px;padding:9px 14px;background:var(--bg);border:1px solid var(--line);border-radius:7px;box-shadow:0 4px 12px #0001;font-size:11px}
dialog .block-menu{max-height:42vh;overflow:auto;margin:12px -4px 0;padding:0 4px;grid-template-columns:1fr 1fr}
.block-menu button small{display:block;font-size:9px;margin-top:5px;color:var(--muted);font-weight:400}.block-menu button[hidden]{display:none}
.palette-search{background:var(--side)}.block-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);padding-top:15px;margin-top:15px}
.block-layout label,.media-config label,.form-grid label{font-size:11px;color:var(--muted);display:block}
.block-layout select{margin-top:7px;font-size:11px;padding:8px}
.media-config input:not([type=file]),.media-config select,.canvas-properties textarea{display:block;width:100%;margin:7px 0 15px;border:1px solid var(--line);border-radius:7px;padding:10px;background:var(--bg);font-size:13px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.form-grid select{margin-top:8px}.inline-check{display:flex!important;align-items:center;gap:6px;font-size:11px;white-space:nowrap}
.upload-zone{position:relative;border:1px dashed #bdbbd8;border-radius:10px;background:var(--studio-soft);padding:23px;display:flex!important;flex-direction:column;align-items:center;gap:7px;cursor:pointer;margin-bottom:12px}.upload-zone>span{font-size:28px;color:var(--studio)}.upload-zone strong{color:var(--text)}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-zone small{font-size:10px}.or-label{text-align:center;font-size:10px;color:var(--muted);margin:20px 0}
.media-library{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-height:55vh;overflow:auto}.media-library button{border:1px solid var(--line);border-radius:8px;padding:8px;min-width:0;text-align:left}.media-library img,.media-library button>span{width:100%;height:90px;object-fit:cover;border-radius:5px;background:var(--side)}.media-library button>span{display:grid;place-items:center;font-size:24px;color:var(--studio)}.media-library strong{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:8px}.media-library small{font-size:9px;color:var(--muted)}
.studio-dialog{width:min(1280px,96vw);max-height:95vh;padding:22px}
.studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;padding:7px;margin-bottom:14px;background:var(--side)}.tool-group{display:flex;gap:3px;align-items:center}.tool-group button{height:34px;min-width:34px;border-radius:6px;padding:5px 9px;font-size:15px}.tool-group .active{background:var(--studio);color:#fff}.tool-group input[type=color]{width:28px;height:30px;padding:0;border:0;background:transparent;cursor:pointer}.tool-group select{width:auto;padding:6px;font-size:11px}.tool-group #canvas-image,.tool-group #canvas-png{font-size:11px}
.canvas-layout{display:grid;grid-template-columns:1fr 170px;gap:18px}.canvas-stage{border:1px solid var(--line);border-radius:9px;overflow:hidden;align-self:start}.canvas-stage canvas{display:block;width:100%;height:auto;touch-action:none}.canvas-properties{border-left:1px solid var(--line);padding-left:15px;display:flex;flex-direction:column;gap:10px}.canvas-properties label{font-size:10px;color:var(--muted);display:block}.canvas-properties textarea{margin:6px 0 0;resize:vertical}.canvas-properties input[type=range]{width:100%;display:block;margin-top:9px;accent-color:var(--studio)}.canvas-properties p{font-size:10px;line-height:1.6;margin:0}.canvas-properties small{font-size:9px;color:var(--muted)}.canvas-properties .button{padding:8px;font-size:10px}.studio-hint{margin-right:auto;color:var(--muted);font-size:10px;align-self:center}
.wrap{flex-wrap:wrap}.focus-mode .sidebar{display:none}.focus-mode main{margin-left:0}.focus-mode .editor{max-width:1150px}
.starter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 32px}.starter-grid button{border:1px solid var(--line);border-radius:10px;padding:16px 12px;text-align:left;background:var(--card)}.starter-grid button>span{font-size:23px;display:block;color:var(--studio);margin-bottom:12px}.starter-grid strong{display:block;font-size:11px;margin-bottom:5px}.starter-grid small{font-size:10px;color:var(--muted)}.starter-grid button:hover{border-color:#c1bddb;transform:translateY(-2px)}
[data-theme=dark]{--studio:#a6a0f2;--studio-soft:#353347}
[data-theme=dark] .block[data-tone=sage]{background:#2e3d30}[data-theme=dark] .block[data-tone=sand]{background:#41392a}[data-theme=dark] .block[data-tone=lavender]{background:#373147}[data-theme=dark] .block[data-tone=blue]{background:#293b4c}[data-theme=dark] .block[data-tone=rose]{background:#47302e}
[data-theme=dark] .editor-toolbar .toolbar-add{background:#6258a8;color:#fff}
@media(max-width:1100px){.editor{padding-left:48px;padding-right:32px}.editor-toolbar button{padding:6px 8px}.editor-toolbar button span{display:none}.canvas-layout{grid-template-columns:1fr 150px}.starter-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.editor{padding-left:35px;padding-right:20px}.editor-toolbar{top:64px;margin-left:-20px;margin-right:-8px;flex-wrap:wrap;gap:3px;padding:5px}.editor-toolbar button{min-height:31px;padding:5px 7px}.toolbar-primary{gap:1px}.toolbar-secondary{margin-left:auto}.insert-context{font-size:9px;line-height:1.6}.block[data-width=half]{grid-column:1/-1}.block-controls{right:calc(100% + 3px)}.widget-edit{opacity:1}.media-figure{width:100%!important}.block-widget{margin:12px 0}.media-library{grid-template-columns:repeat(2,1fr)}.studio-dialog{padding:14px}.canvas-layout{grid-template-columns:1fr}.canvas-properties{display:grid;grid-template-columns:1fr 1fr;border-left:0;border-top:1px solid var(--line);padding:12px 0}.canvas-properties .eyebrow,.canvas-properties p{grid-column:1/-1}.studio-hint{display:none}.tool-group{flex-wrap:wrap}.studio-toolbar{gap:5px}.canvas-properties input[type=range]{margin-top:5px}.media-config .form-grid{gap:8px}.block-layout{gap:6px}.block-layout select{font-size:10px;padding:7px 3px}.starter-grid{gap:10px}.bookmark-card,.file-card{padding:16px;gap:10px}.kanban{grid-template-columns:repeat(3,190px)}}
@media(min-width:761px){.canvas-stage{max-width:min(100%,calc((95vh - 225px)*1.6667));justify-self:center;width:100%}.studio-dialog .modal-actions{margin-top:16px}}
@media(max-width:760px){.block-controls{opacity:.5}.block-controls:focus-within{opacity:1}}

/* Installed app and safe areas; private content stays out of the worker cache. */
html{scroll-padding-top:calc(85px + env(safe-area-inset-top))}body{min-height:100dvh}.sidebar{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.topbar{height:calc(65px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-right:max(24px,env(safe-area-inset-right))}.editor-toolbar{top:calc(76px + env(safe-area-inset-top))}.pwa-notices{position:fixed;z-index:90;bottom:calc(18px + env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));max-width:430px;display:grid;gap:8px}.pwa-notice{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid #d6ddcf;border-radius:14px;background:#f0f3eb;color:#343b35;box-shadow:0 8px 32px #0002;font-size:13px;line-height:1.5}.pwa-notice[hidden]{display:none}.pwa-notice .button{white-space:nowrap;background:white;color:#343b35}.offline-notice{background:#fff3d8;border-color:#e7d2a2}.pwa-intro{display:flex;align-items:center;gap:20px;margin:12px 0 22px}.pwa-intro img{border-radius:19px}.pwa-intro strong{font-size:18px}.pwa-intro p{margin:7px 0 0;font-size:14px;line-height:1.6}.pwa-chips{display:flex;flex-wrap:wrap;gap:8px}.pwa-chips span{padding:6px 10px;background:#e9eee3;color:#48583e;border-radius:20px;font-size:12px}.pwa-instructions{display:grid;gap:4px;margin:18px 0}.pwa-instructions p,.pwa-privacy p{font-size:13px;line-height:1.7}.pwa-privacy{border:1px solid var(--border,#deded8);border-radius:12px;padding:17px}.pwa-privacy strong{font-size:14px}.pwa-privacy p{margin-bottom:0}.pwa-install{margin-top:12px;width:100%}.installed-app .topbar{user-select:none}.auth-panel [data-pwa-open]{display:block;margin:18px auto 0}dialog{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 32px)}
@media(max-width:700px){.topbar{height:calc(57px + env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right))}.editor-toolbar{top:calc(64px + env(safe-area-inset-top))}.sidebar{padding-left:env(safe-area-inset-left)}.pwa-notices{left:12px;right:12px;max-width:none;bottom:calc(12px + env(safe-area-inset-bottom))}.pwa-notice{font-size:12px;padding:12px;gap:10px}.nav-item,.tree-page,.add-page,.icon-button{min-height:44px}.editor{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.auth-panel{padding-bottom:calc(30px + env(safe-area-inset-bottom))}.pwa-intro{align-items:flex-start;gap:15px}.pwa-intro img{width:58px;height:58px}.pwa-intro strong{font-size:16px}}
