:root{--bg: #f6f7f9;--surface: #ffffff;--border: #e3e6ea;--text: #1d2430;--muted: #6b7280;--primary: #2563eb;--primary-hover: #1d4ed8;--danger: #dc2626;--danger-hover: #b91c1c;--accent-soft: #eef2ff;--radius: 8px;--sidebar-w: 264px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #14171c;--surface: #1b1f27;--border: #2b313b;--text: #e6e9ee;--muted: #9aa3b2;--primary: #3b82f6;--primary-hover: #60a5fa;--accent-soft: #1e2536}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.5rem;margin:0}h2{font-size:1.1rem;margin:0 0 .5rem}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem;position:sticky;top:0;height:100vh}.sidebar-brand{font-size:1.25rem;font-weight:700;margin-bottom:1.25rem}.sidebar-brand a{color:var(--text);display:inline-flex;align-items:center;gap:.4rem}.brand-logo{font-size:1.3rem;line-height:1}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-section{margin-top:1.5rem;flex:1;overflow-y:auto}.sidebar-heading{display:flex;justify-content:space-between;align-items:baseline;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;color:var(--muted);margin-bottom:.5rem}.link-manage{font-size:.72rem;font-weight:600;color:var(--text)}.category-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .6rem;border-radius:var(--radius);color:var(--text)}.nav-link:hover{background:var(--accent-soft);text-decoration:none}.nav-link.active{background:var(--accent-soft);color:var(--primary);font-weight:600}.category-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{border-top:1px solid var(--border);padding-top:.75rem;margin-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.content{flex:1;padding:2rem;max-width:960px;width:100%;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.centered{min-height:100vh;display:grid;place-items:center;padding:1rem}.unsaved-badge{font-size:.8rem;font-weight:600;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:.1rem .6rem;white-space:nowrap}@media (prefers-color-scheme: dark){.unsaved-badge{color:#fcd34d;background:#3a330f;border-color:#5b4f17}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.login-card{width:100%;max-width:360px}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.field>span{font-size:.85rem;font-weight:600;color:var(--muted)}input,textarea,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .65rem;width:100%}input:focus,textarea:focus,select:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.form-actions{display:flex;gap:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:600;padding:.5rem .9rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:.3rem .6rem;font-size:.85rem}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{color:var(--danger);border-color:var(--border)}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{background:var(--accent-soft);border-color:transparent}.alert{padding:.65rem .9rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}@media (prefers-color-scheme: dark){.alert-error{background:#3a1e1e;color:#fca5a5;border-color:#5b2a2a}}.alert-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}@media (prefers-color-scheme: dark){.alert-success{background:#16301f;color:#86efac;border-color:#1f4d2e}}.account-card{max-width:420px}.account-card h2{margin-top:0;font-size:1.1rem}.saved-hint{align-self:center;font-size:.85rem;font-weight:600;color:#15803d}@media (prefers-color-scheme: dark){.saved-hint{color:#86efac}}.confirm-dialog{border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:var(--surface);color:var(--text);padding:0;width:min(420px,calc(100vw - 2rem));box-shadow:0 20px 50px #00000040}.confirm-dialog::backdrop{background:#0f141e73}.confirm-dialog[open]{animation:confirm-in .12s ease-out}@keyframes confirm-in{0%{opacity:0;transform:translateY(6px) scale(.98)}}@media (prefers-reduced-motion: reduce){.confirm-dialog[open]{animation:none}}.confirm-panel{padding:1.25rem 1.25rem 1rem}.confirm-panel h2{margin:0 0 .5rem;font-size:1.05rem}.confirm-message{color:var(--muted);font-size:.92rem;overflow-wrap:anywhere}.confirm-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}.strength{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.strength-bar{flex:0 0 6rem;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.strength-bar>span{display:block;height:100%;border-radius:inherit}.strength-weak>.strength-bar>span{width:33%;background:var(--danger)}.strength-fair>.strength-bar>span{width:66%;background:#d97706}.strength-strong>.strength-bar>span{width:100%;background:#16a34a}.strength-weak .strength-label{color:var(--danger);font-weight:600}.strength-fair .strength-label{color:#b45309;font-weight:600}.strength-strong .strength-label{color:#15803d;font-weight:600}@media (prefers-color-scheme: dark){.strength-fair .strength-label{color:#fbbf24}.strength-strong .strength-label{color:#86efac}}.note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.note-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.note-main{min-width:0}.note-title{font-weight:600;font-size:1.02rem;color:var(--text)}.note-title:hover{color:var(--primary)}.note-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;flex-wrap:wrap}.note-actions{display:flex;gap:.4rem;flex-shrink:0}.chip{background:var(--accent-soft);color:var(--primary);border-radius:999px;padding:.05rem .55rem;font-size:.75rem;font-weight:600}.chip-shared{background:#dcfce7;color:#166534}a.chip-link:hover{text-decoration:underline}.badge{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:0 .5rem;font-size:.75rem;color:var(--muted);min-width:1.5rem;text-align:center}.empty{text-align:center;padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.search-bar{display:flex;gap:.5rem;margin-bottom:1.25rem}.category-manage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.category-manage-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.category-info{display:flex;align-items:center;gap:.5rem}.category-actions{display:flex;gap:.4rem}.category-edit{display:flex;gap:.5rem;width:100%;align-items:center}.shared-view{margin:0;padding:1.25rem;min-height:100vh;display:flex;flex-direction:column}.shared-view .shared-note{flex:1;margin-bottom:0;display:flex;flex-direction:column}.shared-view .note-render{flex:1}.note-render{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-top:1rem}.shared-footer{text-align:center;margin-top:1rem}@media (max-width: 720px){.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.content{padding:1.25rem}}.content-editor{max-width:none;margin:0;padding:1.25rem;height:100vh;height:100dvh;min-height:480px;display:flex}.editor-page{flex:1;min-width:0;min-height:0;display:flex;gap:1.25rem}.editor-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:.6rem}.editor-main .alert{margin-bottom:0}.editor-box{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.editor-box:focus-within{border-color:var(--primary)}.editor-text{flex:1;min-height:0;width:100%;margin:0;padding:1.25rem 1.5rem;border:0;border-radius:0;outline:none;resize:none;overflow-y:auto;background:transparent;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.65;white-space:pre-wrap;word-break:break-word}textarea.editor-text:focus{outline:none}.editor-box-old{background:#fffbeb;border-color:#fcd34d}.old-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.6rem 1rem;background:#fef3c7;border-bottom:1px solid #fcd34d;color:#78350f;font-size:.9rem}.old-title{padding:.75rem 1.5rem 0;font-weight:600;color:#78350f}@media (prefers-color-scheme: dark){.editor-box-old{background:#211d0c;border-color:#5b4f17}.old-banner{background:#3a330f;border-color:#5b4f17;color:#fcd34d}.old-title{color:#fcd34d}}.unsaved-badge{display:inline-flex;align-items:center;gap:.4rem}.unsaved-badge .dot{width:.5rem;height:.5rem;border-radius:50%;background:#d97706}@media (prefers-color-scheme: dark){.unsaved-badge .dot{background:#fbbf24}}.editor-side{flex:0 0 320px;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.side-card{margin:0;padding:1rem;border-radius:10px;display:flex;flex-direction:column;gap:.6rem}.side-card .field{margin-bottom:.2rem}.side-card p{margin:0}.input-title{font-weight:600}.side-actions{display:flex;gap:.5rem}.side-actions .btn-primary{flex:1}.side-status{font-size:.85rem}.side-card-head{display:flex;align-items:center;gap:.5rem;color:var(--muted)}.side-card-head h2{margin:0;font-size:.95rem;color:var(--text)}.side-card-head>:last-child:not(h2){margin-left:auto}.side-card .share-link{display:flex;gap:.4rem}.side-card .share-link input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}.btn-flush{align-self:flex-start;padding-left:0}@media (prefers-color-scheme: dark){.chip-shared{background:#14361f;color:#86efac}}.history-card{flex:1 1 auto;min-height:9rem}.history-list{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.history-item{font:inherit;font-size:.85rem;width:100%;display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .5rem;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.history-item:hover,.history-item.selected{background:var(--accent-soft)}.history-item.viewing{background:#fef3c7;border-color:#fcd34d;color:#78350f;font-weight:600}.history-tag{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--primary)}.history-item.viewing .history-tag{color:inherit}@media (prefers-color-scheme: dark){.history-item.viewing{background:#3a330f;border-color:#5b4f17;color:#fcd34d}}@media (prefers-color-scheme: dark){.btn-primary{background:#2563eb;border-color:#2563eb}.btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--text);cursor:pointer}.icon-btn:hover,.icon-btn.active{background:var(--accent-soft);text-decoration:none}@media (max-width: 720px){.app-shell-editor .sidebar{display:none}.content-editor{flex:none;height:100vh;height:100dvh;padding:0;min-height:0}.editor-phone{flex-direction:column;gap:0;background:var(--surface)}.phone-head{display:flex;flex-direction:column;gap:.4rem;padding:.4rem .5rem .7rem;border-bottom:1px solid var(--border)}.phone-head-row{display:flex;align-items:center;gap:.25rem}.phone-head .input-title{flex:1;min-width:0;font-size:1.05rem;font-weight:700;border:0;background:transparent;padding:.5rem .25rem}.phone-chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 .5rem}.category-chip select{width:auto;border:0;border-radius:999px;padding:.3rem .75rem;background:var(--accent-soft);color:var(--primary);font-size:.85rem;font-weight:600}.phone-chips .chip{border:0;font:inherit;font-size:.85rem;font-weight:600;padding:.3rem .75rem;cursor:pointer}.phone-head .error{padding:0 .5rem}.phone-alert{margin:.5rem}.phone-details{max-height:50vh;max-height:50dvh;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.75rem;background:var(--bg);border-bottom:1px solid var(--border)}.phone-details .history-card{flex:none;min-height:0}.editor-phone .editor-box{border:0;border-radius:0}.editor-phone .editor-text{padding:1rem;font-size:.85rem}.phone-foot{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.phone-status{flex:1;font-size:.85rem}.phone-foot .btn-primary{min-width:7.5rem;min-height:44px}}
