@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-cyrillic-ext-400-normal-CuPM9foi.woff2) format("woff2"),url(./nunito-cyrillic-ext-400-normal-xaE7D4Sw.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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-cyrillic-400-normal-xAOo5cBP.woff2) format("woff2"),url(./nunito-cyrillic-400-normal-D1j0u8EH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(./nunito-vietnamese-400-normal-DtOtW02z.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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(./nunito-latin-ext-400-normal-CjMJVfGn.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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(./nunito-latin-400-normal-DKg4f3fz.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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2) format("woff2"),url(./nunito-cyrillic-ext-600-normal-vnfu4DTE.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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-cyrillic-600-normal-DJGQ2h05.woff2) format("woff2"),url(./nunito-cyrillic-600-normal-BUjmtIuu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-vietnamese-600-normal-BY8O6Cug.woff2) format("woff2"),url(./nunito-vietnamese-600-normal-DO1RqFw5.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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-latin-ext-600-normal-Dd9Zuxh1.woff2) format("woff2"),url(./nunito-latin-ext-600-normal-BKUpuB78.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:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(./nunito-latin-600-normal-Cd0eNu1l.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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2) format("woff2"),url(./nunito-cyrillic-ext-700-normal-DfoqN4Gs.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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-cyrillic-700-normal-DP36NgGt.woff2) format("woff2"),url(./nunito-cyrillic-700-normal-DfHRUDv-.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2"),url(./nunito-vietnamese-700-normal-C9SQsXvj.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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(./nunito-latin-ext-700-normal-D4woHhbd.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:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.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}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;justify-content:center;align-items:center;z-index:10000}.auth-modal{background:var(--bg-card);border-radius:12px 8px 14px 10px/10px 12px 8px 9px;padding:32px;width:90%;max-width:400px;box-shadow:4px 4px 0 0 var(--border-medium),8px 8px 0 0 var(--border-soft),12px 12px 0 0 var(--border-accent);position:relative;border:3px solid var(--border-accent);transform:rotate(-.3deg)}.auth-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.auth-modal-header h2{margin:0;color:var(--text-primary);font-size:24px;display:flex;align-items:center;gap:.5rem;font-family:inherit}.auth-modal-icon{margin-right:.5rem;vertical-align:middle;flex-shrink:0}.close-btn{background:var(--bg-card);border:2px solid var(--border-accent);font-size:32px;color:var(--text-primary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px 8px 6px 10px/6px 4px 8px 5px;transition:transform .1s ease,box-shadow .1s ease;box-shadow:1px 1px 0 0 var(--border-medium);transform:rotate(.2deg)}.close-btn:hover{background:var(--accent-coral);color:var(--bg-card);transform:rotate(-.3deg) translateY(-1px);box-shadow:2px 2px 0 0 var(--border-medium)}.auth-modal-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--text-primary);font-size:14px;font-family:inherit}.form-group input{padding:12px;border:3px solid var(--border-accent);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;font-size:16px;transition:transform .1s ease,box-shadow .1s ease;background:var(--bg-paper);color:var(--text-primary);font-family:inherit;box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(-.1deg)}.form-group input:focus{outline:none;border-color:var(--accent-blue);background:var(--accent-yellow);box-shadow:3px 3px 0 0 var(--border-medium);transform:rotate(.1deg)}.form-hint{font-size:12px;color:var(--text-light);margin-top:-4px;font-family:inherit}.auth-error{background:var(--accent-coral);border:3px solid var(--border-accent);color:var(--bg-card);padding:12px;border-radius:6px 10px 8px 12px/8px 6px 10px 7px;font-size:14px;box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(-.2deg);font-family:inherit}.auth-submit-btn{padding:14px;background:var(--accent-blue);color:var(--bg-card);border:3px solid var(--border-accent);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;margin-top:8px;font-family:inherit;box-shadow:3px 3px 0 0 var(--border-medium);transform:rotate(-.3deg)}.auth-submit-btn:hover:not(:disabled){background:var(--accent-purple);color:var(--bg-card);transform:rotate(.3deg) translateY(-1px);box-shadow:4px 4px 0 0 var(--border-medium)}.auth-submit-btn:disabled{background:var(--bg-elevated);color:var(--text-light);cursor:not-allowed;transform:rotate(0);box-shadow:1px 1px 0 0 var(--border-medium)}.auth-modal-footer{margin-top:24px;text-align:center;color:var(--text-light);font-size:14px;font-family:inherit}.link-btn{background:none;border:none;color:var(--accent-blue);cursor:pointer;text-decoration:underline;font-size:14px;padding:0;margin-left:4px;font-family:inherit;transition:color .1s ease}.auth-terms-note{font-size:.8rem;color:var(--text-light);text-align:center;margin:0;line-height:1.5}.auth-terms-link{color:var(--accent-blue);text-decoration:underline;transition:color .1s ease}.auth-terms-link:hover,.link-btn:hover{color:var(--accent-purple)}.auth-modal--with-clip{max-width:min(440px,96vw)}.auth-success-body{display:flex;flex-direction:column;align-items:center;gap:16px}.auth-success-video{width:100%;max-height:240px;display:block;object-fit:contain;border-radius:8px 12px 10px 14px/10px 8px 12px 9px;background:var(--bg-paper);border:2px solid var(--border-medium);box-shadow:2px 2px 0 0 var(--border-soft)}.auth-success-hint{margin:0;font-size:14px;color:var(--text-light);text-align:center;font-family:inherit}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;justify-content:center;align-items:center;z-index:10000}.confirm-dialog{background:var(--bg-card);border-radius:12px 8px 14px 10px/10px 12px 8px 9px;padding:32px;width:90%;max-width:450px;box-shadow:4px 4px 0 0 var(--border-medium),8px 8px 0 0 var(--border-soft),12px 12px 0 0 var(--border-accent);position:relative;border:3px solid var(--border-accent);transform:rotate(-.3deg);animation:dialogAppear .2s ease-out}@keyframes dialogAppear{0%{opacity:0;transform:rotate(-.3deg) scale(.95) translateY(-10px)}to{opacity:1;transform:rotate(-.3deg) scale(1) translateY(0)}}.confirm-dialog-header{margin-bottom:20px}.confirm-dialog-header h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:600;font-family:inherit;transform:rotate(.2deg)}.confirm-dialog-body{margin-bottom:24px}.confirm-dialog-body p{margin:0;color:var(--text-primary);font-size:16px;line-height:1.5;font-family:inherit}.confirm-dialog-footer{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog-btn{padding:10px 20px;border:3px solid var(--border-accent);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;color:var(--bg-card);font-size:.95em;font-weight:600;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,opacity .1s ease;font-family:inherit;box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(.3deg);min-width:100px}.confirm-dialog-btn-cancel{background:var(--bg-card);color:var(--text-primary);transform:rotate(-.3deg)}.confirm-dialog-btn-cancel:hover{background:var(--accent-blue);color:var(--bg-card);transform:rotate(.2deg) translateY(-1px);box-shadow:3px 3px 0 0 var(--border-medium);opacity:.9}.confirm-dialog-btn-confirm{color:var(--bg-card)}.confirm-dialog-btn-confirm:hover{transform:rotate(-.2deg) translateY(-1px);box-shadow:3px 3px 0 0 var(--border-medium);opacity:.9}.confirm-dialog-btn:active{transform:rotate(0) translateY(0);box-shadow:2px 2px 0 0 var(--border-medium)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.friends-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease-out}.friends-modal{background:var(--bg-card);border-radius:12px 8px 14px 10px/10px 12px 8px 9px;padding:32px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:4px 4px 0 0 var(--border-medium),8px 8px 0 0 var(--border-soft),12px 12px 0 0 var(--border-accent);animation:slideUp .3s ease-out;position:relative;border:3px solid var(--border-accent);transform:rotate(-.3deg)}.friends-modal-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.friends-modal-title{margin:0;display:flex;align-items:center;gap:.5rem;font-size:24px;color:var(--text-primary);font-family:inherit}.friends-modal-header-icon{flex-shrink:0}.close-modal-btn{background:var(--bg-card);border:2px solid var(--border-accent);font-size:28px;cursor:pointer;padding:4px 8px;color:var(--text-primary);line-height:1;display:flex;align-items:center;justify-content:center;border-radius:4px 8px 6px 10px/6px 4px 8px 5px;transition:transform .1s ease,box-shadow .1s ease;box-shadow:1px 1px 0 0 var(--border-medium);transform:rotate(.2deg)}.close-modal-btn:hover{color:var(--bg-card);background:var(--accent-coral);transform:rotate(-.3deg) translateY(-1px);box-shadow:2px 2px 0 0 var(--border-medium)}.friends-message{padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px;border:3px solid var(--border-accent);box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(-.2deg)}.friends-message-success{background:var(--accent-green);color:var(--bg-card);border-color:var(--border-accent)}.friends-message-error{background:var(--accent-coral);color:var(--bg-card);border-color:var(--border-accent)}.friends-modal-tabs{display:flex;gap:8px;margin-bottom:24px;padding-bottom:8px;position:relative}.friends-modal-tabs:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--border-accent);z-index:0}.friends-tab{flex:1;padding:12px 16px;background:var(--bg-paper);border:3px solid var(--border-accent);cursor:pointer;font-size:14px;font-weight:600;color:var(--text-primary);transition:transform .1s ease,box-shadow .1s ease;border-radius:6px 10px 8px 12px/8px 6px 10px 7px;font-family:inherit;transform:rotate(-.3deg);box-shadow:2px 2px 0 0 var(--border-medium);position:relative;z-index:1}.friends-tab:nth-child(2){transform:rotate(.2deg)}.friends-tab:nth-child(3){transform:rotate(-.4deg)}.friends-tab:hover{color:var(--text-primary);background:var(--accent-yellow);transform:rotate(.3deg) translateY(-1px);box-shadow:3px 3px 0 0 var(--border-medium);z-index:2}.friends-tab.active{color:var(--text-primary);background:var(--accent-yellow);border-color:var(--border-accent);transform:rotate(-.5deg);box-shadow:3px 3px 0 0 var(--border-medium);z-index:2}.friends-tab.active:after{content:"";position:absolute;bottom:-11px;left:-3px;right:-3px;height:3px;background:var(--accent-yellow);z-index:3}.friends-modal-content{min-height:200px}.friends-loading{text-align:center;padding:40px;color:var(--text-muted);font-size:14px}.friends-empty{text-align:center;padding:40px;color:var(--text-light);font-size:14px}.friends-list{display:flex;flex-direction:column;gap:8px}.friends-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bg-paper);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;border:3px solid var(--border-accent);box-shadow:2px 2px 0 0 var(--border-medium);transition:transform .1s ease,box-shadow .1s ease;transform:rotate(-.2deg)}.friends-item:hover{background:var(--accent-yellow);transform:rotate(.3deg) translateY(-1px);box-shadow:3px 3px 0 0 var(--border-medium)}.friends-item:nth-child(2n){transform:rotate(.2deg)}.friends-item:nth-child(2n):hover{transform:rotate(-.3deg) translateY(-1px)}.friends-item-info{flex:1}.friends-item-username{font-weight:500;color:var(--text-primary);font-size:14px}.friends-item-action-btn{background:var(--bg-card);border:3px solid var(--border-accent);color:var(--accent-coral);cursor:pointer;padding:8px 10px;border-radius:4px 8px 6px 10px/6px 4px 8px 5px;display:flex;align-items:center;transition:transform .1s ease,box-shadow .1s ease;box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(.2deg)}.friends-item-action-btn:hover{background:var(--accent-coral);color:var(--bg-card);transform:rotate(-.3deg) translateY(-1px);box-shadow:3px 3px 0 0 var(--border-medium)}.friends-requests{display:flex;flex-direction:column;gap:8px}.friends-request-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bg-paper);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;border:3px solid var(--border-accent);box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(-.2deg)}.friends-request-item:nth-child(2n){transform:rotate(.2deg)}.friends-request-info{flex:1;display:flex;flex-direction:column;gap:4px}.friends-request-username{font-weight:500;color:var(--text-primary);font-size:14px}.friends-request-hint{font-size:12px;color:var(--text-muted)}.friends-request-actions{display:flex;gap:8px}.friends-request-accept-btn{padding:10px 18px;background:var(--accent-green);color:var(--bg-card);border:3px solid var(--border-accent);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;cursor:pointer;font-size:13px;font-weight:600;transition:transform .1s ease,box-shadow .1s ease;box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(-.3deg);font-family:inherit}.friends-request-accept-btn:hover{background:var(--accent-green);transform:rotate(.5deg) translateY(-1px);box-shadow:3px 3px 0 0 var(--border-medium)}.friends-request-reject-btn{padding:10px 18px;background:var(--accent-coral);color:var(--bg-card);border:3px solid var(--border-accent);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;cursor:pointer;font-size:13px;font-weight:600;transition:transform .1s ease,box-shadow .1s ease;box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(.3deg);font-family:inherit}.friends-request-reject-btn:hover{background:var(--accent-coral);transform:rotate(-.5deg) translateY(-1px);box-shadow:3px 3px 0 0 var(--border-medium)}.friends-add{display:flex;flex-direction:column;gap:16px}.friends-search-input{padding:12px;border:3px solid var(--border-accent);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;font-size:14px;transition:transform .1s ease,box-shadow .1s ease;background:var(--bg-paper);color:var(--text-primary);box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(-.2deg);font-family:inherit}.friends-search-input:focus{outline:none;border-color:var(--border-accent);background:var(--accent-yellow);transform:rotate(.2deg);box-shadow:3px 3px 0 0 var(--border-medium)}.friends-search-results{display:flex;flex-direction:column;gap:8px}.friends-search-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bg-paper);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;border:3px solid var(--border-accent);box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(-.2deg)}.friends-search-item:nth-child(2n){transform:rotate(.2deg)}.friends-search-info{flex:1}.friends-search-username{font-weight:500;color:var(--text-primary);font-size:14px}.friends-search-status{font-size:12px;color:var(--text-muted);font-style:italic}.friends-search-add-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--accent-blue);color:var(--bg-card);border:3px solid var(--border-accent);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;cursor:pointer;font-size:13px;font-weight:600;transition:transform .1s ease,box-shadow .1s ease;box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(-.3deg);font-family:inherit}.friends-search-add-btn:hover{background:var(--accent-blue);transform:rotate(.5deg) translateY(-1px);box-shadow:3px 3px 0 0 var(--border-medium)}.billing-interval-picker{display:grid;gap:.75rem;margin:0 0 1.25rem}.billing-interval-option{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;border:2px solid var(--border-soft, #ddd);border-radius:10px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.billing-interval-option.is-selected{border-color:var(--accent-blue, #4a90d9);background:#4a90d914}.billing-interval-option input{margin-top:.2rem;flex-shrink:0}.billing-interval-content{display:flex;flex-direction:column;gap:.15rem;min-width:0}.billing-interval-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.billing-interval-title{font-weight:700;font-size:.95rem}.billing-interval-price{font-size:1.05rem;font-weight:700}.billing-interval-sub{font-size:.82rem;color:var(--text-light, #666)}.billing-interval-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;background:var(--accent-coral, #e85d4c);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.02em}.billing-interval-option:has(input:disabled){opacity:.65;cursor:wait}.campaign-banner{margin:0 0 1rem;padding:.75rem 1rem;border-radius:10px;background:linear-gradient(135deg,#5b3bb82e,#ff6b9d24);border:1px solid rgba(91,59,184,.35)}.campaign-banner-title{margin:0;font-weight:700;color:#3d2a7a}.campaign-banner-sub{margin:.25rem 0 0;font-size:.85rem;color:#5b3bb8}.billing-interval-original-price{display:block;font-size:.8rem;color:#00000073;text-decoration:line-through}.billing-interval-price.is-discounted{color:#5b3bb8;font-weight:700}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:10001;padding:1rem}.modal-content{background:var(--bg-card);border-radius:12px 8px 14px 10px/10px 12px 8px 9px;padding:2rem;width:90%;max-width:500px;max-height:min(90vh,900px);overflow-y:auto;box-shadow:3px 3px 0 0 var(--border-medium),6px 6px 0 0 var(--border-soft),0 20px 60px #0000004d;border:3px solid var(--border-accent)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0;color:var(--text-primary);font-size:1.5rem;display:flex;align-items:center;gap:.5rem}.modal-close{background:var(--bg-elevated);border:2px solid var(--border-accent);font-size:2rem;color:var(--text-muted);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px 8px 6px 10px/6px 4px 8px 5px;transition:transform .1s ease,box-shadow .1s ease,background .2s;box-shadow:1px 1px 0 0 var(--border-medium);transform:rotate(-.2deg)}.modal-close:hover{background:var(--accent-coral);color:var(--bg-card);transform:rotate(.3deg);box-shadow:2px 2px 0 0 var(--border-medium)}.modal-body{margin-bottom:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem}.settings-modal{max-width:560px;width:90%}.settings-section{margin-bottom:24px}.settings-section h3{margin:0 0 8px;font-size:18px;color:var(--text-primary)}.settings-description{margin:0 0 20px;color:var(--text-muted);font-size:14px;line-height:1.5}.settings-field{margin-bottom:20px}.settings-field label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary);font-size:14px}.settings-input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--bg-input);color:var(--text-primary);transition:border-color .2s}.settings-input:focus{outline:none;border-color:var(--accent-blue)}.settings-hint{margin:6px 0 0;font-size:12px;color:var(--text-muted);line-height:1.4}.settings-error{margin:12px 0;padding:10px 12px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:14px}.settings-success{margin:12px 0;padding:10px 12px;background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:6px;color:#4caf50;font-size:14px}.settings-info{margin-top:20px;padding:16px;background:var(--bg-card);border-radius:6px;border:1px solid var(--border-color)}.settings-info p{margin:8px 0;font-size:14px;color:var(--text-primary)}.settings-info p:first-child{margin-top:0}.settings-info p:last-child{margin-bottom:0}.settings-info strong{color:var(--text-primary);font-weight:600}.settings-2fa-section{border-top:1px solid var(--border-color);padding-top:24px}.settings-2fa-qr{display:flex;justify-content:center;padding:16px;background:#fff;border-radius:8px;width:fit-content;margin:16px auto}.settings-2fa-secret{display:inline-block;padding:4px 8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;font-family:monospace;font-size:12px;word-break:break-all;-webkit-user-select:all;user-select:all}.settings-2fa-code-input{letter-spacing:.3em;font-size:1.3rem!important;text-align:center;max-width:200px}.settings-2fa-confirm{margin-top:12px}.settings-2fa-confirm-buttons{display:flex;gap:8px;margin-top:12px}.settings-btn-sm{padding:8px 16px;font-size:13px;border-radius:6px;cursor:pointer;border:none;font-weight:500}.settings-btn-danger{background:#ff6b6b26;color:#ff6b6b;border:1px solid rgba(255,107,107,.3);transition:background .2s}.settings-btn-danger:hover:not(:disabled){background:#ff6b6b40}.settings-btn-danger:disabled{opacity:.5;cursor:not-allowed}.settings-plan-section{padding-top:4px;border-top:2px solid var(--border-soft)}.settings-plan-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.settings-plan-header h3{margin:0}.settings-plan-badge{flex-shrink:0;padding:.2rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:2px solid var(--border-accent);box-shadow:1px 1px 0 var(--border-medium)}.settings-plan-badge.is-free{background:var(--bg-paper);color:var(--text-muted)}.settings-plan-badge.is-pro{background:var(--accent-purple);color:var(--bg-card)}.settings-plan-tagline{margin-bottom:1rem}.settings-plan-compare-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem}.settings-plan-compare{width:100%;border-collapse:collapse;font-size:.84rem;border:2px solid var(--border-accent);border-radius:8px;overflow:hidden;box-shadow:2px 2px 0 var(--border-medium)}.settings-plan-compare th,.settings-plan-compare td{padding:.55rem .65rem;text-align:center;border-bottom:1px solid var(--border-soft);vertical-align:middle}.settings-plan-compare thead th{background:var(--bg-paper);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.settings-plan-compare tbody th{text-align:left;font-weight:600;color:var(--text-primary);background:var(--bg-card)}.settings-plan-compare tbody tr:last-child th,.settings-plan-compare tbody tr:last-child td{border-bottom:none}.settings-plan-pro-col{background:#845ef71a;color:var(--text-primary);font-weight:600}.settings-plan-compare .is-current-plan{box-shadow:inset 0 0 0 2px var(--accent-purple);background:#845ef70f}.settings-plan-usage{margin-bottom:1rem;padding:.85rem 1rem;background:var(--bg-paper);border:2px solid var(--border-soft);border-radius:8px}.settings-plan-usage-title{margin:0 0 .65rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.settings-plan-usage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.settings-plan-usage-item{margin:0}.settings-plan-usage-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.25rem;font-size:.82rem}.settings-plan-usage-label{color:var(--text-primary);font-weight:500}.settings-plan-usage-count{font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.settings-plan-usage-count.at-limit{color:var(--accent-coral)}.settings-plan-usage-meter{height:6px;border-radius:999px;background:#00000014;overflow:hidden}.settings-plan-usage-fill{height:100%;border-radius:999px;background:var(--accent-blue);transition:width .2s ease}.settings-plan-usage-fill.at-limit{background:var(--accent-coral)}.settings-plan-usage-hint{margin:.65rem 0 0}.settings-plan-actions{display:flex;justify-content:flex-end}.settings-plan-upgrade-btn{width:100%;justify-content:center;font-size:.95rem;padding:.65rem 1rem}.layout{--layout-navbar-offset: 72px;min-height:0;flex:1;width:100%;display:flex;flex-direction:column;margin:0;padding:0}.navbar{background:linear-gradient(135deg,#845ef7,#f06595,#4dabf7);background-size:200% 200%;animation:gradientShift 30s ease-in-out infinite;border-bottom:3px solid var(--border-accent);padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:max(2rem,env(safe-area-inset-left,0));padding-right:max(2rem,env(safe-area-inset-right,0));display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;box-sizing:border-box;box-shadow:0 3px 0 0 var(--border-medium),0 6px 20px #845ef74d}.navbar-brand{font-size:1.5rem;font-weight:700}.navbar-brand a{color:var(--bg-card);text-decoration:none;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.navbar-brand-link{gap:0}.nav-brand-app-icon{width:56px;height:56px;object-fit:contain;flex-shrink:0;border-radius:6px}.navbar-brand a:hover{transform:scale(1.1) rotate(2deg);text-shadow:2px 2px 8px rgba(255,255,255,.5);filter:drop-shadow(0 0 8px rgba(255,255,255,.3))}.navbar-links{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-left:auto;justify-content:flex-end}.navbar-links a,.navbar-links .nav-link-btn{color:var(--bg-card);text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:6px 10px 8px 12px/8px 6px 10px 7px;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;background:#ffffff40;border:2px solid var(--bg-card);cursor:pointer;font-family:inherit;font-size:inherit;box-shadow:1px 1px #0003;transform:rotate(-.2deg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.navbar-links a:before,.navbar-links .nav-link-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.navbar-links a:hover:before,.navbar-links .nav-link-btn:hover:before{left:100%}.nav-link-btn{color:var(--text-primary)}.nav-icon{margin-right:.5rem;vertical-align:middle;flex-shrink:0}.nav-link-with-badge{position:relative}.notification-badge{position:absolute;top:-4px;right:4px;background:var(--accent-coral);color:#fff;border-radius:50%;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;padding:0 4px;border:2px solid var(--bg-card);box-shadow:1px 1px #0000004d;transform:rotate(-5deg);line-height:1}.navbar-links a:hover,.navbar-links .nav-link-btn:hover{color:var(--bg-card);background:#ffffff80;transform:rotate(.5deg) translateY(-2px) scale(1.05);box-shadow:3px 3px #0000004d,0 4px 12px #fff3;animation:bounce .3s ease}@keyframes bounce{0%,to{transform:rotate(.5deg) translateY(-2px) scale(1.05)}50%{transform:rotate(-.2deg) translateY(-4px) scale(1.08)}}.navbar-links a.active{color:var(--text-primary)!important;background:linear-gradient(135deg,#ffd43b,#ff922b);border-bottom:3px solid var(--bg-card);transform:rotate(.5deg);box-shadow:2px 2px #0000004d,0 4px 12px #ffd43b66;animation:activePulse 2s ease-in-out infinite}@keyframes activePulse{0%,to{box-shadow:2px 2px #0000004d,0 4px 12px #ffd43b66}50%{box-shadow:2px 2px #0000004d,0 6px 16px #ffd43b99}}.navbar-user{display:flex;align-items:center;gap:1rem;margin-left:1rem;padding-left:1rem;border-left:2px solid var(--bg-card)}.user-name{color:#fff!important;font-weight:600;display:flex;align-items:center;gap:.5rem;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.user-name *{color:#fff!important}.navbar-pro-badge{display:inline-block;margin-left:.35rem;padding:.1rem .45rem;border-radius:999px;background:#fffffff2;color:#5b3bb8!important;font-size:.68rem;font-weight:800;letter-spacing:.02em;text-shadow:none}.btn-login,.btn-signup,.btn-logout,.btn-settings{padding:.5rem 1rem;border:3px solid var(--bg-card);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;cursor:pointer;font-weight:500;font-size:.95rem;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;font-family:inherit;box-shadow:2px 2px #0003;transform:rotate(-.3deg);position:relative;overflow:hidden}.btn-login:hover,.btn-signup:hover,.btn-logout:hover,.btn-settings:hover{transform:rotate(.3deg) translateY(-2px) scale(1.05);box-shadow:3px 3px #0000004d,0 4px 12px #fff3}.btn-login{background:#fff3;color:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-login:hover{background:#fff6;color:var(--bg-card);transform:rotate(.3deg) translateY(-1px);box-shadow:3px 3px #0000004d}.btn-signup{background:var(--accent-yellow);color:var(--text-primary)!important}.btn-signup:hover{background:var(--accent-orange);color:var(--text-primary)!important;transform:rotate(.5deg) translateY(-1px);box-shadow:3px 3px #0000004d}.btn-settings{background:#fff3;color:var(--bg-card);font-size:.85rem;padding:.4rem .8rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-settings:hover{background:#fff6;color:var(--bg-card);transform:rotate(.3deg) translateY(-1px);box-shadow:3px 3px #0000004d}.btn-logout{background:#fff3;color:var(--bg-card);font-size:.85rem;padding:.4rem .8rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-logout:hover{background:#ff6b6bcc;color:var(--bg-card);transform:rotate(-.5deg) translateY(-1px);box-shadow:3px 3px #0000004d}.layout-navbar-spacer{flex-shrink:0;width:100%;height:calc(var(--layout-navbar-offset) + env(safe-area-inset-top,0px));pointer-events:none}.billing-return-notice{margin:0;padding:.75rem 1.25rem;text-align:center;font-weight:600;background:#e6f4ea;color:#1e6b3a;border-bottom:2px solid #2e9b52}.billing-return-notice:empty{display:none}.main-content{padding-top:0;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0);flex:1;width:100%;min-width:0;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.layout:not(.editor-mode){height:100vh;height:100dvh;min-height:0;overflow:hidden}.layout.editor-mode{height:100vh;height:100dvh;min-height:0}.layout.editor-mode .navbar,.layout.editor-mode .layout-navbar-spacer{display:none}@media (hover: hover) and (pointer: fine){.layout.editor-mode .navbar{display:flex}.layout.editor-mode .layout-navbar-spacer{display:block}}.main-content.editor-mode{padding-top:0;min-height:0}.app-footer{padding:1rem 2rem;text-align:center;border-top:2px solid var(--border-soft);background:var(--bg-card)}.footer-link{color:var(--text-light);text-decoration:none;font-size:.8rem;transition:color .2s}.footer-link:hover{color:var(--accent-blue);text-decoration:underline}@media (max-width: 768px){.navbar{padding:1rem;flex-direction:column;gap:1rem}.navbar-brand{display:none}.navbar-links{width:100%;justify-content:center;gap:.5rem}.navbar-links a{padding:.4rem .8rem;font-size:.9rem}.navbar-user{margin-left:0;padding-left:0;border-left:none;border-top:1px solid rgba(255,255,255,.2);padding-top:1rem;width:100%;justify-content:center}.layout{--layout-navbar-offset: 200px}}@media (min-width: 769px) and (max-width: 1366px){.navbar{flex-wrap:nowrap;gap:.5rem;padding-left:max(.75rem,env(safe-area-inset-left,0px));padding-right:max(.75rem,env(safe-area-inset-right,0px))}.nav-brand-app-icon{width:44px;height:44px}.navbar-links{flex:1;min-width:0;flex-wrap:nowrap;gap:.35rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;align-items:center}.navbar-links a,.navbar-links .nav-link-btn{padding:.35rem .55rem;font-size:.8rem;flex-shrink:0;gap:.3rem}.navbar-links .nav-icon{margin-right:.25rem}.navbar-user{flex-shrink:0;margin-left:.35rem;padding-left:.5rem;gap:.35rem}.user-name{max-width:min(7rem,22vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-login,.btn-signup,.btn-logout,.btn-settings{padding:.35rem .55rem;font-size:.8rem;flex-shrink:0}.layout{--layout-navbar-offset: 88px}}.update-available-banner{position:fixed;top:0;left:0;right:0;z-index:10001;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;background:linear-gradient(135deg,#1e3a5f,#2d5a87);border-bottom:2px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #00000040}.update-available-banner-inner{max-width:960px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.update-available-banner-text{color:#fff;font-size:.9rem;line-height:1.4;flex:1 1 220px}.update-available-banner-actions{display:flex;flex-shrink:0;gap:8px}.update-available-banner-btn{border-radius:8px;padding:.45rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;border:2px solid transparent}.update-available-banner-btn.primary{background:#fff;color:#1e3a5f;border-color:#fff}.update-available-banner-btn.primary:hover{filter:brightness(.95)}.update-available-banner-btn.secondary{background:transparent;color:#fff;border-color:#ffffff8c}.update-available-banner-btn.secondary:hover{background:#ffffff1f}.rating-stars{display:flex;flex-direction:column;gap:.3rem}.rating-main-row{display:flex;align-items:center;gap:.75rem}.stars-container{display:flex;gap:.25rem;align-items:center}.stars-display-only{pointer-events:none}.rating-stars .star{background:none;border:none;padding:0;color:#666;transition:color .2s ease;display:flex;align-items:center;justify-content:center;cursor:default}.rating-stars .star.filled{color:gold}.rating-stars-small .star svg{width:16px;height:16px}.rating-stars-medium .star svg{width:20px;height:20px}.rating-stars-large .star svg{width:24px;height:24px}.rating-info{display:flex;align-items:center;gap:.25rem;font-size:.9rem;color:#ffffffe6}.rating-value{font-weight:600}.rating-count{font-size:.85rem;opacity:.7}.rating-footer,.rating-control-wrapper{display:flex;align-items:center}.rate-link{font-size:.85rem;color:var(--text-primary);background:var(--accent-yellow);border:2px solid var(--border-accent);border-radius:6px;padding:.35rem .7rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.3rem;font-weight:600;white-space:nowrap;box-shadow:2px 2px 0 0 var(--border-medium)}.rate-link:hover{background:var(--accent-orange);transform:translateY(-1px);box-shadow:3px 3px 0 0 var(--border-medium)}.rate-link:active{transform:translateY(0);box-shadow:1px 1px 0 0 var(--border-medium)}.rate-link .your-rating-number{font-weight:700;color:var(--text-primary)}.rating-control-popup-wrapper{margin-top:.5rem;display:flex;justify-content:flex-start}.rating-control-popup{display:flex;align-items:center;gap:.5rem;background:#000000d9;padding:.5rem .75rem;border-radius:8px;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(255,255,255,.1)}.rating-control-stars{display:flex;gap:.2rem;align-items:center}.rating-star-btn{background:none;border:none;padding:0;cursor:pointer;color:#666;transition:all .15s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.rating-star-btn svg{width:20px;height:20px}.rating-star-btn:hover,.rating-star-btn.hovered{color:gold;transform:scale(1.1)}.rating-star-btn.selected{color:gold}.rating-control-stars .rating-star-btn.selected~.rating-star-btn:not(.hovered){color:#666}.rating-close{font-size:1.2rem;width:20px;height:20px;border:none;background:transparent;color:#ffffff80;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;line-height:1;margin-left:.25rem;transition:color .2s ease}.rating-close:hover{color:#ffffffe6}.login-to-rate{font-size:.75rem;color:#ffffff80;font-style:italic}.animation-player-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.animation-player-modal{background:var(--bg-card);border-radius:12px 8px 14px 10px/10px 12px 8px 9px;max-width:85vw;max-height:85vh;width:100%;min-width:500px;display:flex;flex-direction:column;box-shadow:3px 3px 0 0 var(--border-medium),6px 6px 0 0 var(--border-soft),0 20px 60px #0000004d;border:3px solid var(--border-accent);position:relative;transform:rotate(.3deg);margin:2rem}.animation-player-close{position:absolute;top:1.25rem;right:1.25rem;background:var(--accent-yellow);border:2px solid var(--border-accent);border-radius:4px 8px 6px 10px/6px 4px 8px 5px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);transition:transform .1s ease,box-shadow .1s ease,background .2s;z-index:10;box-shadow:1px 1px 0 0 var(--border-medium);transform:rotate(-.2deg)}.animation-player-close:hover{background:var(--accent-coral);color:var(--bg-card);transform:rotate(.3deg) scale(1.05);box-shadow:2px 2px 0 0 var(--border-medium)}.animation-player-header{padding:1.25rem 1.5rem .875rem;border-bottom:3px solid var(--border-accent)}.animation-player-header h2{margin:0;font-size:1.5rem;color:var(--text-primary);font-weight:600;line-height:1.3}.animation-player-creator{margin:.4rem 0 0;font-size:.95rem;color:var(--text-muted);line-height:1.4}.animation-player-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;min-height:400px;max-height:calc(85vh - 250px);background:var(--bg-paper);overflow:hidden}.animation-player-image{max-width:calc(100% - 2rem);max-height:calc(70vh - 4rem);width:auto;height:auto;object-fit:contain;border-radius:8px 12px 10px 14px/10px 8px 12px 9px;box-shadow:2px 2px 0 0 var(--border-medium),4px 4px 0 0 var(--border-soft);border:2px solid var(--border-accent);background:var(--bg-card);padding:1rem}.animation-player-placeholder{color:var(--text-muted);font-size:1.2rem}.animation-player-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.25rem 1.5rem;border-top:3px solid var(--border-accent);background:var(--bg-elevated)}.animation-player-btn{background:var(--bg-card);border:3px solid var(--border-accent);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;padding:.75rem 1.5rem;color:var(--text-primary);font-size:1.2rem;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;min-width:60px;font-family:inherit;box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(-.3deg);display:flex;align-items:center;justify-content:center;line-height:1}.animation-player-btn:hover:not(:disabled){background:var(--accent-blue);color:var(--bg-card);border-color:var(--border-accent);transform:rotate(.3deg) translateY(-2px);box-shadow:3px 3px 0 0 var(--border-medium)}.animation-player-btn:disabled{opacity:.5;cursor:not-allowed}.animation-player-play-btn{font-size:1.5rem;min-width:80px;background:var(--accent-yellow);color:var(--text-primary)}.animation-player-play-btn:hover:not(:disabled){background:var(--accent-orange);color:var(--bg-card)}.animation-player-counter{margin-left:1rem;color:var(--text-muted);font-size:.95rem;font-weight:500;display:flex;align-items:center;min-height:44px}@media (max-width: 768px){.animation-player-modal-overlay{padding:1rem}.animation-player-modal{max-width:95vw;max-height:95vh;min-width:90vw;border-radius:8px 10px 9px 11px/9px 8px 10px 7px;margin:1rem}.animation-player-content{min-height:300px;max-height:calc(95vh - 250px);padding:1.5rem 1rem}.animation-player-image{max-width:calc(100% - 1rem);max-height:calc(95vh - 4rem);padding:.75rem}.animation-player-content{padding:1rem;min-height:300px}.animation-player-header{padding:1rem 1rem .75rem}.animation-player-close{top:1rem;right:1rem;width:32px;height:32px}.animation-player-controls{padding:1rem;flex-wrap:wrap;gap:.75rem}.animation-player-counter{margin-left:0;margin-top:.5rem;min-height:auto;width:100%;justify-content:center}}.home-container{flex:1;min-height:0;width:100%;max-width:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-paper);background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);background-size:100% 100%;animation:none;padding:0;color:var(--text-primary);box-sizing:border-box;margin:0;overflow-x:hidden}.home-container.home-landing{display:flex;flex-direction:column;align-items:center;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:clamp(1rem,3vh,1.75rem) 1rem 3rem;padding:clamp(1rem,3dvh,1.75rem) 1rem 3rem}.home-landing-hero{text-align:center;max-width:560px;width:100%;margin:0 auto .75rem;box-sizing:border-box;max-height:50vh;max-height:50dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.2rem,1.2dvh,.55rem);padding:.15rem 0;flex-shrink:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.home-landing-logo{width:auto;height:auto;max-width:min(120px,26vw);max-height:min(100px,18dvh,18vh);object-fit:contain;margin:0;display:block;flex-shrink:0}.home-landing-title{font-size:clamp(1.05rem,2.8dvh + .6rem,1.75rem);font-weight:700;margin:0;line-height:1.15;color:var(--text-primary);flex-shrink:0}.home-landing-subtitle{font-size:clamp(.8rem,1.6dvh + .45rem,1rem);margin:0;opacity:.9;line-height:1.35;color:var(--text-primary);flex-shrink:1;min-height:0;max-width:36rem}.home-landing-ctas{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:clamp(.15rem,.8dvh,.35rem);flex-shrink:0}.btn-landing{display:inline-flex;align-items:center;gap:.5rem;border-radius:10px 12px 8px 14px/8px 10px 12px 9px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;font-family:inherit;border:3px solid var(--border-accent)}.btn-landing-try{padding:clamp(.55rem,1.5dvh,.85rem) clamp(1rem,3vw,1.5rem);font-size:clamp(.95rem,2dvh + .4rem,1.15rem);font-weight:700;background:var(--accent-yellow);color:var(--text-primary);box-shadow:4px 4px 0 0 var(--border-medium);transform:rotate(-.5deg)}.btn-landing-try:hover{background:var(--accent-orange);transform:rotate(.5deg) translateY(-2px);box-shadow:5px 5px 0 0 var(--border-medium)}.home-landing-preview{width:100%;max-width:1200px;margin-top:.5rem;flex:1 1 auto;min-height:0}.home-landing-preview-title{font-size:1.25rem;font-weight:600;margin:0 0 1rem;text-align:center;color:var(--text-primary)}.home-landing-gallery{margin-bottom:1.5rem}.home-landing-cta-footer{text-align:center;font-size:.95rem;margin:0;opacity:.85;color:var(--text-primary)}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.home-shell{max-width:1400px;margin:0 auto;padding:1rem 2rem 3rem;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;width:100%;box-sizing:border-box}.home-content{padding-top:.75rem;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.home-heading{display:flex;align-items:center;gap:.75rem;margin:.5rem 0 .75rem}.home-heading h1{font-size:1.4rem;margin:0;font-weight:700}.home-heading p{margin:.2rem 0 0;font-size:.95rem;opacity:.85}.home-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem 0 1rem;flex-wrap:wrap}.home-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.hero-btn-icon{flex-shrink:0}.btn-compact{padding:.55rem .9rem;font-size:.85rem}.btn-primary,.btn-secondary{padding:.65rem 1rem;font-size:.9rem;border:none;border-radius:10px;cursor:pointer;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px #00000026}.btn-primary{background:var(--accent-yellow);color:var(--text-primary);border:3px solid var(--border-accent)!important;border-style:solid!important;box-shadow:3px 3px 0 0 var(--border-medium);transform:rotate(-.5deg)}.btn-primary:hover{transform:rotate(.5deg) translateY(-2px) scale(1.02);box-shadow:4px 4px 0 0 var(--border-medium);background:var(--accent-orange);border:3px solid var(--border-accent)!important}.btn-secondary{background:var(--accent-purple);color:var(--bg-card);border:3px solid var(--border-accent)!important;border-style:solid!important;box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(.3deg)}.btn-secondary:hover{background:var(--accent-pink);color:var(--bg-card);transform:rotate(-.3deg) translateY(-2px) scale(1.02);box-shadow:3px 3px 0 0 var(--border-medium);border:3px solid var(--border-accent)!important}.home-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.home-search-box{position:relative;width:200px}.home-search-input{width:100%;padding:.45rem .65rem .45rem 2rem;font-size:.85rem;border:3px solid var(--border-accent)!important;border-style:solid!important;border-radius:20px 25px 22px 28px/22px 20px 25px 24px;background:var(--bg-card);color:var(--text-primary);transition:transform .1s ease,box-shadow .1s ease;box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(-.2deg);font-family:inherit}.home-search-input::placeholder{color:var(--text-light)}.home-search-input:focus{outline:none;border-color:var(--accent-blue);background:var(--accent-yellow);box-shadow:3px 3px 0 0 var(--border-medium);transform:rotate(.2deg)}.home-search-icon{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted)!important}.sort-controls{display:flex;gap:.4rem;align-items:center}.sort-btn{width:32px;height:32px;padding:0;border:3px solid var(--border-accent);border-radius:50%;background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;font-weight:500;display:inline-flex;align-items:center;justify-content:center;box-shadow:1px 1px 0 0 var(--border-medium);transform:rotate(-.3deg)}.sort-btn:hover{background:var(--accent-blue);color:var(--bg-card);border-color:var(--border-accent);transform:rotate(.3deg) translateY(-1px);box-shadow:2px 2px 0 0 var(--border-medium)}.sort-btn.active{background:var(--accent-yellow);border-color:var(--border-accent);box-shadow:3px 3px 0 0 var(--border-medium);transform:rotate(-.5deg)}.sort-icon{width:14px;height:14px;display:block;flex-shrink:0}.gallery-section{padding:0}.animation-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-top:.75rem}.gallery-card{background:var(--bg-card);border-radius:12px 8px 14px 10px/10px 12px 8px 9px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border:3px solid var(--border-accent);box-shadow:3px 3px 0 0 var(--border-medium),6px 6px 0 0 var(--border-soft);position:relative;transform:rotate(.3deg)}.gallery-card:nth-child(2n){transform:rotate(-.3deg)}.gallery-card:nth-child(3n){transform:rotate(.5deg)}.gallery-card:hover{transform:rotate(-.5deg) translateY(-4px) scale(1.02);box-shadow:4px 4px 0 0 var(--border-medium),8px 8px 0 0 var(--border-soft);border-color:var(--border-accent)}.card-thumbnail{width:100%;aspect-ratio:16/9;background:var(--bg-paper);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;border-bottom:2px solid var(--border-accent)}.card-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-card:hover .card-thumbnail img{transform:scale(1.05)}.card-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.card-placeholder-loading{flex-direction:column;gap:.5rem}.card-placeholder-loading .card-thumbnail-spinner{flex-shrink:0}.card-placeholder svg{color:var(--text-muted)!important}.card-thumbnail-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0006;border-radius:inherit}.card-thumbnail-spinner{display:block;width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:card-thumb-spin .8s linear infinite}@keyframes card-thumb-spin{to{transform:rotate(360deg)}}.card-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.card-title-section{flex:1;min-width:0}.card-play-button{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--accent-yellow);border:3px solid var(--border-accent);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:2px 2px 0 0 var(--border-medium);transform:rotate(-.3deg);opacity:0;pointer-events:none}.gallery-card:hover .card-play-button{opacity:1;pointer-events:auto;transform:rotate(.5deg) scale(1.1);background:var(--accent-orange);box-shadow:3px 3px 0 0 var(--border-medium)}.card-play-button:hover{transform:rotate(-.3deg) scale(1.15);background:var(--accent-orange);box-shadow:4px 4px 0 0 var(--border-medium)}.card-play-button:active{transform:rotate(0) scale(1.05);box-shadow:2px 2px 0 0 var(--border-medium)}.card-content{padding:1.25rem}.card-title{margin:0 0 .5rem;font-size:1.2rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-creator{margin:0 0 .75rem;font-size:.9rem;opacity:.85;font-style:italic}.card-rating{margin:.75rem 0}.card-meta{font-size:.85rem;opacity:.75;margin-top:.75rem;display:flex;align-items:center;gap:.5rem}.empty-gallery{text-align:center;padding:4rem 2rem;opacity:.9}.empty-gallery svg{margin-bottom:1.5rem;opacity:.6}.empty-gallery p{margin:.5rem 0;font-size:1.2rem}.empty-subtitle{font-size:1rem!important;opacity:.8!important;margin-bottom:1.5rem!important}.loading-spinner{text-align:center;padding:4rem;font-size:1.2rem;opacity:.9}.load-more-container{display:flex;justify-content:center;padding:2rem 0 1rem}.btn-load-more{padding:.7rem 2.5rem;font-size:.95rem;font-weight:700;font-family:inherit;border:3px solid var(--border-accent);border-radius:12px;cursor:pointer;background:var(--bg-card);color:var(--text-primary);transition:all .15s ease}.btn-load-more:hover:not(:disabled){background:var(--accent-purple);color:var(--bg-card);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-load-more:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.home-shell{padding:0 1rem 2rem}.home-heading{margin-top:.35rem}.home-controls{flex-direction:column;align-items:stretch;gap:.75rem}.home-actions,.btn-primary,.btn-secondary{width:100%}.home-filters{flex-direction:column;align-items:stretch}.home-search-box{width:100%}.sort-controls{justify-content:flex-start}.animation-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (max-width: 480px){.animation-gallery{grid-template-columns:1fr}}*{margin:0;padding:0;box-sizing:border-box}svg.defs-only{position:absolute;width:0;height:0;overflow:hidden}:root{--bg-base: #1a1a1a;--bg-elevated: #2d2d2d;--bg-elevated-strong: #3a3a3a;--bg-paper: #f5f5e8;--bg-card: #ffffff;--border-soft: #4a4a4a;--border-medium: #6b6b6b;--border-strong: #8c8c8c;--border-accent: #2c2c2c;--text-primary: #1a1a1a;--text-muted: #5a5a5a;--text-light: #8a8a8a;--accent-coral: #ff6b6b;--accent-blue: #4dabf7;--accent-yellow: #ffd43b;--accent-green: #51cf66;--accent-purple: #845ef7;--accent-orange: #ff922b;--accent-pink: #f06595;--accent-cyan: #3bc9db;--shadow-sketch: 3px 3px 0px 0px #2c2c2c, 6px 6px 0px 0px #1a1a1a;--shadow-soft: 4px 4px 8px #1a1a1a}body{font-family:Comic Neue,Comic Sans MS,Marker Felt,Chalkboard,Kalam,Caveat,cursive,sans-serif;background:#f0f0e8;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);min-height:100vh;padding:0;margin:0;width:100%;overflow-x:hidden;color:var(--text-primary);overscroll-behavior:none;-webkit-overflow-scrolling:touch;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}[data-platform=ios] body,html[data-platform=ios] body,[data-platform=android] body,html[data-platform=android] body{font-family:Nunito,sans-serif}html[data-platform=ios] button,html[data-platform=android] button,html[data-platform=ios] .header-btn,html[data-platform=android] .header-btn,html[data-platform=ios] .back-btn,html[data-platform=android] .back-btn,html[data-platform=ios] .btn-primary,html[data-platform=android] .btn-primary,html[data-platform=ios] .btn-secondary,html[data-platform=android] .btn-secondary,html[data-platform=ios] .modal-close,html[data-platform=android] .modal-close,html[data-platform=ios] .toolbar-btn,html[data-platform=android] .toolbar-btn,html[data-platform=ios] .tool-btn,html[data-platform=android] .tool-btn,html[data-platform=ios] .color-preset,html[data-platform=android] .color-preset,html[data-platform=ios] .navbar-links a,html[data-platform=android] .navbar-links a,html[data-platform=ios] .confirm-dialog-btn,html[data-platform=android] .confirm-dialog-btn,html[data-platform=ios] .sort-btn,html[data-platform=android] .sort-btn,html[data-platform=ios] .corner-btn,html[data-platform=android] .corner-btn,html[data-platform=ios] .menu-item,html[data-platform=android] .menu-item,html[data-platform=ios] .add-frame-btn,html[data-platform=android] .add-frame-btn,html[data-platform=ios] .card-play-button,html[data-platform=android] .card-play-button,html[data-platform=ios] .link-btn,html[data-platform=android] .link-btn,html[data-platform=ios] .room-delete-btn,html[data-platform=android] .room-delete-btn,html[data-platform=ios] .sketchy-button,html[data-platform=android] .sketchy-button,html[data-platform=ios] .public-toggle,html[data-platform=android] .public-toggle{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app-route-loading{display:flex;align-items:center;justify-content:center;min-height:40vh;padding:2rem}.app-route-loading-inner{width:2rem;height:2rem;border:3px solid var(--border-medium, #6b6b6b);border-top-color:var(--accent-blue, #4dabf7);border-radius:50%;animation:app-route-spin .7s linear infinite}@keyframes app-route-spin{to{transform:rotate(360deg)}}html{width:100%;overflow-x:hidden}#root{width:100%;min-width:0;height:100vh;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;margin:0;padding:0}.hand-drawn-border{border:3px solid var(--border-accent);border-radius:8px 12px 10px 14px/10px 8px 12px 9px;position:relative;box-shadow:var(--shadow-sketch)}.hand-drawn-border:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:1px solid var(--border-medium);border-radius:8px 12px 10px 14px/10px 8px 12px 9px;pointer-events:none}.sketchy-button{border:3px solid var(--border-accent);border-radius:6px 10px 8px 12px/8px 6px 10px 7px;background:var(--bg-card);position:relative;transform:rotate(-.5deg);transition:transform .1s ease,box-shadow .1s ease;box-shadow:var(--shadow-soft)}.sketchy-button:hover{transform:rotate(.5deg) translateY(-2px);box-shadow:5px 5px 10px #1a1a1a}.sketchy-button:active{transform:rotate(-1deg) translateY(0);box-shadow:2px 2px 4px #1a1a1a}.hand-drawn-card{background:var(--bg-card);border:3px solid var(--border-accent);border-radius:12px 8px 14px 10px/10px 12px 8px 9px;box-shadow:var(--shadow-sketch);position:relative;transform:rotate(.3deg)}.hand-drawn-card:nth-child(2n){transform:rotate(-.3deg)}.rough-text{text-shadow:1px 1px 0px var(--text-primary),2px 2px 0px rgba(0,0,0,.1);letter-spacing:.5px}
