.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.home-widget{background:var(--surface);border:1px solid var(--line);padding:22px;min-width:0}
.home-widget>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.home-widget>header h2{font-size:17px}.home-widget p,.home-widget small{color:var(--muted);line-height:1.6}.home-widget small{display:block;font-size:12px;margin-top:8px}
.home-widget textarea{width:100%;min-height:180px}.home-widget-tools{display:flex;gap:4px}.home-widget-tools button{background:transparent;color:var(--muted);border:0;padding:5px;min-width:28px}.home-widget-tools [draggable]{cursor:grab}
.home-library{padding:20px;background:var(--surface-soft);margin-bottom:20px}.home-library h2{font-size:17px}.home-library p{color:var(--muted);font-size:13px;margin:8px 0 16px}.home-library>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-widget-option{text-align:left;padding:12px;border:0;background:var(--surface);color:var(--ink)}.home-widget-option span{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.home-links a{display:grid;grid-template-columns:1fr auto;gap:4px;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line)}.home-links a span{grid-row:2;font-size:12px;color:var(--muted)}.home-links .icon{grid-column:2;grid-row:1/3;align-self:center}
.home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-shortcuts a{display:flex;align-items:center;gap:10px;padding:12px;background:var(--surface-soft);text-decoration:none;font-size:14px}
.home-metrics{display:flex;gap:40px;margin:22px 0}.home-metrics strong{display:block;font-size:32px;color:var(--green)}.home-metrics span{font-size:13px;color:var(--muted)}.home-lessons{list-style:none;padding:0;margin:0}.home-lessons li{display:flex;gap:12px;margin:14px 0;font-size:14px}.home-lessons li>span{color:var(--green)}.home-lessons a{text-decoration:none}
@media(max-width:780px){.home-grid{grid-template-columns:1fr}.home-library>div{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.home-library>div{grid-template-columns:1fr}.home-widget{padding:16px}}
.home-widget-tools [data-home-drag]{cursor:grab;touch-action:none;min-width:32px;min-height:32px}
.home-widget-tools [data-home-drag]:hover{background:var(--surface-soft);color:var(--green)}
.home-is-dragging,.home-is-dragging *{cursor:grabbing!important;user-select:none!important}
.home-widget-placeholder{outline:2px dashed var(--green);outline-offset:-2px;background:var(--surface-soft)}
.home-widget-placeholder>*{visibility:hidden}
.home-widget-drag-preview{position:fixed;left:0;top:0;z-index:1000;margin:0;pointer-events:none;box-sizing:border-box;box-shadow:0 20px 48px #0003,0 3px 10px #0002;outline:1px solid var(--green);transform-origin:top left;will-change:transform;overflow:hidden}
/* Independent stacks: a tall card never reserves blank space in its neighbor. */
.home-grid{grid-auto-rows:1px;row-gap:0;column-gap:20px;align-items:start}
.home-library .home-layout-options{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.home-layout-options label{display:flex;align-items:center;gap:10px;font-size:13px;white-space:nowrap}
.home-layout-options select{width:64px}
.home-width-control select{max-width:110px;font-size:12px;min-height:30px;padding:4px 8px}
.home-widget>header{flex-wrap:wrap}.home-widget-tools{flex-wrap:wrap;align-items:center;margin-left:auto}
.home-widget .ring-wrap{flex-wrap:wrap}.home-shortcuts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
/* Editing tools occupy a dedicated muted strip above the widget content. */
.home-widget>header{display:flex;flex-direction:column;align-items:stretch;gap:0;position:relative}
.home-widget>header>h2{order:2;margin:0}
.home-widget>header>.home-widget-tools{order:1;display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:5px;align-items:center;margin:-22px -22px 18px;padding:9px 12px;background:var(--surface-soft);border-bottom:1px solid var(--line)}
.home-widget-tools .home-width-control{margin-right:auto;min-width:0}
.home-widget-tools .home-width-control select{width:106px;max-width:100%}
.home-widget-tools button{flex:0 0 28px;min-width:28px;padding:4px}
@media(max-width:480px){.home-widget>header>.home-widget-tools{margin:-16px -16px 16px;padding:8px}}
.notebook-top{display:flex;gap:8px}.notebook-top input{width:100%;min-width:0}.notebook-top button{white-space:nowrap}
#notebook-list{display:flex;gap:6px;overflow:auto;max-height:150px;margin:12px 0;padding-bottom:5px}.notebook-note{flex:0 0 150px;text-align:left;padding:10px;border:0;border-bottom:2px solid transparent;background:var(--surface-soft);color:var(--ink);overflow-wrap:anywhere}.notebook-note.selected{border-bottom-color:var(--green)}.notebook-note small{margin-top:4px}
.notebook-editor{border-top:1px solid var(--line);padding-top:14px}.notebook-editor label{display:block;font-size:12px;font-weight:600;margin-top:12px}.notebook-editor label input,.notebook-editor textarea{display:block;width:100%;margin-top:6px}.notebook-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.notebook-tasks{margin-top:20px}.notebook-tasks h3{font-size:14px}.notebook-task{display:flex;align-items:flex-start;gap:8px;margin-top:12px}.notebook-task span{flex:1;font-size:14px;overflow-wrap:anywhere}.notebook-task span.done{text-decoration:line-through;color:var(--muted)}.notebook-task button{border:0;background:transparent;color:var(--muted)}#notebook-task-form{display:flex;gap:8px;margin-top:12px}#notebook-task-input{min-width:0;width:100%}
.home-note-list{display:grid;gap:0;margin-bottom:16px}.home-note-list a{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;min-width:0}.home-note-list strong{font-size:14px}.home-note-list span{font-size:13px;color:var(--muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-note-list small{margin:0}
main[data-view="notebook"] .notebook{max-width:1100px;background:var(--surface);padding:24px;border:1px solid var(--line)}
main[data-view="notebook"] .notebook-editor textarea{min-height:300px;resize:vertical}
main[data-view="notebook"] .notebook-editor label input,main[data-view="notebook"] .notebook-editor textarea{box-sizing:border-box}
main[data-view="notebook"] .notebook small{display:block;font-size:12px;color:var(--muted);margin-top:8px}
@media(min-width:900px){main[data-view="notebook"] .notebook{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px}main[data-view="notebook"] .notebook-top{grid-column:1/-1}main[data-view="notebook"] #notebook-list{display:flex;flex-direction:column;max-height:600px;margin:0}main[data-view="notebook"] .notebook-note{flex:0 0 auto}main[data-view="notebook"] .notebook-editor{grid-column:2;grid-row:2 / span 3;border-top:0;border-left:1px solid var(--line);padding:0 0 0 24px}}
