:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20202a;background:#f7f7fb}*{box-sizing:border-box}body{margin:0;min-height:100dvh}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-shell{min-height:100dvh;display:grid;grid-template-columns:290px minmax(0,1fr)}.sidebar{padding:24px 16px 16px;background:#fff;border-right:1px solid #e7e7ef;display:flex;flex-direction:column;gap:20px}.brand{display:flex;gap:10px;align-items:center;padding:0 8px;font-size:18px}.brand span,.mark{color:#fff;background:#4f46e5;display:grid;place-items:center;border-radius:12px;width:32px;height:32px}.side-actions{display:grid;gap:8px}.primary,.secondary,.icon-button,.sign-out{border:0;border-radius:10px;font:inherit;cursor:pointer;min-height:44px}.primary{background:#4f46e5;color:#fff;font-weight:700}.secondary{background:#ecebff;color:#39318b;font-weight:600}.sign-out{margin-top:auto;background:transparent;color:#72727f;text-align:left;padding:0 12px}.sign-out:hover{color:#2d2d38}#note-list{display:grid;gap:5px;overflow:auto}.note-item{width:100%;text-align:left;border:0;border-radius:10px;background:transparent;padding:11px 12px;cursor:pointer;color:#35353f}.note-item:hover,.note-item[aria-current="true"]{background:#f0efff}.note-item strong,.note-item span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-item strong{font-size:14px}.note-item span{font-size:12px;color:#7b7b89;margin-top:3px}.editor{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:24px 7vw 18px}.editor header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid #e7e7ef}.editor header div{display:grid;gap:3px}.editor header strong{font-size:16px}.editor header span,.editor-hint{font-size:13px;color:#777786}.icon-button{width:44px;background:#f1f1f6;color:#4d4d5a;font-size:20px}.icon-button.delete{color:#b42318}.editor textarea{border:0;outline:0;resize:none;width:100%;padding:28px 0;background:transparent;color:#1f1f2a;font:400 clamp(18px,2vw,22px)/1.65 Georgia,"Times New Roman",serif}.editor textarea::placeholder{color:#b0b0bb}.editor-hint{margin:8px 0 0}.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#e6e4ff 0,transparent 38%),#f7f7fb}.pin-card{width:min(370px,100%);text-align:center;padding:32px 26px 24px;background:#fff;border:1px solid #e7e7ef;border-radius:24px;box-shadow:0 20px 60px #312e8120}.pin-card .mark{margin:auto;width:48px;height:48px;border-radius:16px;font-size:20px}.pin-card h1{margin:16px 0 5px;font-size:24px}.quiet{margin:0;color:#777786}.login-page input{position:absolute;opacity:0;pointer-events:none}.dots{display:flex;justify-content:center;gap:12px;margin:32px 0 24px}.dots i{width:13px;height:13px;border-radius:50%;background:#e0e0e7;transition:.12s}.dots i.filled{background:#4f46e5;transform:scale(1.08)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.keypad button{min-height:56px;border:1px solid #e6e6ee;border-radius:14px;background:#fff;color:#252530;font:600 20px system-ui;cursor:pointer}.keypad button:active{background:#ecebff;transform:scale(.98)}.keypad .back{font-size:22px}.status{min-height:20px;margin:18px 0 0;color:#b42318;font-size:14px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(20px);background:#20202a;color:#fff;padding:10px 14px;border-radius:10px;opacity:0;transition:.2s;pointer-events:none;font-size:14px}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#mobile-menu{display:none}@media(max-width:700px){.app-shell{display:block}.sidebar{position:fixed;inset:0 18% 0 0;z-index:3;transform:translateX(-105%);transition:transform .2s;box-shadow:10px 0 30px #0002}.sidebar.open{transform:none}.editor{min-height:100dvh;padding:18px 22px 14px}.editor textarea{padding-top:22px}.editor header{position:sticky;top:0;background:#f7f7fb;z-index:1}#mobile-menu{display:block}.icon-button{flex:0 0 44px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
