*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-success: #16a34a;--color-success-hover: #15803d;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-secondary: #6b7280;--color-secondary-hover: #4b5563;--color-bg: #ffffff;--color-surface: #f9fafb;--color-border: #e5e7eb;--color-text: #111827;--color-text-muted: #6b7280;--color-backdrop: rgba(0, 0, 0, .4);--color-input-bg: #ffffff;--shadow-modal: 0 8px 30px rgba(0, 0, 0, .12);color-scheme:light}[data-theme=dark]{--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-success: #22c55e;--color-success-hover: #4ade80;--color-danger: #ef4444;--color-danger-hover: #f87171;--color-secondary: #9ca3af;--color-secondary-hover: #d1d5db;--color-bg: #111827;--color-surface: #1f2937;--color-border: #374151;--color-text: #f9fafb;--color-text-muted: #9ca3af;--color-backdrop: rgba(0, 0, 0, .6);--color-input-bg: #1f2937;--shadow-modal: 0 8px 30px rgba(0, 0, 0, .4);color-scheme:dark}body{min-height:100dvh;background:var(--color-bg);color:var(--color-text);transition:background-color .2s,color .2s}#app{max-width:80ch;margin-inline:auto;padding:2rem}.app-header{display:flex;justify-content:flex-end;margin-bottom:.5rem}.app-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border);text-align:center;font-size:.8125rem;color:var(--color-text-muted)}.theme-menu{position:relative}.theme-menu-btn{background:none;border:1px solid var(--color-border);border-radius:8px;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;line-height:1;color:var(--color-text-muted);transition:background-color .15s,border-color .15s}.theme-menu-btn:hover{background:var(--color-surface);border-color:var(--color-text-muted)}.theme-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-modal);min-width:140px;padding:4px;z-index:50}.theme-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .65rem;border:none;border-radius:6px;background:none;cursor:pointer;font-size:.8125rem;font-weight:500;font-family:inherit;color:var(--color-text-muted);transition:background-color .15s,color .15s}.theme-menu-item:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-text)}.theme-menu-item--active{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.theme-menu-item-icon{font-size:.875rem;line-height:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.page h1{margin-bottom:1.5rem}.add-form{display:flex;flex-direction:column;gap:.75rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.form-group input{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;font-size:1rem;font-family:inherit;background:var(--color-input-bg);color:var(--color-text);transition:border-color .15s,background-color .2s}.form-group input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.form-group input::placeholder{color:var(--color-text-muted);opacity:.7}.item-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;padding:0}.item-card{display:flex;align-items:flex-start;gap:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem;transition:background-color .2s,border-color .2s,box-shadow .15s}.item-card-content{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex:1;min-width:0}.drag-handle{display:flex;align-items:center;justify-content:center;width:1.25rem;flex-shrink:0;cursor:grab;color:var(--color-text-muted);font-size:1.25rem;line-height:1;-webkit-user-select:none;user-select:none;touch-action:none;border:none;background:none;padding:.25rem 0;opacity:.5;transition:opacity .15s}.drag-handle:hover{opacity:1}.drag-handle:active{cursor:grabbing}.item-card--dragging{opacity:.4}.item-card--drop-above{box-shadow:0 -2px 0 0 var(--color-primary)}.item-card--drop-below{box-shadow:0 2px 0 0 var(--color-primary)}.item-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.item-name{font-weight:600;color:var(--color-text)}.item-link{font-size:.875rem;color:var(--color-primary)}.item-notes{font-size:.875rem;color:var(--color-text-muted);font-style:italic}.item-date{font-size:.75rem;color:var(--color-text-muted)}.item-actions{display:flex;gap:.5rem;flex-shrink:0}.btn{padding:.4rem .85rem;border:none;border-radius:6px;font-size:.875rem;font-family:inherit;cursor:pointer;font-weight:500;white-space:nowrap;transition:background-color .15s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:var(--color-success-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.btn-secondary{background:var(--color-secondary);color:#fff}.btn-secondary:hover{background:var(--color-secondary-hover)}.empty-state{color:var(--color-text-muted);text-align:center;padding:3rem 0}.welcome{padding:1.5rem 0 1rem}.welcome h1{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.welcome-description{color:var(--color-text-muted);line-height:1.5}.quick-actions{display:grid;grid-template-columns:1fr;gap:.75rem;padding-bottom:1.5rem}.action-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;text-decoration:none;color:var(--color-text);transition:border-color .15s,background-color .2s;cursor:pointer;font-family:inherit;font-size:inherit}.action-card:hover{border-color:var(--color-primary)}.action-icon{font-size:1.25rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);font-weight:600}.action-label{font-size:.9375rem;font-weight:500;display:flex;align-items:center;gap:.4rem}.action-count{font-size:.75rem;background:var(--color-border);border-radius:9999px;padding:.1rem .45rem;font-weight:600;color:var(--color-text-muted)}.home-section{padding:1.25rem 0;border-top:1px solid var(--color-border)}.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem}.section-header h2{font-size:1.1rem;font-weight:600}.section-count{font-size:.875rem;color:var(--color-text-muted)}.section-link{font-size:.875rem;color:var(--color-primary);font-weight:500;text-decoration:none}.section-link:hover{text-decoration:underline}.item-card--muted{opacity:.7}.empty-home{text-align:center;padding:2rem 0;color:var(--color-text-muted);line-height:1.6}.empty-home a{color:var(--color-primary);font-weight:500}.modal-backdrop{position:fixed;inset:0;background:var(--color-backdrop);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{border-radius:12px;max-width:480px;width:100%;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-modal);padding:1.5rem;transition:background-color .2s}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-header h2{font-size:1.125rem;font-weight:600;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-muted);padding:.25rem;line-height:1}.modal-close:hover{color:var(--color-text)}.modal .add-form{background:none;border:none;padding:0;margin:0}@media(max-width:600px){.item-card{flex-direction:column}.item-card:has(.drag-handle){flex-direction:row}.item-card-content{flex-direction:column}.item-card-content .item-actions,.item-actions{align-self:flex-end}}
