*{box-sizing:border-box}:root{--text:#37352f;--text-light:#787774;--bg:#fff;--sidebar-bg:#f7f7f5;--hover:#37352f14;--accent:#2383e2;--border:#37352f29;--code-bg:#f1f1ef;--callout-bg:#f1f1ef;--placeholder:#37352f40;--danger:#d44c47}:root[data-theme=dark]{--text:#e6e6e4;--text-light:#9b9b98;--bg:#191919;--sidebar-bg:#202020;--hover:#ffffff14;--accent:#5299e0;--border:#ffffff24;--code-bg:#2c2c2c;--callout-bg:#262626;--placeholder:#e6e6e44d;--danger:#eb5757}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif}.app{height:100%;display:flex}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow-y:auto}.sidebar-header{align-items:center;gap:8px;padding:14px 16px 8px;font-weight:600;display:flex}.sidebar-logo{background:var(--text);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;display:inline-flex}.sidebar-search{border:1px solid var(--border);background:var(--bg);border-radius:6px;margin:4px 12px 8px;padding:6px 10px;font-size:13px}.tree,.search-results{flex:1;padding:0 4px}.tree-item{border-radius:6px;align-items:center;min-height:28px;padding-right:4px;display:flex}.tree-item:hover{background:var(--hover)}.tree-item.active{background:var(--hover);font-weight:600}.tree-toggle{cursor:pointer;width:20px;color:var(--text-light);background:0 0;border:none;padding:0;font-size:10px}.tree-toggle:disabled{cursor:default}.tree-title{text-align:left;color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:4px 2px;font-size:14px;overflow:hidden}.search-result{border-radius:6px;width:100%;padding:6px 10px;display:block}.search-result:hover{background:var(--hover)}.tree-actions{gap:2px;display:none}.tree-item:hover .tree-actions{display:inline-flex}.tree-actions button{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:4px;width:20px;height:20px;font-size:13px;line-height:1}.tree-actions button:hover{background:var(--hover);color:var(--text)}.sidebar-empty{color:var(--text-light);padding:8px 12px;font-size:13px}.new-page{border:1px solid var(--border);background:var(--bg);cursor:pointer;color:var(--text);border-radius:6px;margin:8px;padding:8px;font-size:14px}.new-page:hover{background:var(--hover)}.main{flex:1;position:relative;overflow-y:auto}.save-state{text-align:right;color:var(--text-light);background:linear-gradient(var(--bg), #fff0);pointer-events:none;z-index:10;padding:8px 16px;font-size:12px;position:sticky;top:0}.save-error{color:#d44c47}.save-offline{color:#cb7b37}.empty-state{text-align:center;max-width:700px;color:var(--text-light);margin:15vh auto}.empty-state button{border:1px solid var(--border);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;margin-top:12px;padding:8px 16px;font-size:14px}.editor{max-width:720px;margin:0 auto;padding:24px 32px 20px}.page-title{width:100%;color:var(--text);background:0 0;border:none;outline:none;padding:8px 0 12px;font-size:34px;font-weight:700}.page-title::placeholder{color:var(--placeholder)}.blocks{flex-direction:column;display:flex}.block{align-items:flex-start;gap:6px;padding:2px 0;display:flex}.block-text{word-break:break-word;white-space:pre-wrap;outline:none;flex:1;min-height:1.5em;font-size:16px;line-height:1.5}.block-text:empty:before{content:attr(data-placeholder);color:var(--placeholder);pointer-events:none}.block:not(:focus-within) .block-text:empty:before{content:""}.block-heading1{margin-top:18px;font-size:28px;font-weight:700}.block-heading2{margin-top:12px;font-size:22px;font-weight:650}.block-heading3{margin-top:8px;font-size:18px;font-weight:600}.block-quote{border-left:3px solid var(--text);padding-left:12px;font-style:italic}.block-code{background:var(--code-bg);border-radius:6px;padding:12px 14px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:14px}.block-text code{background:var(--code-bg);color:#eb5757;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85em}.block-text a{color:var(--accent)}.bullet{text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:14px;padding-top:3px}.block-todo-row{align-items:flex-start;gap:8px;padding:2px 0;display:flex}.block-todo-row input[type=checkbox]{accent-color:var(--accent);margin-top:6px}.block-todo-row>div{flex:1}.todo-done .block-text{color:var(--text-light);text-decoration:line-through}.block-divider{padding:8px 0}.divider-line{background:var(--border);outline:none;width:100%;height:2px}.divider-line:focus{background:var(--accent)}.editor-tail{cursor:text;height:30vh}.block-outer{position:relative}.block-toggle-row{align-items:flex-start;gap:4px;padding:2px 0;display:flex}.toggle-caret{cursor:pointer;width:22px;color:var(--text);background:0 0;border:none;flex-shrink:0;padding:4px 0 0;font-size:12px}.block-callout{background:var(--callout-bg);border-radius:6px;align-items:flex-start;gap:10px;margin:4px 0;padding:12px 14px;display:flex}.callout-icon{cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;line-height:1.4}.block-image-wrap{padding:4px 0}.image-focus{border-radius:6px;outline:none}.image-focus:focus{box-shadow:0 0 0 2px var(--accent)}.block-image{border-radius:6px;max-width:100%;display:block}.image-placeholder{background:var(--code-bg);border:1px dashed var(--border);color:var(--text-light);border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;font-size:13px;display:flex}.image-upload-label{cursor:pointer;color:var(--accent);font-weight:600}.image-placeholder input[type=url]{border:1px solid var(--border);background:var(--bg);min-width:200px;color:var(--text);border-radius:4px;flex:1;padding:6px 8px}.slash-menu{z-index:30;background:var(--bg);border:1px solid var(--border);border-radius:8px;width:280px;max-height:320px;padding:4px;position:absolute;top:100%;left:24px;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.slash-item{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;gap:8px;padding:8px 10px;font-size:14px;display:flex}.slash-item:hover,.slash-item.selected{background:var(--hover)}.slash-hint{color:var(--text-light);font-size:12px}.page-header{justify-content:space-between;align-items:center;gap:12px;max-width:720px;margin:0 auto;padding:4px 32px 0;display:flex}.breadcrumbs{color:var(--text-light);flex-wrap:wrap;align-items:center;min-width:0;font-size:13px;display:flex}.crumb{color:var(--text-light);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:4px;max-width:160px;padding:2px 4px;font-size:13px;overflow:hidden}.crumb:hover{background:var(--hover);color:var(--text)}.crumb-sep{margin:0 2px}.page-actions{flex-shrink:0;gap:4px;display:flex}.page-actions button{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:14px}.page-actions button:hover{background:var(--hover);color:var(--text)}.star.starred{color:#f5a623}.page-icon-row{max-width:720px;margin:0 auto;padding:8px 32px 0;position:relative}.page-icon{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px;font-size:40px;line-height:1}.page-icon:hover{background:var(--hover)}.icon-picker{z-index:30;background:var(--bg);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(10,32px);gap:2px;padding:8px;display:grid;position:absolute;box-shadow:0 8px 24px #0000002e}.icon-picker button{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;font-size:20px}.icon-picker button:hover{background:var(--hover)}.icon-picker .icon-clear{color:var(--text-light);grid-column:span 2;font-size:12px}.theme-toggle{cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:14px}.theme-toggle:hover{background:var(--hover)}.sidebar-section-title{color:var(--text-light);text-transform:uppercase;padding:10px 12px 2px;font-size:11px;font-weight:600}.favorite-item{border-radius:6px;width:100%;padding:4px 12px;display:block}.favorite-item:hover,.favorite-item.active{background:var(--hover)}.sidebar-footer{gap:6px;padding:8px;display:flex}.sidebar-footer .new-page{flex:1;margin:0}.trash-button{border:1px solid var(--border);background:var(--bg);cursor:pointer;color:var(--text);border-radius:6px;padding:8px 10px;font-size:13px}.trash-button:hover{background:var(--hover)}.trash-panel{border:1px solid var(--border);background:var(--sidebar-bg);border-radius:8px;max-width:720px;margin:8px auto 0;padding:12px 16px}.trash-header{justify-content:space-between;align-items:center;display:flex}.trash-header h2{margin:0;font-size:16px}.trash-header button{cursor:pointer;color:var(--text-light);background:0 0;border:none;font-size:18px}.trash-item{border-top:1px solid var(--border);align-items:center;gap:8px;padding:6px 0;display:flex}.trash-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.trash-item button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:12px}.trash-item button.danger{color:var(--danger)}.bullet.number{width:auto;min-width:18px;padding-top:4px;font-size:14px}.database-view{padding-top:8px}.db-toolbar{align-items:center;gap:10px;margin-bottom:10px;display:flex}.view-switch{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.view-switch button{background:var(--bg);color:var(--text-light);cursor:pointer;border:none;padding:6px 12px;font-size:13px}.view-switch button.active{background:var(--hover);color:var(--text);font-weight:600}.db-add-row{border:1px solid var(--border);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;margin-left:auto;padding:6px 12px;font-size:13px}.db-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.db-table{border-collapse:collapse;width:100%;font-size:14px}.db-table th,.db-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:left;vertical-align:middle;min-width:120px;padding:6px 8px}.db-table th{background:var(--sidebar-bg);color:var(--text-light);white-space:nowrap;font-weight:600;position:relative}.th-name{cursor:pointer}.th-name:hover{color:var(--text)}.th-delete{color:var(--text-light);cursor:pointer;visibility:hidden;background:0 0;border:none;margin-left:4px}.db-table th:hover .th-delete{visibility:visible}.th-add{width:40px;min-width:40px}.th-add button{cursor:pointer;color:var(--text-light);background:0 0;border:none;font-size:16px}.option-add input{border:1px solid var(--border);background:var(--bg);width:90px;color:var(--text);border-radius:4px;margin-left:6px;padding:2px 4px;font-size:11px}.prop-popover{z-index:30;background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;width:200px;padding:10px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000002e}.prop-popover input,.prop-popover select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:5px 8px;font-size:13px}.prop-popover button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px}.prop-popover button:disabled{opacity:.5}.db-table td input[type=text],.db-table td input[type=date],.db-table td select{width:100%;color:var(--text);background:0 0;border:none;outline:none;padding:2px;font-size:14px}.row-title-cell{align-items:center;gap:4px;min-width:200px;display:flex}.row-title-cell input{flex:1;font-weight:500}.row-open,.row-delete{color:var(--text-light);cursor:pointer;visibility:hidden;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px}.db-table tr:hover .row-open,.db-table tr:hover .row-delete{visibility:visible}.row-open:hover,.row-delete:hover{background:var(--hover);color:var(--text)}.multi-select-cell{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.tag{background:var(--hover);color:var(--text);cursor:pointer;border:none;border-radius:4px;padding:2px 6px;font-size:12px}.multi-select-cell select{width:auto!important}.db-empty{color:var(--text-light);text-align:center;padding:20px!important}.db-board{align-items:flex-start;gap:12px;padding-bottom:12px;display:flex;overflow-x:auto}.board-column{background:var(--sidebar-bg);border-radius:8px;flex-shrink:0;width:200px;min-width:200px;padding:8px}.board-column-header{color:var(--text-light);justify-content:space-between;padding:2px 4px 8px;font-size:13px;font-weight:600;display:flex}.board-count{font-weight:400}.board-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:6px;margin-bottom:6px;padding:8px;display:flex}.board-card-title{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.board-card-title:hover{color:var(--accent)}.board-card select{border:1px solid var(--border);background:var(--bg);color:var(--text-light);border-radius:4px;padding:2px 4px;font-size:12px}.board-add-card{width:100%;color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px}.board-add-card:hover{background:var(--hover)}.filter-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.filter-chip{background:var(--sidebar-bg);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.filter-chip select,.filter-chip input{color:var(--text);background:0 0;border:none;outline:none;max-width:110px;font-size:12px}.filter-remove{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px}.filter-add{border:1px dashed var(--border);color:var(--text-light);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:12px;transition:all .15s}.filter-add:hover{background:var(--hover);color:var(--text)}.tag-relation{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.rollup-cell{color:var(--text-light);font-variant-numeric:tabular-nums}.db-gallery{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.gallery-card{text-align:left;border:1px solid var(--border);background:var(--bg);cursor:pointer;color:var(--text);border-radius:10px;flex-direction:column;gap:6px;padding:14px;transition:box-shadow .15s,transform .15s;display:flex}.gallery-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.gallery-card-title{font-size:15px;font-weight:600}.gallery-card-prop{color:var(--text-light);justify-content:space-between;gap:8px;font-size:12px;display:flex}.gallery-prop-name{flex-shrink:0}.calendar-nav{align-items:center;gap:10px;margin-bottom:8px;display:flex}.calendar-nav button{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;padding:4px 10px;transition:background .15s}.calendar-nav button:hover{background:var(--hover)}.calendar-title{font-weight:600}.calendar-grid{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.calendar-weekday{background:var(--sidebar-bg);color:var(--text-light);text-align:center;border-bottom:1px solid var(--border);padding:6px 0;font-size:11px}.calendar-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:2px;min-height:84px;padding:4px;font-size:12px;display:flex}.calendar-day:nth-child(7n){border-right:none}.calendar-day.out-month{color:var(--text-light);background:color-mix(in srgb, var(--sidebar-bg) 55%, var(--bg))}.calendar-day-head{justify-content:space-between;align-items:center;display:flex}.calendar-add{color:var(--text-light);cursor:pointer;visibility:hidden;background:0 0;border:none;padding:0 2px}.calendar-day:hover .calendar-add{visibility:visible}.calendar-event{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:none;border-radius:4px;padding:2px 5px;font-size:11px;overflow:hidden}.calendar-event:hover{background:color-mix(in srgb, var(--accent) 26%, transparent)}button{font-family:inherit}button,input,select{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}.block-text:focus-visible,.page-title:focus-visible{outline:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);background-clip:content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}body{transition:background-color .2s,color .2s}.save-state{font-variant-numeric:tabular-nums}.tree-item.active{box-shadow:inset 2px 0 0 var(--accent)}.empty-state button,.db-add-row{box-shadow:0 1px 2px #0000001f}.empty-state button:hover,.db-add-row:hover{filter:brightness(1.06)}.board-card{transition:box-shadow .15s,transform .15s;box-shadow:0 1px 2px #0000000f}.board-card:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0000001a}.mobile-topbar,.sidebar-backdrop{display:none}@media (width<=720px){.mobile-topbar{background:var(--bg);border-bottom:1px solid var(--border);z-index:40;height:48px;padding:0 10px;padding-top:env(safe-area-inset-top);align-items:center;gap:10px;display:flex;position:fixed;top:0;left:0;right:0}.hamburger{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:20px}.hamburger:active{background:var(--hover)}.mobile-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.sidebar{z-index:60;width:min(300px,85vw);padding-top:env(safe-area-inset-top);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:0 0 32px #0000003d}.app.sidebar-open .sidebar{transform:translate(0)}.sidebar-backdrop{z-index:50;background:#00000052;display:block;position:fixed;inset:0}.main{padding-top:48px}.editor,.page-header,.page-icon-row{padding-left:16px;padding-right:16px}.page-title{font-size:26px}.save-state{top:48px}.board-column{width:170px;min-width:170px}.calendar-day{min-height:64px}.db-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.tree-actions{display:inline-flex}.row-open,.row-delete{visibility:visible}}
