:root{color-scheme:dark;--canvas:#000;--surface:#171d25;--surface2:#202a35;--line:#364250;--text:#f7f8fc;--muted:#b3c0ce;--accent:#b9ebff;--danger:#ffb6ad;--radius:19px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html,body,#app{width:100%;height:100%;min-height:100%;margin:0}
html,body{background:#000;color:var(--text)}
button,input{font:inherit}
button{color:inherit;cursor:pointer;border:0}
button:focus-visible,input:focus-visible,[tabindex="0"]:focus-visible{outline:4px solid var(--accent);outline-offset:3px;z-index:2}
button:disabled{opacity:.48;cursor:default}
#app{display:flex;justify-content:center;align-items:stretch;overflow:hidden}
.shell{width:100%;max-width:720px;min-height:0;max-height:100%;display:flex;flex-direction:column;padding:clamp(14px,3vw,26px);gap:13px}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:49px}
.header-actions{display:flex;gap:8px;align-items:center}
.brand{font-size:23px;font-weight:750;letter-spacing:-.5px}
.brand span{color:var(--accent)}
.subtitle{font-size:13px;color:var(--muted)}
.mini{background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:10px 13px;white-space:nowrap;min-height:42px}
.searchrow{display:flex;align-items:center;gap:8px}
.search{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--text);padding:13px 16px;min-height:53px;font-size:19px}
.search::placeholder{color:#9aa9b9}
.pills{display:flex;gap:9px;overflow-x:auto;padding:4px;flex-shrink:0;scrollbar-width:none}
.pill{font-size:17px;border-radius:100px;padding:9px 15px;background:var(--surface);border:1px solid var(--line);white-space:nowrap;min-height:46px}
.pill.active{background:#284657;border-color:#8ac4e1;color:#fff}
.section-title{font-size:15px;color:var(--muted);padding:1px 4px;display:flex;justify-content:space-between}
.content{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#587188 transparent;padding:5px 5px 10px;overscroll-behavior:contain}
.note-list{display:flex;flex-direction:column;gap:10px}
.note-row{width:100%;text-align:left;display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:88px}
.note-row:focus-visible{background:#263a48}
.note-row .title{font-weight:700;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
.note-row .preview{font-size:15px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tag-row{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:19px;text-align:left;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.empty{font-size:19px;line-height:1.5;color:var(--muted);padding:28px 14px;text-align:center}
.footer{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:12px;color:var(--muted);padding:1px 5px}
.editor-title{font-weight:730;font-size:24px;letter-spacing:-.3px;line-height:1.25;overflow-wrap:anywhere}
.reader{font-size:20px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;min-height:140px;max-height:100%;overflow:auto}
.actions{display:flex;flex-wrap:wrap;gap:9px;flex-shrink:0}
.action{background:var(--surface2);border:1px solid var(--line);border-radius:15px;font-size:17px;padding:12px 15px;min-height:48px;flex:1}
.action.alert{border-color:#a85959;color:var(--danger)}
.action.primary{border-color:#6ea8c7;background:#233e50}
.back{background:transparent;color:var(--accent);padding:7px 5px;font-size:18px;font-weight:600}
.status{padding:9px 13px;border-radius:14px;background:#1c2b38;font-size:15px;color:var(--accent)}
.error{padding:10px 14px;border-radius:14px;background:#42242b;color:#ffdbd6;font-size:16px}
.lock{max-width:490px;margin:auto 0;display:flex;flex-direction:column;gap:17px}
.lock h1{font-size:33px;margin:0}
.lock p{margin:0;font-size:18px;line-height:1.45;color:var(--muted)}
.lock label{font-weight:600}
.lock input{width:100%;min-height:55px;background:var(--surface);color:white;border:1px solid var(--line);border-radius:14px;padding:12px 15px;font-size:20px}
.overlay{position:fixed;inset:0;background:#000e;display:flex;align-items:center;justify-content:center;padding:22px;z-index:9}
.dialog{max-width:530px;width:100%;background:var(--surface);border:2px solid var(--line);border-radius:25px;padding:24px;display:flex;flex-direction:column;gap:18px}
.dialog h2{font-size:27px;margin:0}.dialog p{margin:0;font-size:18px;color:var(--muted);line-height:1.4}
.dialog .actions{display:flex}
.tag-editor{display:flex;flex-wrap:wrap;gap:9px}
.tag-toggle{border:1px solid var(--line);border-radius:100px;background:var(--surface2);padding:10px 14px;font-size:16px}
.tag-toggle.selected{background:#285369;border-color:var(--accent)}
.error-page{font-size:20px;color:var(--danger);padding:15px}
@media(max-width:440px){.shell{gap:10px;padding:12px}.header-actions{display:flex;gap:8px;align-items:center}
.brand{font-size:20px}.pill{font-size:15px;padding:8px 11px}.note-row{min-height:74px;padding:12px 14px}.note-row .title{font-size:18px}.reader{font-size:18px}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .11s,border-color .11s}}
/* Native on-glasses text composer opens when a text field is activated. */
button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
button,input,textarea{font:inherit}
textarea{resize:vertical}
.new-note{width:100%;min-height:50px;font-weight:700}
.editor-content{display:flex;flex-direction:column;gap:14px;padding:7px 5px 16px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:17px;font-weight:650;color:var(--text)}
.editor-input{font-size:19px}
.editor-body{display:block;min-height:145px;height:170px;line-height:1.45;resize:vertical;font-size:19px}
.input-hint{font-size:15px;line-height:1.45;margin:0;color:var(--muted);background:var(--surface);border:1px solid var(--line);padding:11px 13px;border-radius:12px}
@media(max-height:600px){.editor-content{gap:9px}.editor-body{min-height:125px}.input-hint{font-size:13px}}

/* Secure phone-to-glasses pairing. Only large, focusable buttons on the glasses. */
.pair-view{display:flex;flex-direction:column;gap:18px;justify-content:center;min-height:0;flex:1}
.pair-view h1{font-size:28px;margin:0}
.pair-view p{font-size:18px;line-height:1.5;margin:0;color:var(--text)}
.pair-view p.muted{font-size:15px;color:var(--muted)}
.pair-view label{font-weight:650}
.pair-code{font-size:clamp(35px,8vw,53px);font-weight:800;letter-spacing:.17em;text-align:center;padding:18px 5px;border:2px solid #7dbbd6;border-radius:18px;font-variant-numeric:tabular-nums;white-space:nowrap}
.pair-view input{width:100%}
@media(max-height:600px){.pair-view{gap:12px}.pair-code{padding:12px 5px}.pair-view p{font-size:16px}}
