:root{color-scheme:light;--font: "Segoe UI Variable Text", "Segoe UI", Roboto, system-ui, -apple-system, sans-serif;--mono: "Cascadia Mono", "JetBrains Mono", Consolas, ui-monospace, monospace;--bg: #f6f8f7;--surface: #ffffff;--surface-2: #edf2ef;--surface-3: #e1e9e4;--hover: rgba(27, 31, 29, .06);--pressed: rgba(27, 31, 29, .1);--text: #1b1f1d;--muted: #5d6762;--outline: #dfe5e1;--outline-strong: #c4ccc7;--primary: #188038;--on-primary: #ffffff;--primary-container: #ceead6;--on-primary-container: #0d652d;--danger: #d93025;--danger-container: #fce8e6;--warn: #e37400;--scrim: rgba(0, 0, 0, .42);--shadow-1: 0 1px 2px rgba(0, 0, 0, .12), 0 1px 3px 1px rgba(0, 0, 0, .06);--shadow-2: 0 2px 6px 2px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .16);--shadow-3: 0 8px 28px rgba(0, 0, 0, .18);--r-sm: 8px;--r-md: 12px;--r-lg: 20px;--r-xl: 28px;--ease: cubic-bezier(.2, 0, 0, 1)}:root[data-theme=dark]{color-scheme:dark;--bg: #131314;--surface: #1e1f20;--surface-2: #282a2c;--surface-3: #333537;--hover: rgba(227, 227, 227, .07);--pressed: rgba(227, 227, 227, .12);--text: #e3e3e3;--muted: #a8b0aa;--outline: #3c4043;--outline-strong: #5f6368;--primary: #81c995;--on-primary: #0a3818;--primary-container: #0f5223;--on-primary-container: #c4eed0;--danger: #f28b82;--danger-container: #5c1d19;--warn: #fdd663;--scrim: rgba(0, 0, 0, .6);--shadow-1: 0 1px 2px rgba(0, 0, 0, .5);--shadow-2: 0 2px 8px rgba(0, 0, 0, .5);--shadow-3: 0 10px 32px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font:14px/1.5 var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}#app{min-height:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}svg.i{width:24px;height:24px;fill:currentColor;flex:none}svg.i.sm{width:18px;height:18px}svg.i.lg{width:32px;height:32px}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.grow{flex:1;min-width:0}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column;gap:12px}.wrap{flex-wrap:wrap}.spacer{flex:1}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 20px;border-radius:20px;border:1px solid var(--outline-strong);background:transparent;color:var(--primary);font-weight:600;cursor:pointer;transition:background .15s var(--ease),box-shadow .15s var(--ease);white-space:nowrap}.btn:hover{background:var(--hover)}.btn:active{background:var(--pressed)}.btn:disabled{opacity:.5;cursor:default}.btn.filled{background:var(--primary);color:var(--on-primary);border-color:transparent}.btn.filled:hover{box-shadow:var(--shadow-1);filter:brightness(1.06)}.btn.tonal{background:var(--primary-container);color:var(--on-primary-container);border-color:transparent}.btn.text{border-color:transparent;padding:0 12px}.btn.danger{color:var(--danger)}.btn.danger.filled{background:var(--danger);color:#fff}.btn.block{width:100%;height:48px;border-radius:24px;font-size:15px}.btn.sm{height:32px;padding:0 14px;font-size:13px}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--muted);cursor:pointer;flex:none}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn.active{color:var(--primary)}.icon-btn.sm{width:32px;height:32px}.icon-btn.sm svg.i{width:18px;height:18px}.fab{position:fixed;right:24px;bottom:24px;z-index:20;display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 20px 0 16px;border:0;border-radius:16px;background:var(--primary-container);color:var(--on-primary-container);box-shadow:var(--shadow-2);font-weight:600;font-size:15px;cursor:pointer}.fab:hover{box-shadow:var(--shadow-3)}@media(min-width:901px){.fab{display:none}}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;font-weight:600;color:var(--muted)}.input,.field input,.field select,.field textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--outline-strong);background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:96px}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap input{padding-right:96px}.input-wrap .adorn{position:absolute;right:4px;display:flex;gap:0}.code-input{text-align:center;font-size:28px!important;letter-spacing:12px;font-weight:600;font-family:var(--mono)}.check{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.check input{width:18px;height:18px;accent-color:var(--primary)}.switch{position:relative;width:52px;height:32px;flex:none}.switch input{opacity:0;width:100%;height:100%;margin:0;cursor:pointer;position:absolute;z-index:1}.switch span{position:absolute;inset:0;border-radius:16px;background:var(--surface-3);border:2px solid var(--outline-strong);transition:.2s var(--ease)}.switch span:after{content:"";position:absolute;top:6px;left:6px;width:16px;height:16px;border-radius:50%;background:var(--outline-strong);transition:.2s var(--ease)}.switch input:checked+span{background:var(--primary);border-color:var(--primary)}.switch input:checked+span:after{left:22px;top:2px;width:24px;height:24px;background:var(--on-primary)}.switch input:disabled+span{opacity:.5}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:8px;border:1px solid var(--outline-strong);background:transparent;color:var(--text);cursor:pointer;white-space:nowrap;font-size:13px;font-weight:500}.chip:hover{background:var(--hover)}.chip.on{background:var(--primary-container);color:var(--on-primary-container);border-color:transparent}.chip svg.i{width:18px;height:18px}.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600}.badge.warn{background:var(--danger-container);color:var(--danger)}.auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 600px at 10% -10%,var(--primary-container),transparent 60%),var(--bg)}.auth-card{width:min(440px,100%);background:var(--surface);border-radius:var(--r-xl);padding:40px 36px 28px;box-shadow:var(--shadow-1);border:1px solid var(--outline)}.auth-card .logo{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--primary-container);color:var(--primary);margin:0 auto 18px}.auth-card .logo svg.i{width:36px;height:36px}.auth-card h1{font-size:26px;font-weight:500;text-align:center;margin:0 0 6px}.auth-card .sub{text-align:center;color:var(--muted);margin:0 0 24px}.auth-card form{display:flex;flex-direction:column;gap:14px}.auth-links{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:14px}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:6px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--outline)}.rules{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 0;padding:0;list-style:none}.rules li{font-size:12px;padding:2px 10px;border-radius:12px;background:var(--surface-2);color:var(--muted)}.rules li.met{background:var(--primary-container);color:var(--on-primary-container)}.error-box{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);background:var(--danger-container);color:var(--danger);font-size:13px}.shell{display:grid;grid-template-columns:264px 1fr;min-height:100vh}.drawer{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:12px 12px 16px;gap:4px}.brand{display:flex;align-items:center;gap:10px;padding:8px 12px 16px;font-size:20px;font-weight:500}.brand .mark{width:36px;height:36px;border-radius:12px;background:var(--primary);color:var(--on-primary);display:grid;place-items:center}.brand .mark svg.i{width:22px;height:22px}.new-btn{display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 24px 0 18px;margin:0 0 12px 4px;align-self:flex-start;border:0;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-1);color:var(--text);font-weight:600;font-size:15px;cursor:pointer}.new-btn:hover{box-shadow:var(--shadow-2);background:var(--surface)}:root[data-theme=dark] .new-btn{background:var(--surface-2)}.nav-item{display:flex;align-items:center;gap:16px;height:48px;padding:0 16px 0 18px;border-radius:24px;border:0;background:transparent;color:var(--text);font-weight:500;cursor:pointer;text-align:left;width:100%}.nav-item:hover{background:var(--hover)}.nav-item.on{background:var(--primary-container);color:var(--on-primary-container);font-weight:700}.nav-item .count{margin-left:auto;font-size:12px;color:var(--muted);font-weight:600}.nav-item.on .count{color:inherit}.drawer .bottom{margin-top:auto;display:flex;flex-direction:column;gap:4px}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px;padding:10px 20px 10px 8px;background:var(--bg)}.search{flex:1;max-width:720px;display:flex;align-items:center;gap:4px;height:48px;padding:0 6px 0 4px;border-radius:24px;background:var(--surface-2);transition:background .15s,box-shadow .15s}.search:focus-within{background:var(--surface);box-shadow:var(--shadow-1)}.search input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-size:16px;height:100%}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font-weight:600;border:0;cursor:pointer;flex:none}.sync-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);padding:0 8px;white-space:nowrap}.sync-dot.err{color:var(--danger);cursor:pointer}.content{padding:8px 28px 120px;width:100%;max-width:1280px}.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 14px}.page-head h1{font-size:22px;font-weight:500;margin:0}.bottom-nav{display:none}.menu{position:fixed;z-index:60;min-width:220px;padding:8px 0;border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-3);border:1px solid var(--outline)}:root[data-theme=dark] .menu{background:var(--surface-2)}.menu button{display:flex;align-items:center;gap:14px;width:100%;height:44px;padding:0 18px;border:0;background:transparent;cursor:pointer;text-align:left}.menu button:hover{background:var(--hover)}.menu .menu-head{padding:8px 18px 10px;border-bottom:1px solid var(--outline);margin-bottom:6px}.menu .danger{color:var(--danger)}@media(max-width:900px){.shell{grid-template-columns:1fr}.drawer{display:none}.topbar{padding:8px 12px}.content{padding:4px 14px 140px}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;height:76px;padding:10px 0 12px;background:var(--surface-2);border-top:1px solid var(--outline)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:transparent;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer}.bottom-nav button .pill{width:60px;height:32px;border-radius:16px;display:grid;place-items:center}.bottom-nav button.on{color:var(--text)}.bottom-nav button.on .pill{background:var(--primary-container);color:var(--on-primary-container)}.fab{bottom:92px;right:16px}.topbar>.spacer{display:none}.search{max-width:none}.page-head .btn.filled{display:none}.health{gap:8px}.health .card{padding:12px}.health strong{font-size:22px}}.card{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--outline)}.list{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--outline);overflow:hidden}.list-head{padding:14px 20px 6px;font-size:13px;font-weight:700;color:var(--primary)}.list-row{display:flex;align-items:center;gap:16px;min-height:64px;padding:8px 12px 8px 20px;cursor:pointer;border-top:1px solid var(--outline);background:transparent;width:100%;border-left:0;border-right:0;border-bottom:0;text-align:left}.list-row:first-child{border-top:0}.list-row:hover{background:var(--hover)}.list-row.on{background:var(--primary-container)}.list-row .title{font-size:15px;font-weight:500}.list-row .sub{font-size:13px;color:var(--muted)}.list-row .actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.list-row:hover .actions,.list-row:focus-within .actions{opacity:1}.av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:600;font-size:17px;color:#fff;overflow:hidden}.av.lg{width:72px;height:72px;font-size:30px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 24px;gap:10px}.empty .art{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:var(--primary-container);color:var(--primary);margin-bottom:8px}.empty .art svg.i{width:56px;height:56px}.empty h2{margin:0;font-size:20px;font-weight:500}.empty p{margin:0;max-width:420px;color:var(--muted)}.split{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,440px);gap:20px;align-items:start}.split.single{grid-template-columns:1fr}.detail{position:sticky;top:76px;padding:24px}.detail .hero{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;margin-bottom:18px}.detail .hero h2{margin:0;font-size:22px;font-weight:500}.kv{display:flex;align-items:center;gap:8px;padding:10px 4px 10px 14px;border-radius:var(--r-md);background:var(--surface-2);margin-bottom:10px}.kv .label{font-size:12px;color:var(--muted)}.kv .value{font-size:15px;word-break:break-all}.health{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.health .card{padding:16px;cursor:pointer}.health .card:hover{background:var(--hover)}.health strong{font-size:26px;font-weight:500;display:block}.health .bad strong{color:var(--danger)}.strength{display:flex;gap:4px;align-items:center;margin-top:6px;font-size:12px;color:var(--muted)}.strength i{flex:1;height:4px;border-radius:2px;background:var(--surface-3)}.strength.s1 i:nth-child(-n+1){background:var(--danger)}.strength.s2 i:nth-child(-n+2){background:var(--warn)}.strength.s3 i:nth-child(-n+3){background:#f9ab00}.strength.s4 i:nth-child(-n+4){background:#1e8e3e}.suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:70;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--outline);border-radius:var(--r-md);box-shadow:var(--shadow-3);padding:6px 0}:root[data-theme=dark] .suggest{background:var(--surface-2)}.suggest button{display:flex;align-items:center;gap:12px;width:100%;padding:8px 14px;border:0;background:transparent;text-align:left;cursor:pointer}.suggest button:hover,.suggest button.hl{background:var(--hover)}.suggest .av{width:32px;height:32px;font-size:14px}.generator{padding:14px;border-radius:var(--r-md);background:var(--surface-2);display:flex;flex-direction:column;gap:10px}.generator .pw{font-family:var(--mono);font-size:16px;word-break:break-all}.generator input[type=range]{flex:1;accent-color:var(--primary)}.otp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.otp{display:flex;align-items:center;gap:14px;padding:16px 12px 16px 18px;cursor:pointer;position:relative;background:var(--surface);border:1px solid var(--outline);border-radius:var(--r-lg);text-align:left;width:100%}.otp:hover{background:var(--hover)}.otp .issuer{font-size:13px;color:var(--muted)}.otp .code{font-family:var(--mono);font-size:32px;letter-spacing:2px;color:var(--primary);line-height:1.2;font-variant-numeric:tabular-nums}.otp.urgent .code{color:var(--danger);animation:blink 1s steps(2) infinite}.otp .copied{position:absolute;right:64px;top:12px;font-size:12px;font-weight:600;color:var(--primary);opacity:0;transition:opacity .2s}.otp.flash .copied{opacity:1}@keyframes blink{50%{opacity:.55}}.ring{width:28px;height:28px;flex:none;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:14}.ring .track{stroke:var(--surface-3)}.ring .bar{stroke:var(--primary);stroke-dasharray:44;transition:stroke-dashoffset .5s linear}.otp.urgent .ring .bar{stroke:var(--danger)}.composer{max-width:600px;margin:4px auto 28px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-2)}.composer .closed{display:flex;align-items:center;padding:4px 6px 4px 16px;cursor:text;color:var(--muted);font-weight:500;height:48px}.composer .closed span{flex:1}.note-input{width:100%;border:0;outline:none;background:transparent;padding:10px 16px;resize:none}.note-input.title{font-size:17px;font-weight:500;padding-top:14px}.note-input.body{min-height:46px;font-size:15px;line-height:1.5}.note-tools{display:flex;align-items:center;gap:2px;padding:4px 8px 6px}.note-tools .when{font-size:12px;color:var(--muted);padding:0 8px}.masonry{columns:240px;column-gap:16px}.section-label{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--muted);margin:10px 4px 8px}.note{break-inside:avoid;margin:0 0 16px;border:1px solid var(--outline);border-radius:var(--r-md);background:var(--surface);cursor:default;position:relative;transition:box-shadow .15s;display:inline-block;width:100%}.note:hover{box-shadow:var(--shadow-2)}.note .inner{padding:12px 16px 8px;cursor:pointer}.note h3{margin:0 0 6px;font-size:16px;font-weight:500;word-wrap:break-word}.note p{margin:0;white-space:pre-wrap;word-wrap:break-word;max-height:320px;overflow:hidden;font-size:14px}.note ul{list-style:none;margin:0;padding:0}.note li{display:flex;gap:8px;align-items:flex-start;font-size:14px;padding:1px 0}.note li.done{text-decoration:line-through;color:var(--muted)}.note .labels{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.note .labels span{font-size:11px;padding:2px 8px;border-radius:10px;background:#00000014}:root[data-theme=dark] .note .labels span{background:#ffffff1f}.note .tools{display:flex;gap:0;padding:0 4px 4px;opacity:0;transition:opacity .15s}.note:hover .tools,.note:focus-within .tools{opacity:1}.note .pin{position:absolute;right:4px;top:4px;opacity:0}.note:hover .pin,.note .pin.active{opacity:1}.masonry.list-mode{columns:auto;max-width:600px;margin:0 auto}.palette{display:flex;flex-wrap:wrap;gap:6px;padding:8px;max-width:260px}.swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;background:var(--surface);outline:1px solid var(--outline-strong)}.swatch.on{border-color:var(--primary);outline-color:var(--primary)}.checklist-row{display:flex;align-items:center;gap:6px;padding:0 8px}.checklist-row input[type=text]{flex:1;border:0;outline:none;background:transparent;padding:6px 4px;font-size:15px}.checklist-row.done input[type=text]{text-decoration:line-through;color:var(--muted)}.checklist-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.nc-coral{--nc: #faafa8}.nc-peach{--nc: #f39f76}.nc-sand{--nc: #fff8b8}.nc-mint{--nc: #e2f6d3}.nc-sage{--nc: #b4ddd3}.nc-fog{--nc: #d4e4ed}.nc-storm{--nc: #aeccdc}.nc-dusk{--nc: #d3bfdb}.nc-blossom{--nc: #f6e2dd}.nc-clay{--nc: #e9e3d4}.nc-chalk{--nc: #efeff1}:root[data-theme=dark] .nc-coral{--nc: #77172e}:root[data-theme=dark] .nc-peach{--nc: #692b17}:root[data-theme=dark] .nc-sand{--nc: #7c4a03}:root[data-theme=dark] .nc-mint{--nc: #264d3b}:root[data-theme=dark] .nc-sage{--nc: #0c625d}:root[data-theme=dark] .nc-fog{--nc: #256377}:root[data-theme=dark] .nc-storm{--nc: #284255}:root[data-theme=dark] .nc-dusk{--nc: #472e5b}:root[data-theme=dark] .nc-blossom{--nc: #6c394f}:root[data-theme=dark] .nc-clay{--nc: #4b443a}:root[data-theme=dark] .nc-chalk{--nc: #232427}[class*=nc-].note,[class*=nc-].composer,.dialog[class*=nc-]{background:var(--nc);border-color:transparent}.swatch[class*=nc-]{background:var(--nc)}.doc-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.doc-toolbar .chips{flex:1;min-width:200px}.doc-toolbar select.input{width:auto;min-height:40px;padding:6px 10px}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.doc{border:1px solid var(--outline);border-radius:var(--r-md);background:var(--surface);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:box-shadow .15s;text-align:left;padding:0;width:100%}.doc:hover{box-shadow:var(--shadow-2)}.doc .thumb{aspect-ratio:3 / 4;background:var(--surface-2);display:grid;place-items:center;color:var(--primary);overflow:hidden;position:relative}.doc .thumb img{width:100%;height:100%;object-fit:cover;object-position:top}.doc .thumb svg.i{width:48px;height:48px}.doc .pages{position:absolute;right:8px;bottom:8px;background:#0009;color:#fff;font-size:11px;padding:1px 7px;border-radius:6px}.doc .meta{display:flex;align-items:center;gap:4px;padding:8px 4px 8px 12px}.doc .meta .name{font-weight:500;font-size:14px}.doc .meta small{color:var(--muted);font-size:12px}.doc-thumb-sm{width:40px;height:52px;border-radius:6px;background:var(--surface-2);display:grid;place-items:center;overflow:hidden;flex:none;color:var(--primary)}.doc-thumb-sm img{width:100%;height:100%;object-fit:cover}.viewer-body{display:grid;place-items:center;background:var(--surface-2);border-radius:var(--r-md);min-height:300px;overflow:auto}.viewer-body img{max-width:100%;max-height:70vh}.viewer-body iframe{width:100%;height:72vh;border:0;background:#fff}.viewer-body pre{width:100%;margin:0;padding:16px;white-space:pre-wrap;font-family:var(--mono);font-size:13px;max-height:70vh;overflow:auto}.scan{position:fixed;inset:0;z-index:80;background:#0b0b0b;color:#fff;display:flex;flex-direction:column}.scan header{display:flex;align-items:center;gap:8px;padding:10px 12px}.scan header .icon-btn{color:#fff}.scan .stage{flex:1;min-height:0;display:grid;place-items:center;position:relative;overflow:hidden}.scan video{max-width:100%;max-height:100%}.scan .frame{position:absolute;inset:10%;border:2px dashed rgba(255,255,255,.55);border-radius:16px;pointer-events:none}.scan footer{display:flex;align-items:center;gap:12px;padding:12px 16px 18px}.scan .shutter{width:72px;height:72px;border-radius:50%;border:5px solid #fff;background:#ffffff40;cursor:pointer;margin:0 auto}.scan .shutter:hover{background:#fff6}.scan .strip{display:flex;gap:8px;overflow-x:auto;flex:1;min-width:0}.scan .strip button{width:52px;height:68px;border-radius:6px;overflow:hidden;border:2px solid transparent;padding:0;background:#222;cursor:pointer;flex:none}.scan .strip button.on{border-color:#81c995}.scan .strip img{width:100%;height:100%;object-fit:cover}.scan .btn{color:#fff;border-color:#fff6}.scan .btn.filled{background:#81c995;color:#0a3818}.scan .chip{color:#fff;border-color:#ffffff59}.scan .chip.on{background:#81c995;color:#0a3818}.crop-wrap{position:relative;display:inline-block;touch-action:none}.crop-wrap canvas{display:block;max-width:none;max-height:none}.crop-wrap svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.crop-wrap polygon{fill:#81c9952e;stroke:#81c995;stroke-width:2}.handle{position:absolute;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:#fff;border:3px solid #81c995;cursor:grab;touch-action:none}.scan .tools{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:8px 12px 0}dialog.dialog{border:0;padding:0;border-radius:var(--r-xl);background:var(--surface);color:var(--text);width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 32px);box-shadow:var(--shadow-3)}:root[data-theme=dark] dialog.dialog{background:var(--surface-2)}dialog.dialog.wide{width:min(960px,calc(100vw - 24px))}dialog.dialog::backdrop{background:var(--scrim)}dialog.dialog>header{display:flex;align-items:center;gap:8px;padding:20px 16px 4px 24px}dialog.dialog>header h2{flex:1;margin:0;font-size:22px;font-weight:500;min-width:0}dialog.dialog>.body{padding:12px 24px 8px;overflow-y:auto;max-height:calc(100vh - 180px);display:flex;flex-direction:column;gap:14px}dialog.dialog>footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px 20px}dialog.dialog.note-dialog>.body{padding:0 0 4px;gap:0}dialog.dialog.note-dialog{border-radius:var(--r-md)}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:16px;min-width:280px;max-width:calc(100vw - 32px);padding:12px 12px 12px 18px;border-radius:6px;background:#303030;color:#f2f2f2;box-shadow:var(--shadow-3);font-size:14px;animation:toast-in .2s var(--ease)}#toast button{border:0;background:transparent;color:#81c995;font-weight:700;cursor:pointer;padding:6px 8px}@keyframes toast-in{0%{transform:translate(-50%,20px);opacity:0}}@media(max-width:900px){#toast{bottom:96px}}.settings{max-width:760px;display:flex;flex-direction:column;gap:16px}.settings section{padding:8px 0}.settings h2{font-size:16px;font-weight:600;margin:8px 20px 4px;color:var(--primary)}.setting{display:flex;align-items:center;gap:16px;padding:12px 20px;min-height:64px}.setting+.setting{border-top:1px solid var(--outline)}.setting .t{font-weight:500}.setting .d{font-size:13px;color:var(--muted)}.setting select{width:auto;min-height:40px;padding:6px 10px;border-radius:var(--r-sm);border:1px solid var(--outline-strong);background:var(--surface)}.pair-code{font-family:var(--mono);font-size:13px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);word-break:break-all;user-select:all}.digits{display:flex;justify-content:center;gap:10px;margin:4px 0}.digits input.digit{width:48px;height:58px;padding:0;text-align:center;font-size:24px;font-weight:600;font-family:var(--mono);border-radius:12px;border:1.5px solid var(--outline-strong);background:var(--surface);color:var(--text);outline:none;caret-color:var(--primary);transition:border-color .15s,box-shadow .15s,background .15s}.digits input.digit:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-container)}.digits input.digit.filled{background:var(--surface-2);border-color:var(--primary)}.digits input.digit[type=password]{font-size:28px}@media(max-width:380px){.digits{gap:6px}.digits input.digit{width:42px;height:52px}}.lp{min-height:100vh;background:var(--bg);color:var(--text);overflow-x:hidden}.lp a{text-decoration:none}.lp-logo{width:34px;height:34px;flex:none}.lp-brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:20px;font-weight:600}.lp-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;padding:14px max(20px,calc((100vw - 1180px)/2));background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px)}.lp-links{display:flex;gap:24px;margin-left:auto}.lp-links a{color:var(--muted);font-weight:500}.lp-links a:hover{color:var(--text)}.lp-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:22px;font-weight:600;font-size:15px;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:box-shadow .15s,filter .15s,background .15s}.lp-btn-primary{background:var(--primary);color:var(--on-primary)}.lp-btn-primary:hover{box-shadow:var(--shadow-2);filter:brightness(1.05)}.lp-btn-tonal{background:var(--primary-container);color:var(--on-primary-container);height:40px}.lp-btn-outline{border-color:var(--outline-strong);color:var(--primary)}.lp-btn-outline:hover{background:var(--hover)}.lp-btn-outline[aria-disabled=true]{color:var(--muted);pointer-events:none}.lp-btn-disabled{background:var(--surface-2);color:var(--muted);cursor:default}.lp-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;max-width:1180px;margin:0 auto;padding:56px 20px 72px}.lp-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;background:var(--primary-container);color:var(--on-primary-container);font-size:13px;font-weight:600}.lp-hero h1{font-size:clamp(38px,5.4vw,64px);line-height:1.05;letter-spacing:-1.5px;font-weight:600;margin:20px 0 18px}.lp-hero h1 span{color:var(--primary)}.lp-hero p{font-size:18px;line-height:1.6;color:var(--muted);max-width:540px;margin:0 0 28px}.lp-cta{display:flex;gap:12px;flex-wrap:wrap}.lp-fine{display:block;margin-top:18px;color:var(--muted)}.lp-mock{position:relative;background:var(--surface);border:1px solid var(--outline);border-radius:24px;box-shadow:0 24px 60px -20px #00000040;overflow:hidden;transform:rotate(-1.2deg)}.lp-mock-bar{display:flex;align-items:center;gap:6px;padding:14px 16px;border-bottom:1px solid var(--outline)}.lp-mock-bar>span{width:10px;height:10px;border-radius:50%;background:var(--surface-3)}.lp-mock-search{margin-left:12px;flex:1;display:flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:17px;background:var(--surface-2);color:var(--muted);font-size:13px}.lp-mock-body{padding:14px;display:flex;flex-direction:column;gap:10px}.lp-mock-row,.lp-mock-doc{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--surface-2);color:var(--muted)}.lp-mock-row div,.lp-mock-doc div{flex:1;display:flex;flex-direction:column;color:var(--text)}.lp-mock small{color:var(--muted);font-size:12px}.lp-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:600}.lp-av-a{background:#181717}.lp-av-b{background:#e50914}.lp-mock-otp{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:14px;border:1px solid var(--outline)}.lp-mock-otp div{display:flex;flex-direction:column}.lp-mock-otp b{font-family:var(--mono);font-size:28px;color:var(--primary);letter-spacing:2px;font-weight:500}.lp-ring{width:26px;height:26px;border-radius:50%;background:conic-gradient(var(--primary) 0 62%,var(--surface-3) 62% 100%)}.lp-mock-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lp-note{padding:12px;border-radius:12px;display:flex;flex-direction:column;color:#1f1f1f}.lp-note small{color:#3c4043!important}.lp-note-sand{background:#fff8b8}.lp-note-mint{background:#e2f6d3}.lp-mock-doc svg{color:var(--primary)}.lp-mock-note{position:absolute;right:14px;bottom:10px;font-size:11px;color:var(--muted)}.lp-section{max-width:1180px;margin:0 auto;padding:72px 20px}.lp-head{text-align:center;max-width:640px;margin:0 auto 40px}.lp-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:1.5px;color:var(--primary)}.lp-head h2,.lp-closing h2{font-size:clamp(30px,4vw,44px);letter-spacing:-1px;font-weight:600;margin:10px 0}.lp-head p{color:var(--muted);font-size:17px;margin:0}.lp-features{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.lp-card{background:var(--surface);border:1px solid var(--outline);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:8px}.lp-card h3{margin:6px 0 0;font-size:20px;font-weight:600}.lp-card p{margin:0;color:var(--muted)}.lp-card ul{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:8px;font-size:14px}.lp-card li{display:flex;gap:8px;align-items:flex-start}.lp-card li svg{color:var(--primary);margin-top:2px}.lp-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--primary-container);color:var(--on-primary-container)}.lp-band{max-width:none;background:var(--surface);border-block:1px solid var(--outline)}.lp-trio{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center}.lp-trio svg{color:var(--primary)}.lp-trio h3{margin:12px 0 6px;font-size:19px}.lp-trio p{margin:0;color:var(--muted)}.lp-platforms{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.lp-platform .lp-btn{margin-top:auto}.lp-platform p{flex:0 0 auto;margin-bottom:14px}.lp-checksum{font-size:12px;color:var(--muted)}.lp-checksum summary{cursor:pointer}.lp-checksum code{display:block;word-break:break-all;margin-top:6px;font-size:11px}.lp-closing{text-align:center;padding:72px 20px 88px;max-width:720px;margin:0 auto}.lp-closing p{color:var(--muted);margin:0 0 24px}.lp-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:24px max(20px,calc((100vw - 1180px)/2));border-top:1px solid var(--outline);color:var(--muted);font-size:13px}.lp-footer .lp-logo{width:26px;height:26px}.lp-footer .lp-brand{font-size:16px}@media(max-width:1100px){.lp-features{grid-template-columns:repeat(2,1fr)}.lp-platforms{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.lp-hero{grid-template-columns:1fr;gap:40px;padding-top:28px}.lp-mock{transform:none}.lp-links{display:none}.lp-nav{justify-content:space-between}.lp-trio{grid-template-columns:1fr}.lp-platforms{grid-template-columns:1fr 1fr}}@media(max-width:520px){.lp-features,.lp-platforms{grid-template-columns:1fr}.lp-section{padding:52px 16px}.lp-cta .lp-btn{flex:1}}
