@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-ext-400-normal-Xqov12YL.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-400-normal-DRPPeomZ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format("woff2"),url(/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-vietnamese-400-normal-D4oHqQTd.woff2) format("woff2"),url(/assets/montserrat-vietnamese-400-normal-BeEscFYY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2) format("woff2"),url(/assets/montserrat-latin-ext-400-normal-BffdBkAA.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-ext-500-normal-11xBT7e1.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-500-normal-DOzfAZ45.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-500-normal-T0SG181k.woff2) format("woff2"),url(/assets/montserrat-cyrillic-500-normal-CyGtXmN9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-vietnamese-500-normal-NT-t8RG1.woff2) format("woff2"),url(/assets/montserrat-vietnamese-500-normal-DpeZlV_K.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-ext-500-normal-BKtbrd6n.woff2) format("woff2"),url(/assets/montserrat-latin-ext-500-normal-DWPqqZgs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-ext-600-normal-BtBW-rpm.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-600-normal-wReYPmz2.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-600-normal-CQEPC0hM.woff2) format("woff2"),url(/assets/montserrat-cyrillic-600-normal-DUglwBrH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-vietnamese-600-normal-DKe6qT_E.woff2) format("woff2"),url(/assets/montserrat-vietnamese-600-normal-SJ-HTWuM.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-ext-600-normal-DSkTqI9L.woff2) format("woff2"),url(/assets/montserrat-latin-ext-600-normal-CSDhkhgS.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-ext-700-normal-MyDreaeu.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-700-normal-D-Mk2xRJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-700-normal-D-Pqjtdp.woff2) format("woff2"),url(/assets/montserrat-cyrillic-700-normal-BvLYcGP1.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-vietnamese-700-normal-C0x1De3p.woff2) format("woff2"),url(/assets/montserrat-vietnamese-700-normal-DnwGT2D9.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-ext-700-normal-BOP2Nhf0.woff2) format("woff2"),url(/assets/montserrat-latin-ext-700-normal-DdDFr05Z.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-cyrillic-ext-800-normal-GOAQXnVZ.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-800-normal-mB3PmEeV.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-cyrillic-800-normal-DDmpGQGC.woff2) format("woff2"),url(/assets/montserrat-cyrillic-800-normal-B_mUCQ9O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-vietnamese-800-normal-BDwqwvSG.woff2) format("woff2"),url(/assets/montserrat-vietnamese-800-normal-Chy8GRiB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-ext-800-normal-BBvmbyWk.woff2) format("woff2"),url(/assets/montserrat-latin-ext-800-normal-Wjq_OapB.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2) format("woff2"),url(/assets/montserrat-latin-800-normal-C3dfDxXV.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Montserrat,system-ui,sans-serif;color:#24343b;background:#f7f8f5;font-synthesis:none;--bg:#f7f8f5;--panel:#fff;--soft:#cbd2c5;--primary:#85a98c;--mid:#537970;--field:#edf1ec;--dark:#2f3e46;--text:#24343b;--muted:#627078;--danger:#a64242}*{box-sizing:border-box}html[data-theme=dark]{color-scheme:dark;--bg:#2f3e46;--panel:#355053;--soft:#606968;--field:#486466;--text:#fff;--muted:#d7dfdc;--danger:#ffc4bd}body{margin:0;background:var(--bg);color:var(--text);min-width:320px}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{height:92px;background:var(--panel);display:flex;align-items:center;padding:12px clamp(16px,4vw,56px);gap:32px;box-shadow:0 1px #0002;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;background:none;color:var(--text);gap:10px}.brand img{width:58px;height:58px}.brand span{display:flex;flex-direction:column;align-items:flex-start;line-height:.9}.brand strong{font-size:34px;color:var(--mid)}.brand small{font-size:18px;font-weight:800}.app-header nav{display:flex;align-self:stretch;margin-left:auto}.app-header nav button{background:transparent;color:var(--text);padding:0 24px;font-weight:700;border-bottom:4px solid transparent}.app-header nav button.active{border-color:var(--primary);color:var(--mid)}.header-actions{display:flex;gap:6px}.icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:inherit;border-radius:50%;padding:7px}.icon:hover{background:#85a98c33}.mobile-menu{display:none}main{flex:1;width:min(1500px,100%);margin:auto;padding:24px clamp(14px,3vw,44px)}footer{min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:12px}.card{background:var(--panel);border-radius:20px;box-shadow:0 12px 35px #13251e13;padding:clamp(20px,4vw,42px)}button:not(.icon,.brand){background:var(--primary);color:#13251e;border-radius:10px;padding:12px 18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}button.secondary{background:var(--soft);color:var(--text)}button.danger{color:var(--danger)}button:disabled{opacity:.45;cursor:not-allowed}.message{position:fixed;top:102px;left:50%;transform:translate(-50%);z-index:50;background:#f4dfa3!important;color:#563e00!important;max-width:min(720px,90vw);box-shadow:0 8px 24px #0003}.auth,.gate-card{max-width:530px;margin:5vh auto;text-align:center}.auth>svg,.gate-card>svg{color:var(--primary)}.auth p,.gate-card p{color:var(--muted);line-height:1.55}.auth form{display:grid;gap:14px;text-align:left;margin-top:22px}.auth form+form{margin-top:10px}.auth label,.editor label,.generator label{display:grid;gap:7px;font-weight:600}.auth input,.editor input,.editor select,.editor textarea,.vault-toolbar input,.vault-toolbar select{width:100%;border:1px solid #71817c;background:var(--field);color:var(--text);border-radius:9px;padding:12px;outline:none}.auth input:focus,.editor input:focus{border:2px solid var(--primary)}.generator{max-width:850px;margin:4vh auto;text-align:center}.password-output{display:block;background:var(--dark);color:#fff;border-radius:14px;margin:25px 0;padding:24px;font-size:clamp(18px,4vw,30px);overflow-wrap:anywhere;min-height:84px}.generator input[type=range]{width:100%;accent-color:var(--primary)}.checks{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:20px}.checks label{display:flex;align-items:center}.checks input{accent-color:var(--primary);width:19px;height:19px}.actions{display:flex;justify-content:center;gap:12px}.vault{position:relative}.vault-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:14px}.search{display:flex;align-items:center;gap:8px;background:var(--panel);border-radius:10px;padding-left:12px;flex:1}.search input{border:0;background:transparent}.vault-toolbar select{max-width:240px}.view-buttons{display:flex;background:var(--panel);border-radius:10px}.view-buttons button{background:transparent!important;color:var(--text)!important;padding:10px!important}.view-buttons button.active{background:var(--primary)!important}.tabs{display:grid;grid-template-columns:repeat(3,1fr);background:var(--soft)}.tabs button{border-radius:0!important;background:transparent!important;color:var(--text)!important}.tabs button.active{background:var(--panel)!important}.offline-banner{background:#f4dfa3;color:#563e00;padding:10px;text-align:center;font-weight:700}.vault-body{display:grid;grid-template-columns:minmax(0,2fr) minmax(310px,1fr);gap:20px;margin-top:20px}.item-collection{min-height:50vh}.item-collection.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:18px;align-content:start}.item-collection article{position:relative;border:2px solid transparent;border-radius:15px;cursor:pointer}.item-collection article.selected{border-color:var(--dark)}.item-collection.grid article{display:flex;flex-direction:column;align-items:center;padding:12px;gap:9px;min-height:150px;text-align:center}.vault-icon{width:92px;height:92px;border-radius:19px;display:inline-flex;align-items:center;justify-content:center;color:#18241f;font-weight:800;font-size:25px;border:1px solid #2f3e4644;flex:none}.item-copy{display:flex;flex-direction:column;min-width:0;gap:4px}.item-copy strong,.item-copy small{overflow:hidden;text-overflow:ellipsis}.item-collection.grid .star{position:absolute;right:2px;top:2px;color:#c49a3a}.item-collection.list{display:flex;flex-direction:column;gap:9px}.item-collection.list article{display:flex;align-items:center;gap:14px;background:var(--panel);padding:10px}.item-collection.list .vault-icon{width:58px;height:58px;font-size:18px}.item-collection.list .item-copy{flex:1}.star{color:#c49a3a}.preview{background:var(--mid);color:#fff;border-radius:18px;padding:22px;align-self:start;position:sticky;top:118px;min-height:330px}.preview-heading{display:flex;gap:17px;align-items:center;margin-bottom:20px}.preview-heading .vault-icon{width:72px;height:72px}.preview h2{margin:3px 0}.preview-field{display:grid!important;grid-template-columns:1fr auto;justify-content:stretch!important;text-align:left;width:100%;background:var(--dark)!important;color:#fff!important;margin:8px 0}.preview-field span{grid-column:1/-1;font-size:12px;opacity:.75}.preview-field strong{overflow:hidden;text-overflow:ellipsis}.preview-password{display:flex;align-items:center}.preview-password .preview-field{flex:1}.preview-actions{display:flex;gap:9px;margin-top:20px}.preview-actions button{flex:1}.floating{position:fixed;right:35px;bottom:40px;width:65px;height:65px;border-radius:50%!important;box-shadow:0 8px 25px #0004}.modal-backdrop{position:fixed;inset:0;background:#17252bd9;display:flex;align-items:center;justify-content:center;padding:18px;z-index:100;overflow:auto}.editor{background:var(--panel);color:var(--text);width:min(900px,100%);max-height:94vh;overflow:auto;border-radius:20px;padding:24px;display:grid;gap:14px}.editor header,.custom-title{display:flex;align-items:center;justify-content:space-between}.editor textarea{min-height:100px;resize:vertical}.input-action{display:flex;align-items:center}.input-action input{flex:1}.custom-field{display:grid;grid-template-columns:1.1fr .7fr 2fr repeat(4,40px);gap:7px;align-items:center;border-top:1px solid #71817c55;padding-top:10px}.editor-actions{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:-24px;background:var(--panel);padding:15px 0}.type-picker{width:min(850px,100%);max-height:90vh;overflow:auto}.type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:18px 0}.type-grid button{background:var(--field)!important;color:var(--text)!important;display:flex!important;flex-direction:column;height:125px}.type-grid span{width:55px;height:55px;border-radius:12px;display:flex;align-items:center;justify-content:center}@media (max-width:800px){.app-header{height:72px;padding:8px 12px}.brand img{width:45px;height:45px}.brand strong{font-size:25px}.brand small{font-size:13px}.app-header nav{position:fixed;bottom:0;left:0;right:0;height:58px;background:var(--panel);z-index:30;margin:0}.app-header nav button{flex:1;padding:0 8px}.header-actions .mobile-menu{display:none}.vault-body{grid-template-columns:1fr}.preview{position:static}.vault-toolbar{flex-wrap:wrap}.search{flex-basis:100%}.vault-toolbar select{flex:1}.item-collection.grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.floating{bottom:75px;right:18px}.custom-field{grid-template-columns:1fr 1fr}.custom-field input[aria-label]:nth-of-type(2){grid-column:1/-1}.custom-field .icon{width:35px;height:35px}main{padding-bottom:75px}.tabs button{padding:11px 4px!important;font-size:12px}.preview-actions{flex-direction:column}}@media (min-width:801px) and (max-width:1100px){.item-collection.grid{grid-template-columns:repeat(3,1fr)}.vault-body{grid-template-columns:1.5fr 1fr}}.mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0;background:var(--soft)}.mode-tabs button{border-radius:0!important;background:transparent!important;color:var(--text)!important}.mode-tabs button.active{background:var(--primary)!important}
