/* NoteBirch workspace · shared surfaces, calm hierarchy, immediate tools. */
body.nb-ui {
  --app-bg:#f5f5f9;--panel-bg:#fff;--panel-bg-soft:#f8f8fb;--text-color:#282a3b;
  --hint-color:#686b7e;--border-color:#e4e5ee;--accent:#5d60b9;--accent-soft:#eeeefa;
  --btn-hover:#ededf5;--library-overlay:var(--app-bg);--toolbar-bg:var(--panel-bg);
  --surface-shadow:0 12px 40px #20233e12;--page-shadow:0 4px 24px #20233e0e;
  --nb-sidebar:#eeeef5;--nb-radius:12px;--nb-ease:cubic-bezier(.23,1,.32,1);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif;
  letter-spacing:0;color:var(--text-color);
}
body.nb-ui.dark-mode {--app-bg:#181922;--panel-bg:#22232f;--panel-bg-soft:#292a38;--text-color:#ececf5;--hint-color:#b0b1c5;--border-color:#3a3b4d;--accent:#b2b0ff;--accent-soft:#34334f;--btn-hover:#353647;--nb-sidebar:#1e1f2c;--surface-shadow:0 14px 38px #0004;--page-shadow:0 8px 28px #0003;}
body.nb-ui[data-visual-style=forest] {--accent:#326b54;--accent-soft:#e3efe7;--nb-sidebar:#eaf0ec;}
body.nb-ui[data-visual-style=paper] {--accent:#85583e;--accent-soft:#f1e6d9;--nb-sidebar:#f0ebe1;}
body.nb-ui[data-visual-style=mono] {--accent:#383b43;--accent-soft:#e7e8ec;--nb-sidebar:#ebecf0;}
body.nb-ui.dark-mode[data-visual-style=forest] {--accent:#99d6b6;--accent-soft:#263f35;--nb-sidebar:#1c2924;}
body.nb-ui.dark-mode[data-visual-style=paper] {--accent:#e7bd91;--accent-soft:#45382d;--nb-sidebar:#29241f;}
body.nb-ui.dark-mode[data-visual-style=mono] {--accent:#e2e3eb;--accent-soft:#373842;--nb-sidebar:#202128;}
.nb-ui [hidden]{display:none!important;}
.nb-ui :is(button,select,input,textarea){font-family:inherit;}
.nb-ui :is(button,select,label.file-label){min-height:36px;border-radius:9px;font-size:13px;font-weight:500;}
.nb-ui button{transition:background-color 140ms ease,border-color 140ms ease,box-shadow 140ms ease;}
.nb-ui button:disabled{opacity:.48;cursor:not-allowed;}
.nb-ui :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.nb-ui :is(input[type=text],input[type=search],input[type=email],input[type=number],textarea){color:var(--text-color);border:1px solid var(--border-color);border-radius:9px;background:var(--panel-bg-soft);}
.nb-ui input::placeholder,.nb-ui textarea::placeholder{color:var(--hint-color);opacity:.8;}
.nb-ui .nb-primary{background:var(--accent);color:var(--panel-bg);border-color:var(--accent);font-weight:600;min-height:42px;padding:10px 16px;}
.nb-ui .library-shell{grid-template-columns:236px minmax(0,1fr);}
.nb-ui .home-sidebar{padding:24px 14px 16px;background:var(--nb-sidebar);border-color:transparent;scrollbar-width:thin;}
.nb-ui .home-brand{padding:0 8px;margin:0 0 26px;}
.nb-ui .home-brand a{gap:10px;}
.nb-ui .home-brand .nb-brand-logo{width:38px;height:38px;padding:0;border-radius:10px;}
.nb-ui .nb-brand-text{font-size:18px;letter-spacing:-.5px;font-weight:700;}
.nb-ui #homeNavigation{gap:22px;}
.nb-ui #homeNavigation :is(.nb-locations,.nb-nav-group,.nb-category-list){display:flex;flex-direction:column;gap:3px;}
.nb-ui #homeNavigation button,.nb-ui #homeNavigation a{display:flex;align-items:center;width:100%;min-height:40px;padding:9px 12px;border:0;border-radius:9px;background:transparent;font-size:13px;line-height:1.4;color:var(--text-color);text-align:start;text-decoration:none;white-space:normal;}
.nb-ui #homeNavigation button[data-ui-icon]::before{width:18px;height:18px;flex-basis:18px;margin-inline-end:10px;color:var(--accent);opacity:.9;}
.nb-ui #homeNavigation button[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:650;box-shadow:inset 3px 0 var(--accent);}
.nb-ui .nb-nav-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;color:var(--hint-color);padding:0 12px;margin-bottom:8px;letter-spacing:.02em;}
.nb-ui #homeNavigation .nb-icon-button{width:30px;height:30px;min-height:30px;font-size:0;padding:6px;}
.nb-ui #homeNavigation .nb-icon-button::before{margin:0;}
.nb-ui .nb-category-list{max-height:220px;overflow:auto;scrollbar-width:thin;}
.nb-ui #homeNavigation .nb-category-list button{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.nb-ui .nb-utilities{border-top:1px solid var(--border-color);padding-top:15px;}
.nb-ui .nb-utilities>summary{padding:8px 10px;font-size:12px;font-weight:600;cursor:pointer;color:var(--hint-color);}
.nb-ui .data-protection-tools{border:0;padding:8px 0;margin:8px 0 0;}
.nb-ui .data-protection-tools .tool-title{display:none;}
.nb-ui .nb-policy-links{display:flex;flex-wrap:wrap;gap:8px 12px;padding:24px 12px 0;font-size:10px;line-height:1.6;}
.nb-ui .nb-policy-links a{color:var(--hint-color);text-decoration:none;}
.nb-ui .library-head{padding:12px 32px;min-height:64px;background:var(--app-bg);border:0;gap:10px;}
.nb-ui .library-head h2{font-size:13px;font-weight:500;color:var(--hint-color);}
.nb-ui .home-content{padding:16px 32px 48px;}
.nb-ui .home-view{max-width:1500px;}
.nb-ui .nb-library-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:2px 0 26px;}
.nb-ui .nb-library-hero h1{font-size:30px;line-height:1.25;font-weight:700;letter-spacing:-1px;margin:0;overflow-wrap:anywhere;}
.nb-ui .nb-library-hero p{font-size:13px;color:var(--hint-color);margin:10px 0 0;line-height:1.6;}
.nb-ui .library-controls{padding:0;margin:0 0 16px;background:none;border:0;border-radius:0;}
.nb-ui .library-search-row{margin:0;gap:8px;flex-wrap:wrap;}
.nb-ui .library-search-field{flex:1;}
.nb-ui #noteSearchInput{min-height:42px;border-color:var(--border-color);background:var(--panel-bg);padding-inline:14px;font-size:13px;}
.nb-ui .library-overview{margin:0 0 16px;color:var(--hint-color);font-size:12px;min-height:20px;}
.nb-ui .library-view-switch{height:42px;border-radius:10px;flex-shrink:0;}
.nb-ui .library-view-switch button{min-height:32px;font-size:12px;padding:6px 9px;}
.nb-ui .nb-settings,.nb-ui .nb-filter{position:relative;}
.nb-ui :is(.nb-settings,.nb-filter)>summary{list-style:none;cursor:pointer;border:1px solid var(--border-color);border-radius:10px;background:var(--panel-bg);min-height:38px;display:flex;align-items:center;justify-content:center;padding:8px 12px;font-size:12px;gap:8px;}
.nb-ui :is(.nb-settings,.nb-filter)>summary::after{content:'⌄';font-size:14px;color:var(--hint-color);}
.nb-ui .nb-filter>summary{min-height:42px;}
.nb-ui :is(.nb-settings,.nb-filter)[open]>summary,.nb-ui .nb-filter.has-filter>summary{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);}
.nb-ui :is(.nb-settings-body,.nb-filter-body){position:absolute;right:0;top:calc(100% + 8px);width:310px;max-width:calc(100vw - 32px);z-index:90;background:var(--panel-bg);padding:20px;border:1px solid var(--border-color);border-radius:14px;box-shadow:var(--surface-shadow);max-height:65dvh;overflow:auto;}
.nb-ui .nb-settings #homeAppearanceControls,.nb-ui .nb-settings #homeLanguageControls{display:flex!important;flex-wrap:wrap;margin:0 0 12px;width:100%;gap:10px;}
.nb-ui #homeAppearanceControls label{display:flex;flex:1;align-items:center;gap:8px;}
.nb-ui #homeAppearanceControls select{flex:1;min-width:0;}
.nb-ui #homeLanguageSelect{flex:1;min-width:0;}
.nb-ui .nb-filter-body .lib-sort-bar{display:flex;flex-direction:column;align-items:stretch;margin:0;gap:14px;}
.nb-ui .nb-filter-body .lib-sort-bar label{justify-content:space-between;}
.nb-ui .nb-filter-body select{font-size:13px;min-height:36px;}
.nb-ui .nb-filter-body .library-sort-hint{margin:0;color:var(--hint-color);}
.nb-ui #resetLibraryFiltersBtn{margin-top:14px;width:100%;}
.nb-ui #closeLibraryBtn{background:transparent;border-color:transparent;color:var(--accent);font-size:12px;}
.nb-ui #noteGrid:not(.list-layout){grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:26px 22px;}
.nb-ui #noteGrid .note-card{min-width:0;align-self:start;}
.nb-ui #noteGrid:not(.list-layout) :is(.note-cover,.library-type-cover){height:194px;border:1px solid var(--border-color);border-radius:14px;background:var(--panel-bg);padding:14px;box-shadow:0 2px 4px #22243803;}
.nb-ui #noteGrid .library-cover-icon::before{width:35px;height:35px;color:var(--accent);opacity:.8;}
.nb-ui #noteGrid .library-type-cover{gap:10px;color:var(--hint-color);font-size:12px;}
.nb-ui #noteGrid:not(.list-layout) .note-info{padding:12px 38px 0 2px;}
.nb-ui #noteGrid .note-name{font-size:14px;font-weight:600;line-height:1.55;min-height:0;margin:0 0 6px;padding:0;text-align:start;border:0;border-radius:3px;background:transparent;}
.nb-ui #noteGrid .note-name:hover{color:var(--accent);}
.nb-ui #noteGrid .note-metadata{font-size:11px;gap:8px;}
.nb-ui #noteGrid .note-date{font-size:11px;color:var(--hint-color);}
.nb-ui #noteGrid .note-storage-status{font-size:11px;line-height:1.5;margin-top:5px;}
.nb-ui #noteGrid .note-card-badges{top:8px;right:8px;gap:4px;margin:0;}
.nb-ui #noteGrid .note-card-badges button{width:32px;height:32px;min-height:32px;border:1px solid var(--border-color);box-shadow:none;background:var(--panel-bg);opacity:.8;}
.nb-ui #noteGrid .note-card-badges button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:transparent;opacity:1;}
.nb-ui #noteGrid .note-card-menu{position:relative;padding:0;background:transparent;}
.nb-ui #noteGrid:not(.list-layout) .note-card-menu{position:absolute;right:0;top:204px;}
.nb-ui #noteGrid .note-card-menu>summary{display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:4px;font-size:0;list-style:none;border-radius:8px;color:var(--hint-color);cursor:pointer;}
.nb-ui #noteGrid .note-card-menu>summary::after{content:'•••';font-size:15px;line-height:1;margin:0;transform:none;}
.nb-ui #noteGrid .note-card-menu[open]>summary{background:var(--accent-soft);color:var(--accent);}
.nb-ui #noteGrid .note-card-menu[open]{z-index:70;}
.nb-ui #noteGrid .note-card-menu .note-card-footer{position:absolute;right:0;top:38px;width:270px;max-width:calc(100vw - 40px);max-height:55dvh;overflow:auto;display:flex;padding:10px;gap:10px;z-index:70;border-radius:14px;box-shadow:var(--surface-shadow);}
.nb-ui #noteGrid .note-card-footer .note-actions{display:flex;flex-direction:column;gap:2px;}
.nb-ui #noteGrid .note-card-footer .note-actions button{justify-content:flex-start;min-height:38px;font-size:12px;padding:9px 10px;background:transparent;color:var(--text-color);border:0;white-space:normal;}
.nb-ui #noteGrid .note-card-footer .note-actions button.note-delete{border-top:1px solid var(--border-color);color:var(--danger-text);}
.nb-ui #noteGrid .note-card-footer .nb-storage-detail{margin:0;padding:8px 4px 0;border-top:1px solid var(--border-color);font-size:10px;color:var(--hint-color);line-height:1.7;overflow-wrap:anywhere;}
.nb-ui #noteGrid.list-layout{gap:8px;}
.nb-ui #noteGrid.list-layout .note-card{grid-template-columns:64px minmax(0,1fr) 48px;min-height:88px;border:1px solid var(--border-color);border-radius:12px;background:var(--panel-bg);padding:10px;gap:14px;}
.nb-ui #noteGrid.list-layout :is(.note-cover,.library-type-cover){width:64px;height:72px;min-height:0;padding:6px;border:0;border-radius:7px;grid-row:1;background:var(--panel-bg-soft);}
.nb-ui #noteGrid.list-layout .library-type-cover>span:last-child{display:none;}
.nb-ui #noteGrid.list-layout .note-info{padding:0 74px 0 0;}
.nb-ui #noteGrid.list-layout .note-card-menu{grid-column:3;grid-row:1;padding:0;}
.nb-ui #noteGrid.list-layout .note-card-badges{top:26px;right:68px;}
.nb-ui #noteGrid.list-layout .note-card-menu .note-card-footer{top:38px;padding:10px;}
.nb-ui .nb-storage-hint{font-size:11px;line-height:1.7;color:var(--hint-color);margin-top:26px;}
.nb-ui #recoveryPanel{margin:24px 0 0;padding:12px 0;border:0;border-top:1px solid var(--border-color);border-radius:0;font-size:12px;}
.nb-ui .library-empty{grid-column:1/-1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:1px dashed var(--border-color);border-radius:16px;line-height:1.8;}
.nb-ui .nb-create-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;}
.nb-ui .nb-create-shortcuts button{background:var(--panel-bg);min-height:42px;padding:10px 15px;}
.nb-ui .start-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:18px;}
.nb-ui .start-card{border-radius:12px;box-shadow:none;}
.nb-ui .start-preview{height:168px;}
.nb-ui .start-label{font-size:13px;font-weight:550;padding:12px;}
.nb-ui :is(.start-guide,.audio-help,.calendar-intro p){color:var(--hint-color);font-size:13px;line-height:1.7;}
/* All functional surfaces share controls, while canvas geometry stays untouched. */
.nb-ui :is(.library-audio-panel,#librarySpeechPanel,.mc-book-card,.cal-month,#calEditor){border:1px solid var(--border-color);border-radius:16px;box-shadow:none!important;background:var(--panel-bg);}
.nb-ui :is(.library-audio-panel,#librarySpeechPanel){padding:24px!important;margin-bottom:20px;}
.nb-ui .library-audio-panel h3{font-size:18px;letter-spacing:-.3px;margin:0 0 8px;}
.nb-ui #libraryAudioList>div{border-radius:12px;}
.nb-ui audio{width:100%;height:40px;}
.nb-ui .calendar-layout{gap:24px;}
.nb-ui .cal-day{border-radius:8px;}
.nb-ui .cal-day.selected{background:var(--accent-soft);}
.nb-ui :is(.cal-day-num,.agenda-main time,#zoomValue,#quickSizeValue,#draftStatus){font-variant-numeric:tabular-nums;}
.nb-ui header{border-bottom:1px solid var(--border-color);box-shadow:none;}
.nb-ui #noteTabBar{background:var(--nb-sidebar);border-color:var(--border-color);}
.nb-ui .note-tab{border-radius:8px 8px 0 0;}
.nb-ui #topToolDock{gap:12px;padding-inline:18px;}
.nb-ui #topToolDock .quick-tool-group{gap:3px;}
.nb-ui #sideToolbar{border-radius:14px;}
.nb-ui :is(.dropdown-menu,.workspace-more-body,.editor-more-panel){padding:8px;border-radius:12px;}
.nb-ui #libraryModal.workspace-mode .library-head{padding:8px 16px;border-bottom:1px solid var(--border-color);background:var(--panel-bg);min-height:54px;}
.nb-ui #libraryModal.workspace-mode .nb-settings,.nb-ui #libraryModal.workspace-mode #closeLibraryBtn{display:none;}
.nb-ui #libraryModal.workspace-mode.nav-open .library-shell{grid-template-columns:236px minmax(0,1fr);}
.nb-ui #libraryModal.workspace-mode :is(.mind-tools,.infinite-tools){padding:8px 16px;gap:8px;}
.nb-ui #libraryModal.workspace-mode .home-content{padding:0;}
.nb-ui :is(.nb-safety-dialog,.nb-drive-dialog,#nb-cloud-dialog){border-radius:18px;padding:28px;border:1px solid var(--border-color);box-shadow:0 24px 80px #15162b33;}
.nb-ui dialog::backdrop{background:#16182766;}
.nb-ui :is(.nb-safety-dialog,.nb-drive-dialog,#nb-cloud-dialog) h2{font-size:22px;letter-spacing:-.5px;line-height:1.4;}
.nb-ui :is(.nb-safety-dialog,.nb-drive-dialog,#nb-cloud-dialog) p{line-height:1.7;}
.nb-ui .app-dialog-card{border-radius:18px;box-shadow:0 24px 80px #15162b33;}
.nb-ui .app-dialog-card input{min-height:42px;}
.nb-ui :is(#focusModeDock,#workspaceFocusDock){border-radius:14px;box-shadow:var(--surface-shadow);}
@media(hover:hover) and (pointer:fine){
 .nb-ui #homeNavigation :is(button,a):hover{background:var(--btn-hover);}
 .nb-ui #noteGrid .note-card:hover :is(.note-cover,.library-type-cover){border-color:color-mix(in srgb,var(--accent) 40%,var(--border-color));}
 .nb-ui #noteGrid .note-card-menu>summary:hover{background:var(--btn-hover);}
 .nb-ui #noteGrid .note-card-footer .note-actions button:hover{background:var(--btn-hover);filter:none;}
}
/* Only occasional, pointer-driven controls get press feedback. Frequent drawing tools stay still. */
.nb-ui :is(.nb-primary,.nb-create-shortcuts button):active{transform:scale(.98);}
@media(max-width:1050px){
 .nb-ui .library-shell{grid-template-columns:208px minmax(0,1fr);}
 .nb-ui .home-content{padding:14px 22px 36px;}.nb-ui .library-head{padding:12px 22px;}
 .nb-ui #noteGrid:not(.list-layout){grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px 16px;}
 .nb-ui .nb-library-hero h1{font-size:27px;}
 .nb-ui #topToolDock{overflow-x:auto;}.nb-ui #topToolDock>*{flex-shrink:0;}
 .nb-ui .calendar-layout{grid-template-columns:1fr;}
}
@media(max-width:760px){
 .nb-ui .library-shell{grid-template-columns:174px minmax(0,1fr);grid-template-rows:minmax(0,1fr);}
 .nb-ui .home-sidebar{padding:18px 8px;overflow:auto;}.nb-ui .home-brand{display:block;padding:0 8px;}
 .nb-ui .home-brand .nb-brand-logo{width:30px;height:30px;}.nb-ui .nb-brand-text{font-size:15px;}
 .nb-ui #homeNavigation{flex-direction:column;overflow:visible;gap:18px;}.nb-ui #homeNavigation button{font-size:12px;min-height:40px;white-space:normal;}
 .nb-ui .home-content{padding:10px 16px 30px;}.nb-ui .library-head{padding:10px 16px;flex-wrap:wrap;}
 .nb-ui .nb-library-hero{flex-wrap:wrap;margin-bottom:20px;gap:12px;}.nb-ui .nb-library-hero h1{font-size:25px;}
 .nb-ui .library-search-field{flex-basis:100%;}.nb-ui #noteGrid:not(.list-layout){grid-template-columns:repeat(auto-fill,minmax(160px,1fr));}
 .nb-ui .nb-filter-body{right:auto;left:0;}
 .nb-ui #noteGrid.list-layout .note-info{padding:0;}.nb-ui #noteGrid.list-layout .note-card-badges{position:static;grid-column:2;grid-row:2;}
 .nb-ui #libraryModal.workspace-mode .library-shell{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);}
 .nb-ui #libraryModal.workspace-mode.nav-open .library-shell{grid-template-columns:174px minmax(0,1fr);grid-template-rows:minmax(0,1fr);}
}
@media(prefers-reduced-motion:reduce){.nb-ui :is(button,summary,.note-card){transition:none!important;}.nb-ui :is(.nb-primary,.nb-create-shortcuts button):active{transform:none;}}
/* Object handles stay readable independently of page zoom or image width. */
.nb-ui .text-box-header{box-sizing:border-box;width:max-content;min-width:max-content;height:40px!important;gap:8px;flex-wrap:nowrap;padding:3px 8px;line-height:1;z-index:30;}
.nb-ui .text-box-header>*{flex-shrink:0;}
.nb-ui .text-box-header .note-image-control button{min-width:34px;min-height:34px;padding:4px 7px;border-radius:6px;}
.nb-ui .text-box-header .delete-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:32px;}
.nb-ui .text-box-header .drag-handle{min-height:32px;}
.nb-ui .text-box-header .delete-btn{border:0;background:transparent;color:inherit;padding:0 4px;}
/* A consistent local-save indicator, including focused canvases. */
.nb-ui .nb-save-indicator{font-size:12px;line-height:1.45;max-width:280px;overflow-wrap:anywhere;color:var(--hint-color);}
.nb-ui .nb-save-indicator::before{content:'✓';margin-right:5px;color:var(--accent);}
.nb-ui .nb-save-indicator[data-save-state=saving]::before{content:'◷';}
.nb-ui .nb-save-indicator[data-save-state=pending]::before{content:'•';}
.nb-ui .nb-save-indicator[data-save-state=error]{color:var(--danger-text,#b42318);font-weight:600;}
.nb-ui .nb-save-indicator[data-save-state=error]::before{content:'!';color:inherit;}
.nb-ui .nb-save-retry{color:var(--danger-text,#b42318);border-color:currentColor;}
.nb-ui #workspaceFocusDock,.nb-ui #focusModeDock{align-items:center;gap:8px;}
.nb-ui #workspaceFocusDock .nb-save-indicator,.nb-ui #focusModeDock .nb-save-indicator{max-width:240px;padding:0 6px;}
.nb-ui #logoHome{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.nb-ui .nb-editor-home-label{font-size:13px;font-weight:600;}
.nb-ui:has(#libraryModal.show.workspace-mode) #draftStatus{visibility:hidden;}
.nb-ui #workspaceHomeBtn{min-height:38px;}
