:root{--_bg:#f5f5f5;--_surface:#fff;--_primary:#2563eb;--_primary-hover:#1d4ed8;--_text:#111827;--_text-muted:#6b7280;--color-bg:var(--_bg);--color-surface:var(--custom-surface,var(--_surface));--color-primary:var(--custom-primary,var(--_primary));--color-primary-hover:var(--custom-primary,var(--_primary-hover));--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-danger-border:#fecaca;--color-text:var(--custom-text,var(--_text));--color-text-muted:var(--custom-text-muted,var(--_text-muted));--color-border:#d1d5db;--color-focus-ring:#2563eb1a;--radius:.5rem;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--_bg:#111827;--_surface:#1f2937;--_primary:#3b82f6;--_primary-hover:#60a5fa;--_text:#f9fafb;--_text-muted:#9ca3af;--color-bg:var(--_bg);--color-surface:var(--custom-surface,var(--_surface));--color-primary:var(--custom-primary,var(--_primary));--color-primary-hover:var(--custom-primary,var(--_primary-hover));--color-danger:#ef4444;--color-danger-bg:#ef44441a;--color-danger-border:#ef44444d;--color-text:var(--custom-text,var(--_text));--color-text-muted:var(--custom-text-muted,var(--_text-muted));--color-border:#374151;--color-focus-ring:#3b82f633;--shadow:0 1px 3px #0000004d, 0 1px 2px #0003}}:root[data-theme=dark]{--_bg:#111827;--_surface:#1f2937;--_primary:#3b82f6;--_primary-hover:#60a5fa;--_text:#f9fafb;--_text-muted:#9ca3af;--color-bg:var(--_bg);--color-surface:var(--custom-surface,var(--_surface));--color-primary:var(--custom-primary,var(--_primary));--color-primary-hover:var(--custom-primary,var(--_primary-hover));--color-danger:#ef4444;--color-danger-bg:#ef44441a;--color-danger-border:#ef44444d;--color-text:var(--custom-text,var(--_text));--color-text-muted:var(--custom-text-muted,var(--_text-muted));--color-border:#374151;--color-focus-ring:#3b82f633;--shadow:0 1px 3px #0000004d, 0 1px 2px #0003}*,:before,:after{box-sizing:border-box}html,body,#__next{height:100%}body{background:var(--color-bg);color:var(--color-text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){body{--lightningcss-light: ;--lightningcss-dark:initial}}.page-center{justify-content:center;align-items:center;min-height:100%;padding:2rem 1rem;display:flex}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:400px;padding:2rem}.card-title{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.form{flex-direction:column;gap:1rem;display:flex}.form-field{flex-direction:column;gap:.375rem;display:flex}.form-field label{color:var(--color-text);font-size:.875rem;font-weight:500}.form-field input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);outline:none;padding:.5rem .75rem;font-size:1rem;transition:border-color .15s}.form-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.password-wrapper{display:flex;position:relative}.password-wrapper input{flex:1;padding-right:2.5rem}.password-toggle{cursor:pointer;color:var(--color-text-secondary,#6b7280);background:0 0;border:none;align-items:center;padding:.25rem;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--color-text)}button{cursor:pointer;border-radius:var(--radius);border:none;padding:.5rem 1rem;font-size:1rem;font-weight:500;transition:background .15s}.btn-primary{background:var(--color-primary);color:#fff;width:100%;padding:.625rem 1rem}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0;padding:.5rem 1rem}.btn-ghost:hover{background:var(--color-bg)}.error-msg{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border);border-radius:var(--radius);padding:.625rem .75rem;font-size:.875rem}.form-footer{text-align:center;color:var(--color-text-muted);margin-top:1rem;font-size:.875rem}.form-footer a{color:var(--color-primary);font-weight:500;text-decoration:none}.form-footer a:hover{text-decoration:underline}.app-header{background-color:var(--color-surface);background-image:var(--custom-header-bg-image);box-shadow:var(--shadow);background-repeat:repeat;background-size:auto;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 2rem;display:flex}.app-nav{align-items:center;gap:.25rem;height:100%;display:flex}.app-nav-link{height:100%;color:var(--color-text-muted);border-bottom:2px solid #0000;align-items:center;padding:0 .75rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.app-nav-link:hover{color:var(--color-text)}.app-nav-link-active,.app-nav-link-active:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}.app-header-actions{align-items:center;gap:1rem;display:flex}.header-tickets-btn{width:36px;height:36px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:color .15s,background .15s;display:flex;position:relative}.header-tickets-btn:hover{color:var(--color-primary);background:var(--color-focus-ring)}.header-tickets-badge{background:var(--color-primary,#2563eb);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-4px}.header-notifications-btn{width:36px;height:36px;color:var(--fg);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:color .15s,background .15s;display:flex;position:relative}.header-notifications-btn:hover{color:var(--color-primary);background:var(--color-focus-ring)}.header-notifications-badge{background:var(--color-danger,#ef4444);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-4px}.notifications-title{margin-bottom:1rem}.notifications-empty{color:var(--muted)}.notifications-list{flex-direction:column;gap:.5rem;display:flex}.notification-row{border:1px solid var(--border);cursor:default;border-radius:8px;padding:.75rem 1rem}.notification-unread{background:var(--color-focus-ring,#2563eb0f);cursor:pointer}.notification-header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.notification-dot{background:var(--color-primary,#2563eb);border-radius:50%;flex-shrink:0;width:8px;height:8px}.notification-date{color:var(--muted);margin-left:auto;font-size:.75rem}.notification-title{margin-bottom:.25rem;font-weight:600}.notification-message{color:var(--muted);font-size:.9rem}.notification-message-truncate{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notif-modal-backdrop{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.notif-modal{background:var(--color-surface,#fff);border-radius:var(--radius,8px);width:100%;max-width:480px;max-height:80vh;padding:1.5rem;overflow-y:auto;box-shadow:0 4px 24px #0003}.notif-modal-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.notif-modal-title{margin:0 0 .75rem;font-size:1.25rem;font-weight:600}.notif-modal-body{color:var(--muted);white-space:pre-wrap;margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.notif-modal-dismiss{width:100%}.toast-container{z-index:9999;flex-direction:column;gap:.5rem;max-width:22rem;display:flex;position:fixed;top:60px;right:1rem}.toast{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-primary);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;padding:.75rem 1rem;animation:.3s ease-out toast-slide-in}.toast:hover{opacity:.85}.toast-title{margin-bottom:.25rem;font-size:.875rem;font-weight:600}.toast-message{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;display:-webkit-box;overflow:hidden}.toast-link{color:var(--color-primary);font-size:.8125rem;text-decoration:underline}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.header-user-menu{position:relative}.header-avatar-btn{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .15s;display:flex;position:relative}.header-avatar-dot{background:var(--color-danger);border:2px solid var(--color-surface);border-radius:50%;width:10px;height:10px;position:absolute;top:-1px;right:-1px}.header-avatar-btn:hover,.header-avatar-btn[aria-expanded=true]{border-color:var(--color-border)}.header-avatar{object-fit:cover;border-radius:50%;width:32px;height:32px;display:block}.header-user-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);z-index:1000;min-width:180px;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.header-dropdown-item{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;padding:.625rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s;display:block}.header-dropdown-item:hover{background:var(--color-bg)}.header-dropdown-item+.header-dropdown-item{border-top:1px solid var(--color-border)}.dropdown-badge{color:#fff;background:var(--color-primary);border-radius:9999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;margin-left:.5rem;padding:0 .375rem;font-size:.6875rem;font-weight:600;line-height:1;display:inline-flex}.header-dropdown-lang{cursor:default;justify-content:center;display:flex}.header-dropdown-lang:hover{background:0 0}.home{background-image:var(--custom-home-bg-image);background-repeat:repeat;background-size:auto;flex-direction:column;min-height:100%;display:flex}.home-body{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.profile-cards{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;display:grid}.profile-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;position:relative;overflow:hidden}.profile-card img{object-fit:cover;aspect-ratio:8/5;width:100%;height:100%;display:block}.profile-card-overlay{color:#fff;opacity:0;pointer-events:none;cursor:zoom-in;background:#00000080;justify-content:center;align-items:center;gap:1rem;transition:opacity .15s;display:flex;position:absolute;inset:0}.profile-card:hover .profile-card-overlay,.profile-card:focus-within .profile-card-overlay{opacity:1;pointer-events:auto}.profile-card-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:background .15s;display:flex}.profile-card-btn:hover:not(:disabled){background:#fff6}.profile-card-btn:disabled{opacity:.3;cursor:not-allowed}.profile-card-locked{cursor:pointer}.profile-card-overlay-locked{opacity:1;pointer-events:auto;color:#fff;cursor:pointer;background:#0006;border:none;text-decoration:none;transition:background .15s}.profile-card-overlay-locked:hover{background:#0000008c}.card-modal-backdrop{z-index:10000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.card-modal{background:var(--color-surface);border-radius:var(--radius);flex-direction:column;width:min(540px,90vw);max-height:80vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000004d}.card-modal-templates{flex-shrink:0;gap:.75rem;padding:1.25rem;display:flex;overflow-x:auto}.card-modal-template-item{border-radius:var(--radius);cursor:pointer;background:0 0;border:2px solid #0000;flex:none;padding:0;transition:border-color .15s,transform .15s;overflow:hidden}.card-modal-template-item:hover{border-color:var(--color-primary);transform:scale(1.05)}.card-modal-template-item img{object-fit:cover;width:120px;height:90px;display:block}.card-modal-actions{border-top:1px solid var(--color-border,#e2e8f0);gap:.75rem;padding:1rem 1.25rem;display:flex}.card-modal-action-btn{border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;transition:background .15s;display:flex}.card-modal-action-btn:hover{background:var(--color-hover,#f1f5f9)}.card-editor{background:#1a1a1a;display:flex;position:fixed;inset:0}.card-editor-toolbar{z-index:2;background:#252525;border-right:1px solid #333;flex-direction:column;gap:.25rem;padding:.75rem .5rem;display:flex;position:relative}.card-editor-tool{border-radius:var(--radius);color:#aaa;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:background .15s,color .15s;display:flex}.card-editor-tool:hover{color:#fff;background:#333}.card-editor-tool.active{background:var(--color-primary);color:#fff}.card-editor-tool:disabled{opacity:.4;cursor:not-allowed}.card-editor-save{color:#4ade80}.card-editor-save:hover{color:#22c55e;background:#333}.card-editor-toolbar-spacer{flex:1}.card-editor-text-options{border-top:1px solid #333;flex-direction:column;gap:.25rem;margin-top:.25rem;padding-top:.5rem;display:flex}.card-editor-drawer{border-radius:0 var(--radius) var(--radius) 0;z-index:2;background:#252525;border:1px solid #333;flex-direction:column;gap:.5rem;min-width:160px;max-height:calc(100vh - 2rem);padding:.75rem;display:flex;position:absolute;top:0;left:calc(100% + 1px);box-shadow:4px 0 12px #0000004d}.card-editor-drawer-row{align-items:center;gap:.375rem;display:flex}.card-editor-font-list{flex-direction:column;flex:1;gap:.125rem;min-height:0;display:flex;overflow-y:auto}.card-editor-font-option{color:#ccc;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;width:100%;padding:.4rem .5rem;font-size:.9rem;transition:background .1s;display:block}.card-editor-font-option:hover{color:#fff;background:#333}.card-editor-font-option.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.card-editor-bold{font-size:.875rem;width:36px!important;height:36px!important}.card-editor-font-size{color:#fff;text-align:center;background:#333;border:1px solid #444;border-radius:4px;width:60px;padding:.25rem;font-size:.75rem}.card-editor-font-size::-webkit-inner-spin-button{opacity:1}.card-editor-color-picker{cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;width:44px;height:30px;padding:0}.card-editor-canvas-area{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;overflow:auto}.card-editor-canvas-wrapper{line-height:0;display:inline-block;position:relative}.card-editor-canvas{border-radius:var(--radius);max-width:100%;max-height:calc(100vh - 4rem);box-shadow:0 4px 24px #00000080}.card-editor-draw-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.card-editor-draw-width{width:44px;accent-color:var(--color-primary);cursor:pointer}.card-editor-text-item{white-space:pre-wrap;cursor:move;-webkit-user-select:none;user-select:none;line-height:1.2;position:absolute}.card-editor-text-item.selected{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.card-editor-text-input{color:inherit;font:inherit;resize:none;field-sizing:content;background:0 0;border:none;outline:none;min-width:40px;min-height:1.2em;padding:0;line-height:1.2;overflow:hidden}.card-editor-text-display{pointer-events:auto;cursor:move}.card-editor-rotate-handle{background:var(--color-primary);cursor:grab;z-index:2;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute}.card-editor-rotate-handle:active{cursor:grabbing}.card-editor-rotate-handle.tl{top:-6px;left:-6px}.card-editor-rotate-handle.tr{top:-6px;right:-6px}.card-editor-rotate-handle.bl{bottom:-6px;left:-6px}.card-editor-rotate-handle.br{bottom:-6px;right:-6px}.card-editor-sticker-empty{color:#888;text-align:center;margin:0;padding:1rem 0;font-size:.8rem}.card-editor-sticker-item{cursor:move;-webkit-user-select:none;user-select:none;position:absolute}.card-editor-sticker-item.selected{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.card-editor-sticker-item img{pointer-events:none;width:100%;height:100%;display:block}.crop-modal{border-radius:var(--radius);background:#1a1a1a;flex-direction:column;max-width:80vw;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.crop-area{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.crop-image{-webkit-user-select:none;user-select:none;max-width:100%;max-height:60vh;display:block}.crop-dim{pointer-events:none;position:absolute;inset:0}.crop-selection{border:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #00000080}.crop-move{cursor:move;position:absolute;inset:0}.crop-handle{z-index:1;background:#fff;position:absolute}.crop-handle-n,.crop-handle-s{cursor:ns-resize;width:24px;height:6px;left:50%;transform:translate(-50%)}.crop-handle-n{top:-3px}.crop-handle-s{bottom:-3px}.crop-handle-w,.crop-handle-e{cursor:ew-resize;width:6px;height:24px;top:50%;transform:translateY(-50%)}.crop-handle-w{left:-3px}.crop-handle-e{right:-3px}.crop-handle-nw,.crop-handle-ne,.crop-handle-sw,.crop-handle-se{width:10px;height:10px}.crop-handle-nw{cursor:nwse-resize;top:-5px;left:-5px}.crop-handle-ne{cursor:nesw-resize;top:-5px;right:-5px}.crop-handle-sw{cursor:nesw-resize;bottom:-5px;left:-5px}.crop-handle-se{cursor:nwse-resize;bottom:-5px;right:-5px}.crop-radius-row{color:#ccc;border-top:1px solid #333;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.8rem;display:flex}.crop-radius-row input[type=range]{accent-color:var(--color-primary);flex:1}.crop-radius-row span{text-align:right;color:#aaa;min-width:2.5rem;font-size:.75rem}.crop-actions{border-top:1px solid #333;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;display:flex}.crop-btn{border-radius:var(--radius);color:#fff;cursor:pointer;background:0 0;border:1px solid #555;padding:.5rem 1.25rem;font-size:.875rem}.crop-btn:hover{background:#333}.crop-btn-primary{background:var(--color-primary);border-color:var(--color-primary)}.crop-btn-primary:hover{background:var(--color-primary-hover)}.template-preview-backdrop{z-index:10001;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.template-preview{max-width:90vw;max-height:90vh;position:relative}.template-preview img{border-radius:var(--radius);max-width:90vw;max-height:90vh;display:block;box-shadow:0 4px 24px #00000080}.template-preview-overlay{pointer-events:none;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:1rem;display:flex;position:absolute;inset:0}.template-preview-close{pointer-events:auto;color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s;display:flex}.template-preview-close:hover{background:#000000b3}.template-preview-use-btn{pointer-events:auto;border-radius:var(--radius);background:var(--color-primary,#3b82f6);color:#fff;cursor:pointer;border:none;align-self:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background .15s;box-shadow:0 2px 8px #0000004d}.template-preview-use-btn:hover{background:var(--color-primary-hover,#2563eb)}.lightbox{z-index:10000;cursor:pointer;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img{border-radius:var(--radius);cursor:default;max-width:90vw;max-height:90vh;box-shadow:0 4px 24px #00000080}.card-viewer{background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.card-viewer-image-wrapper{display:inline-block;position:relative}.card-viewer-image-wrapper img{object-fit:contain;max-width:100vw;max-height:100vh;display:block}.card-viewer img{object-fit:contain;max-width:100vw;max-height:100vh}.card-viewer-link-overlay{white-space:nowrap;cursor:pointer;pointer-events:auto;text-decoration:none;position:absolute}.card-viewer-link-overlay:hover{background:#ffffff26;border-radius:4px}.card-viewer p{color:#fff;font-size:1.25rem}.card-viewer-menu-btn{color:#fff;cursor:pointer;z-index:2;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .15s;display:flex;position:absolute;bottom:1.5rem;right:1.5rem}.card-viewer-menu-btn:hover{background:#000c}.card-viewer-drawer{z-index:3;background:#1e1e1ef2;border:1px solid #ffffff26;border-radius:.75rem;min-width:200px;padding:.5rem 0;position:absolute;bottom:5rem;right:1.5rem;box-shadow:0 8px 24px #00000080}.card-viewer-drawer-item{color:#fff;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.875rem;transition:background .1s;display:flex}.card-viewer-drawer-item:hover{background:#ffffff1a}.card-viewer-drawer-item:disabled{opacity:.5;cursor:not-allowed}.card-viewer-private-badge{color:#fff;z-index:1;background:#000000b3;border-radius:.375rem;padding:.4rem .8rem;font-size:.875rem;position:absolute;top:1rem;left:1rem}.user-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.user-card-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.user-card-header h2{margin:0;font-size:1.125rem;font-weight:600}.user-avatar-wrapper{cursor:pointer;border-radius:50%;flex-shrink:0;width:64px;height:64px;position:relative}.user-avatar{object-fit:cover;border-radius:50%}.user-avatar-overlay{color:#fff;opacity:0;background:#00000080;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.user-avatar-wrapper:hover .user-avatar-overlay,.user-avatar-wrapper:focus-visible .user-avatar-overlay{opacity:1}.user-card h2{margin:0 0 1rem;font-size:1.125rem;font-weight:600}.user-field{gap:.5rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.user-field-label{color:var(--color-text-muted);min-width:80px;font-weight:500}.home-header-actions{align-items:center;gap:1rem;display:flex}.lang-switcher{align-items:center;gap:.125rem;display:flex}.lang-btn{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:.25rem .375rem;font-size:.75rem;font-weight:500;transition:color .15s}.lang-btn:hover:not(:disabled){color:var(--color-primary);background:0 0}.lang-btn-active{color:var(--color-primary);cursor:default}.lang-sep{color:var(--color-border);-webkit-user-select:none;user-select:none;font-size:.75rem}.card .lang-switcher{justify-content:center;margin-top:.75rem}.items-form{gap:.75rem;margin-bottom:1.5rem;display:flex}.items-form input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);outline:none;flex:1;padding:.5rem .75rem;font-size:1rem;transition:border-color .15s}.items-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.items-form .btn-primary{width:auto}.items-list{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);margin:0;padding:0;list-style:none;overflow:hidden}.item-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.item-row:last-child{border-bottom:none}.item-name{font-size:.9375rem}.items-empty{text-align:center;color:var(--color-text-muted);padding:1.5rem 1rem;font-size:.875rem}.btn-danger{color:var(--color-danger);border:1px solid var(--color-danger);background:0 0;padding:.25rem .625rem;font-size:.8125rem}.btn-danger:hover{background:var(--color-danger-bg)}.auth-divider{color:var(--color-text-muted);align-items:center;gap:.75rem;margin:1rem 0 .75rem;font-size:.8125rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.btn-apple{color:#fff;border-radius:var(--radius);cursor:pointer;background:#000;border:1px solid #000;justify-content:center;align-items:center;gap:.625rem;width:100%;padding:.625rem 1rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .15s,box-shadow .15s;display:flex}.btn-apple:hover{background:#1a1a1a;box-shadow:0 1px 4px #0003}.btn-apple-icon{flex-shrink:0;width:18px;height:18px}.btn-google{background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:.625rem;padding:.625rem 1rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .15s,box-shadow .15s;display:flex}.btn-google:hover{background:var(--color-bg);box-shadow:0 1px 4px #0000001f}.btn-google-icon{flex-shrink:0;width:18px;height:18px}.btn-x{color:#fff;border-radius:var(--radius);cursor:pointer;background:#000;border:1px solid #000;justify-content:center;align-items:center;gap:.625rem;width:100%;padding:.625rem 1rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .15s,box-shadow .15s;display:flex}.btn-x:hover{background:#1a1a1a;box-shadow:0 1px 4px #0003}.btn-x-icon{flex-shrink:0;width:18px;height:18px}.btn-github{color:#fff;border-radius:var(--radius);cursor:pointer;background:#24292e;border:1px solid #24292e;justify-content:center;align-items:center;gap:.625rem;width:100%;padding:.625rem 1rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .15s,box-shadow .15s;display:flex}.btn-github:hover{background:#3a3f45;box-shadow:0 1px 4px #0003}.btn-github-icon{flex-shrink:0;width:18px;height:18px}.btn-discord{color:#fff;border-radius:var(--radius);cursor:pointer;background:#5865f2;border:1px solid #5865f2;justify-content:center;align-items:center;gap:.625rem;width:100%;padding:.625rem 1rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background .15s,box-shadow .15s;display:flex}.btn-discord:hover{background:#4752c4;box-shadow:0 1px 4px #0003}.btn-discord-icon{flex-shrink:0;width:18px;height:18px}.home-nav{margin-top:1rem}.home-nav a{color:var(--color-primary);font-size:.875rem;font-weight:500;text-decoration:none}.home-nav a:hover{text-decoration:underline}.settings-section-title{color:var(--color-text-muted);margin:.75rem 0 .5rem;font-size:.9375rem;font-weight:500}.entitlements-list{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.entitlement-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.entitlement-row:last-child{border-bottom:none}.entitlement-info{align-items:center;gap:.5rem;display:flex}.entitlement-type{font-size:.9375rem;font-weight:500}.entitlement-details{color:var(--color-text-muted);gap:1rem;font-size:.8125rem;display:flex}@media (max-width:600px){.entitlement-row{flex-direction:column;align-items:flex-start;gap:.5rem}.entitlement-details{flex-direction:column;gap:.25rem}}.linked-accounts-list{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.linked-account-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.linked-account-row:last-child{border-bottom:none}.linked-account-provider{font-size:.9375rem;font-weight:500}.btn-link-provider{text-align:center;width:auto;padding:.25rem .75rem;font-size:.8125rem;text-decoration:none;display:inline-block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn-apple,:root:not([data-theme=light]) .btn-x,:root:not([data-theme=light]) .btn-github{border-color:#374151}}:root[data-theme=dark] .btn-apple,:root[data-theme=dark] .btn-x,:root[data-theme=dark] .btn-github{border-color:#374151}.email-section{flex-direction:column;gap:.75rem;display:flex}.email-status-row{align-items:center;gap:.75rem;display:flex}.email-current{font-size:.9375rem;font-weight:500}.email-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.email-badge-verified{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e4d}.email-badge-unverified{color:#ca8a04;background:#eab3081a;border:1px solid #eab3084d}.email-resend-btn{align-self:flex-start;font-size:.8125rem}.email-edit-row{align-items:center;gap:.5rem;display:flex}.email-combo{flex:1;min-width:0;display:flex;position:relative}.email-combo-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;color:var(--color-text);outline:none;min-width:0;padding:.5rem .75rem;font-size:.875rem}.email-combo-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.email-combo-select{opacity:0;cursor:pointer;direction:rtl;width:2rem;font-size:.875rem;position:absolute;top:0;bottom:0;right:0}.email-combo:has(.email-combo-select):after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--color-text-muted);pointer-events:none;width:0;height:0;position:absolute;top:50%;right:.625rem;transform:translateY(-50%)}.email-combo:has(.email-combo-select):before{content:"";background:var(--color-border);pointer-events:none;width:1px;height:50%;position:absolute;top:25%;right:2rem}.email-combo:has(.email-combo-select) .email-combo-input{padding-right:2.25rem}.email-not-set{color:var(--color-text-muted);font-style:italic}.email-save-btn{flex-shrink:0;width:auto;padding:.5rem 1rem;font-size:.875rem}.success-msg{color:#16a34a;border-radius:var(--radius);background:#22c55e1a;border:1px solid #22c55e4d;padding:.625rem .75rem;font-size:.875rem}.theme-selector{gap:.5rem;display:flex}.theme-btn{color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:0 0;flex:1;padding:.5rem;font-size:.8125rem;font-weight:500;transition:border-color .15s,color .15s}.theme-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.theme-btn-active{color:var(--color-primary);border-color:var(--color-primary)}.btn-small{width:auto;padding:.25rem .75rem;font-size:.8125rem}.btn-danger-outline{color:var(--color-danger);border:1px solid var(--color-danger);background:0 0}.btn-danger-outline:hover{background:var(--color-danger-bg)}.custom-theme-locked{color:var(--color-text-muted);margin:.5rem 0;font-size:.875rem}.custom-theme-panel{border-top:1px solid var(--color-border);margin-top:1rem;padding-top:.75rem}.custom-theme-hint{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.75rem}.custom-theme-error{color:var(--color-danger);margin:.25rem 0 0;font-size:.75rem}.custom-theme-color-row{align-items:center;gap:.5rem;display:flex}.custom-theme-color-input{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:var(--color-surface);width:36px;height:36px;padding:2px}.custom-theme-color-input:disabled{opacity:.5;cursor:not-allowed}.custom-theme-color-text{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100px;color:var(--color-text);padding:.375rem .5rem;font-family:monospace;font-size:.8125rem}.custom-theme-color-text:disabled{opacity:.5;cursor:not-allowed}.custom-theme-field{margin-top:.75rem}.custom-theme-label{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.custom-theme-image-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.custom-theme-preview{object-fit:cover;border-radius:var(--radius);border:1px solid var(--color-border);width:80px;height:48px}.custom-theme-image-actions{gap:.5rem;display:flex}.tickets-title{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.tickets-section-title{margin:1.5rem 0 .75rem;font-size:1.1rem;font-weight:600}.tickets-section-title:first-of-type{margin-top:0}.tickets-tabs{gap:.25rem;margin-bottom:1rem;display:flex}.tickets-tab{border:1px solid var(--color-border,#e2e8f0);background:var(--color-bg-muted,#f1f5f9);color:var(--color-text-secondary,#64748b);cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;flex:1;padding:.5rem .25rem;font-size:.8rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.tickets-tab:hover{background:var(--color-bg,#fff);color:var(--color-text,#1e293b)}.tickets-tab-active{background:var(--color-bg,#fff);color:var(--color-text,#1e293b);border-bottom-color:var(--color-accent,#3b82f6);font-weight:600}.rewards-list{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;display:flex;overflow:hidden}.reward-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.reward-row:last-child{border-bottom:none}.reward-action-btn{flex-shrink:0;width:auto;padding:.375rem 1rem;font-size:.8125rem}.tickets-empty{color:var(--color-text-muted);font-size:.9375rem}.tickets-list{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;display:flex;overflow:hidden}.ticket-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.ticket-row:last-child{border-bottom:none}.ticket-main{align-items:center;gap:.625rem;display:flex}.ticket-type{font-size:.9375rem;font-weight:500}.ticket-status{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}.ticket-status-unused{color:var(--color-primary);background:#2563eb1a;border:1px solid #2563eb4d}.ticket-status-used{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e4d}.ticket-status-expired{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.ticket-details{color:var(--color-text-muted);gap:1rem;font-size:.8125rem;display:flex}.ticket-date{white-space:nowrap}.ticket-use-btn{flex-shrink:0;width:auto;padding:.375rem 1rem;font-size:.8125rem}@media (max-width:600px){.ticket-row,.reward-row{flex-direction:column;align-items:flex-start;gap:.5rem}.ticket-details{flex-direction:column;gap:.25rem}}.redeem-backdrop{z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.redeem-modal{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:400px;padding:1.5rem;box-shadow:0 4px 24px #0003}.redeem-modal-title{margin:0 0 1rem;font-size:1.125rem;font-weight:600}.redeem-options{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.redeem-option-btn,.redeem-cancel-btn{text-align:center;width:100%}.sticker-pack-tabs{gap:.25rem;max-width:600px;margin-bottom:1rem;margin-left:auto;margin-right:auto;display:flex}.sticker-pack-tab{border:1px solid var(--color-border,#e2e8f0);background:var(--color-bg-muted,#f1f5f9);color:var(--color-text-secondary,#64748b);cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;flex:1;padding:.5rem .25rem;font-size:.8rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.sticker-pack-tab:hover{background:var(--color-bg,#fff);color:var(--color-text,#1e293b)}.sticker-pack-tab-active{background:var(--color-bg,#fff);color:var(--color-text,#1e293b);border-bottom-color:var(--color-accent,#3b82f6);font-weight:600}.sticker-pack-tab-locked{opacity:.55;cursor:pointer}.sticker-pack-tab-locked:hover{opacity:.8}.sticker-pack-tab-lock{align-items:center;gap:.25rem;display:inline-flex}.sticker-pack-locked-message{border:1px dashed var(--color-border,#e2e8f0);max-width:600px;color:var(--color-text-secondary,#64748b);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;margin:0 auto;padding:3rem 1rem;display:flex}.sticker-pack-no-tickets{color:var(--color-text-secondary,#64748b);text-align:center;padding:1rem 0}.no-tickets-guide{flex-direction:column;align-items:center;gap:.75rem;display:flex}.no-tickets-guide a{text-align:center;text-decoration:none}.stickers-grid{grid-template-columns:repeat(5,1fr);gap:.75rem;max-width:600px;margin-left:auto;margin-right:auto;display:grid}.sticker-slot{border:1px solid var(--color-border,#e2e8f0);aspect-ratio:1;background:var(--color-bg-muted,#f1f5f9);border-radius:8px;position:relative;overflow:hidden}.sticker-slot img{object-fit:cover;width:100%;height:100%;display:block}.sticker-upload-btn{color:var(--color-text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute;inset:0}.sticker-upload-btn:hover{color:var(--color-text,#334155);background:#0000000d}.sticker-slot-overlay{opacity:0;background:#0006;justify-content:center;align-items:center;gap:.375rem;transition:opacity .15s;display:flex;position:absolute;inset:0}.sticker-slot:hover .sticker-slot-overlay{opacity:1}.sticker-slot-btn{color:#334155;cursor:pointer;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.sticker-slot-btn:hover{background:#fff}.sticker-edit-modal{background:var(--color-surface);border-radius:var(--radius);flex-direction:column;gap:.75rem;width:min(500px,90vw);max-height:90vh;padding:1.25rem;display:flex;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.sticker-edit-hint{color:var(--color-text-muted,#94a3b8);margin:0;font-size:.85rem}.sticker-edit-canvas-wrapper{border:1px solid var(--color-border,#e2e8f0);background-image:linear-gradient(45deg,#ccc 25%,#0000 25%),linear-gradient(-45deg,#ccc 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ccc 75%),linear-gradient(-45deg,#0000 75%,#ccc 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;border-radius:8px;justify-content:center;align-items:center;max-height:60vh;display:flex;position:relative;overflow:hidden}.sticker-edit-canvas-wrapper canvas{object-fit:contain;max-width:100%;max-height:60vh;display:block}.sticker-edit-controls{align-items:center;gap:.75rem;display:flex}.sticker-edit-tolerance{flex:1;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.sticker-edit-tolerance input[type=range]{flex:1}.sticker-edit-tolerance-value{text-align:right;font-variant-numeric:tabular-nums;min-width:2ch}.sticker-edit-actions{justify-content:flex-end;gap:.5rem;display:flex}.sticker-edit-btn{border-radius:var(--radius);border:1px solid var(--color-border,#e2e8f0);cursor:pointer;padding:.5rem 1rem;font-size:.85rem;transition:background .15s}.sticker-edit-btn.secondary{background:var(--color-surface);color:var(--color-text)}.sticker-edit-btn.secondary:hover{background:var(--color-hover,#f1f5f9)}.sticker-edit-btn.primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.sticker-edit-btn.primary:hover{opacity:.9}.sticker-edit-btn:disabled{opacity:.5;cursor:not-allowed}.photos-page{flex-direction:column;align-items:center;max-width:none;display:flex}.photos-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.photos-header h1{margin:0}.photos-count{color:var(--color-text-muted,#94a3b8);font-size:1rem}.photos-upload-header-btn{background:var(--color-primary,#6366f1);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:background .15s;display:flex}.photos-upload-header-btn:hover{background:var(--color-primary-hover,#4f46e5)}.photos-upload-header-btn:disabled{opacity:.5;cursor:not-allowed}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(200px,260px));justify-content:center;gap:.75rem;width:80%;display:grid}.photo-slot{border:1px solid var(--color-border,#e2e8f0);aspect-ratio:1;background:var(--color-bg-muted,#f1f5f9);border-radius:8px;position:relative;overflow:hidden}.photo-slot img{object-fit:cover;width:100%;height:100%;display:block}.photo-delete-btn{color:#fff;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:opacity .15s;display:flex;position:absolute;top:6px;right:6px}.photo-slot:hover .photo-delete-btn{opacity:1}.photo-delete-btn:hover{background:#dc2626cc}.lightbox-overlay{z-index:1000;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-content{justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.lightbox-img{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:8px;max-width:90vw;max-height:90vh}.lightbox-close{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;transition:opacity .15s;position:absolute;top:-2.5rem;right:-.5rem}.lightbox-close:hover{opacity:1}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff4d}.lightbox-prev{left:-4rem}.lightbox-next{right:-4rem}@media (max-width:768px){.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-close{top:.5rem;right:.5rem}}.git-sha{color:var(--color-text-muted);opacity:.5;z-index:9999;font-size:.625rem;position:fixed;bottom:.375rem;right:.5rem}.referral-url-section{margin-top:1.5rem}.referral-url-label{color:var(--color-text);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.referral-url-row{align-items:center;display:flex;position:relative}.referral-url-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);outline:none;flex:1;padding:.5rem 2.5rem .5rem .75rem;font-size:.875rem}.referral-url-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.referral-url-copy-icon{cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .15s;display:flex;position:absolute;right:.5rem}.referral-url-copy-icon:hover{color:var(--color-text)}
