@import"https://fonts.googleapis.com/css2?family=Zen+Dots&family=Montserrat:wght@400;500;600;700&family=Nunito:wght@400;500;600;700&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--color-cyan:#0ff2f2;--color-orange:#ff6b35;--color-dark:#00151c;--color-secondary:#e5d9c5;--bg:#00151c;--bg-secondary:#00283c;--card:#003550;--text:#e5d9c5;--text-secondary:#a8c5d4;--muted:#6b9aad;--accent:#0ff2f2;--accent-dark:#00c4c4;--border:#004a6b;--success:#4a9d6e;--error:#d9534f;--warning:#f0ad4e;--font-primary:"Zen Dots", cursive;--font-secondary:"Montserrat", sans-serif;--font-body:"Nunito", sans-serif;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-xl:1.25rem;--shadow-sm:0 1px 3px #00000040;--shadow-md:0 4px 20px #0000004d;--shadow-lg:0 8px 40px #00000059;--shadow-glow:0 0 20px #0ff2f226}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}h1,h2,h3,.display-font{font-family:var(--font-primary);color:var(--text)}h1{font-size:clamp(1.75rem,4vw,3rem);line-height:1.2}h2{font-size:clamp(1.25rem,3vw,1.85rem);line-height:1.3}h3{font-size:clamp(1rem,2vw,1.25rem);line-height:1.4}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--color-cyan)}.site-container{max-width:60rem;margin:0 auto;padding:1.5rem 2rem}@media(max-width:767px){.site-container{padding:1rem}}@media(min-width:768px)and (max-width:1023px){.site-container{padding:1.25rem 1.5rem}}.card-shadow{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border);padding:1.75rem;transition:box-shadow .3s,border-color .3s}.card-shadow:hover{box-shadow:var(--shadow-lg),var(--shadow-glow);border-color:#0ff2f233}.btn-primary{background:linear-gradient(135deg,var(--color-cyan) 0%,var(--accent-dark) 100%);color:var(--color-dark);border-radius:var(--radius-md);font-weight:600;font-family:var(--font-secondary);cursor:pointer;letter-spacing:.01em;border:none;padding:.75rem 1.75rem;font-size:.95rem;transition:all .3s;box-shadow:0 2px 12px #00fff24d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00fff273}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #00fff24d}.btn-secondary{color:var(--text);border-radius:var(--radius-md);font-weight:500;font-family:var(--font-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;padding:.75rem 1.75rem;font-size:.95rem;transition:all .25s}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent)}.btn-danger{color:var(--text-secondary);border-radius:var(--radius-md);font-weight:500;font-family:var(--font-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;padding:.5rem 1.25rem;font-size:.875rem;transition:all .25s}.btn-danger:hover{border-color:var(--error);color:var(--error);background:#d9534f14}.input-field{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;font-size:.95rem;font-family:var(--font-body);background:var(--bg);color:var(--text);cursor:text;padding:.75rem 1rem;transition:all .25s}.input-field:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0ff2f226}.input-field::placeholder{color:var(--muted)}.input-label{color:var(--text-secondary);letter-spacing:.02em;font-size:.85rem;font-weight:600;font-family:var(--font-secondary);margin-bottom:.375rem;display:block}textarea.input-field{resize:vertical;min-height:5rem}.file-upload-zone{border:2px dashed var(--border);border-radius:var(--radius-md);text-align:center;color:var(--muted);cursor:pointer;background:#00283c4d;padding:1.5rem;transition:all .25s;position:relative}.file-upload-zone:hover{border-color:var(--accent);color:var(--accent);background:#0ff2f20a}.file-upload-zone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.navbar{border-bottom:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(12px);background:#00151cf5;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;max-width:60rem;height:3.75rem;margin:0 auto;padding:0 2rem;display:flex}@media(max-width:767px){.navbar-inner{height:3.25rem;padding:0 1rem}}.navbar-brand{font-family:var(--font-primary);color:var(--text);letter-spacing:-.01em;font-size:1.25rem;font-weight:600;text-decoration:none;transition:color .2s}.navbar-brand:hover{color:var(--accent)}.nav-link{color:var(--text-secondary);font-size:.9rem;font-family:var(--font-secondary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:.5rem .875rem;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover{color:var(--accent);background:var(--bg-secondary)}.nav-link.active{color:var(--accent);background:#0ff2f214}.nav-desktop{align-items:center;gap:.25rem;display:flex}.nav-user{align-items:center;gap:.75rem;display:flex}.hamburger-btn{color:var(--text);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.5rem;transition:background .2s;display:none}.hamburger-btn:hover{background:var(--bg-secondary)}.mobile-menu{background:var(--card);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);flex-direction:column;gap:.25rem;padding:.75rem 1rem;animation:.25s slideDown;display:none;position:absolute;top:100%;left:0;right:0}.mobile-menu.open{display:flex}.mobile-menu .nav-link{border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:1rem}@media(max-width:767px){.nav-desktop,.nav-desktop-only{display:none}.hamburger-btn{justify-content:center;align-items:center;display:flex}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.login-screen{background:radial-gradient(circle at 12% 14%,#0ff2f21f 0%,transparent 30%),radial-gradient(circle at 86% 20%,#ff6b3529 0%,transparent 34%),radial-gradient(circle at 50% 100%,#0ff2f214 0%,transparent 35%),var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.login-card{z-index:2;text-align:center;border-radius:calc(var(--radius-xl) + .25rem);background:linear-gradient(145deg,#003550eb,#00283ce6);border:1px solid #0ff2f238;width:100%;max-width:520px;padding:2rem;position:relative;box-shadow:0 28px 70px #00000073,inset 0 0 0 1px #ffffff05,0 0 40px #0ff2f21f}@media(max-width:767px){.login-screen{padding:1rem}.login-card{max-width:100%;padding:1.4rem}}.login-orb{filter:blur(2px);pointer-events:none;z-index:1;position:absolute}.login-orb-left{background:radial-gradient(circle,#0ff2f240,#0ff2f200 70%);border-radius:50%;width:260px;height:260px;bottom:7%;left:-90px}.login-orb-right{background:radial-gradient(circle,#ff6b3542,#ff6b3500 75%);border-radius:50%;width:320px;height:320px;top:-40px;right:-120px}.login-icon{background:linear-gradient(135deg,var(--color-cyan) 0%,var(--accent-dark) 100%);border-radius:var(--radius-xl);justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;display:flex;box-shadow:0 8px 30px #00fff240}.login-brand{justify-content:center;align-items:center;gap:.9rem;margin:0 auto 1rem;display:flex}.login-logo-shell{background:#ffffff0f;border-radius:18px;width:74px;height:74px;padding:7px;box-shadow:0 10px 24px #0000004d}.login-logo{object-fit:contain;background:0 0;border:none;border-radius:12px;width:100%;height:100%}.login-brand-copy{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.login-chip{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:#0ff2f21a;border:1px solid #0ff2f259;border-radius:999px;align-items:center;gap:.35rem;padding:.28rem .65rem;font-size:.72rem;display:inline-flex}.login-copy{max-width:40ch;margin-inline:auto}.login-features{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.35rem;display:flex}.login-feature{color:var(--text-secondary);background:#00c4c40f;border:1px solid #00c4c440;border-radius:999px;padding:.24rem .58rem;font-size:.78rem}@media(max-width:767px){.login-orb-left{width:180px;height:180px;bottom:4%;left:-70px}.login-orb-right{width:200px;height:200px;top:-40px;right:-80px}.login-brand{flex-direction:column;gap:.6rem;width:100%;margin-bottom:.75rem}.login-logo-shell{border-radius:16px;width:66px;height:66px;padding:6px}.login-logo{border-radius:10px}.login-brand-copy{align-items:center}.login-copy{max-width:100%}.login-features{gap:.4rem;margin-bottom:1rem}.login-feature{padding:.22rem .5rem;font-size:.72rem}}.profile-form{flex-direction:column;gap:1.5rem;display:flex}.form-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media(max-width:639px){.form-grid{grid-template-columns:1fr}}.form-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.form-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:.75rem;padding-top:.5rem;display:flex}.logo-preview img{border-radius:var(--radius-md);border:1px solid var(--border);max-width:140px}.logo-placeholder{border:2px dashed var(--border);border-radius:var(--radius-md);width:140px;height:80px;color:var(--muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.page-header{margin-bottom:1.5rem}.page-header h1{margin-bottom:.25rem}.page-header p{color:var(--text-secondary);font-size:.95rem}.page-content{padding:1.5rem 0}.quote-history-title-row{flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;display:flex}.quote-history-title{min-width:0;font-family:var(--font-secondary);flex:1;font-weight:600;line-height:1.3}.quote-history-id{white-space:nowrap;text-overflow:ellipsis;max-width:16rem;display:inline-block;overflow:hidden}.quote-history-meta{row-gap:.5rem;margin-top:.35rem}.quote-history-meta-item{min-width:0}.quote-preview-overlay{z-index:220;-webkit-backdrop-filter:blur(3px);background:#020c1be0;justify-content:center;align-items:stretch;padding:.9rem;display:flex;position:fixed;inset:0}.quote-preview-modal{border-radius:var(--radius-lg);width:min(1100px,100%);max-height:calc(100dvh - 1.8rem);box-shadow:var(--shadow-lg);background:#00283cfa;border:1px solid #0ff2f233;flex-direction:column;min-height:0;display:flex;overflow:hidden}.quote-preview-header{color:#fff;border-bottom:1px solid #0ff2f233;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.8rem .9rem;display:flex}.quote-preview-copy{min-width:0}.quote-preview-kicker{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-family:var(--font-secondary);margin:0}.quote-preview-title{white-space:nowrap;text-overflow:ellipsis;margin:.1rem 0 0;padding-right:.35rem;font-size:1.12rem;line-height:1.2;overflow:hidden}.quote-preview-close{white-space:nowrap;align-items:center;gap:.4rem;margin:.1rem 0 0;display:inline-flex}.quote-preview-frame-shell{background:#0b1220;flex:1;min-height:0;overflow:hidden}.quote-preview-frame{background:#0b1220;width:100%;height:100%;position:relative}.quote-preview-loading,.quote-preview-error{text-align:center;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.quote-preview-loading{color:var(--text-secondary);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b122080;gap:.6rem;font-size:.85rem}.quote-preview-error{color:var(--error);background:#0b122066}.confirm-overlay{z-index:230;-webkit-backdrop-filter:blur(3px);background:#020c1be0;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-modal{border:1px solid var(--border);border-radius:var(--radius-lg);width:min(520px,100%);box-shadow:var(--shadow-lg);background:linear-gradient(#00283cfa,#001f2ffa);flex-direction:column;gap:1rem;padding:1.4rem;display:flex}.confirm-header{align-items:center;gap:.85rem;display:flex}.confirm-icon{width:44px;height:44px;color:var(--error);background:#d9534f1f;border:1px solid #d9534f4d;border-radius:12px;place-items:center;display:grid}.confirm-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:.72rem;font-family:var(--font-secondary);margin:0}.confirm-title{margin:.12rem 0 0;font-size:1.15rem}.confirm-message{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.55}.confirm-quote-title{color:var(--text);font-weight:600}.confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.confirm-actions .btn-secondary{padding:.55rem 1.1rem;font-size:.9rem}.btn-danger-solid{color:#fff;border-radius:var(--radius-md);font-weight:600;font-family:var(--font-secondary);cursor:pointer;background:linear-gradient(135deg,#d9534ff2,#c53c36f2);border:1px solid #d9534f99;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.9rem;transition:all .2s;display:inline-flex;box-shadow:0 6px 18px #d9534f40}.btn-danger-solid:hover{transform:translateY(-1px);box-shadow:0 10px 22px #d9534f59}.btn-danger-solid:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.empty-state{text-align:center;color:var(--muted);padding:4rem 2rem}.empty-state-icon{background:var(--bg-secondary);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;display:flex}.empty-state h3{color:var(--text-secondary);margin-bottom:.5rem}.avatar{object-fit:cover;border:2px solid var(--border);border-radius:50%;width:36px;height:36px;transition:border-color .2s}.avatar:hover{border-color:var(--accent)}.avatar-fallback{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);width:36px;height:36px;color:var(--color-dark);font-size:.85rem;font-weight:700;font-family:var(--font-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 0%,#00355099 50%,var(--bg-secondary) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{height:1rem;margin-bottom:.5rem}.skeleton-text.short{width:40%}.skeleton-text.medium{width:65%}.skeleton-heading{width:50%;height:1.75rem;margin-bottom:1rem}.skeleton-input{height:2.75rem;margin-bottom:.75rem}.skeleton-block{height:6rem;margin-bottom:.75rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}@media(max-width:767px){.quote-preview-overlay{padding:0}.quote-preview-modal{border:none;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.quote-preview-header{gap:.6rem;padding:.7rem .75rem}.quote-preview-title{white-space:nowrap;font-size:1rem}.quote-preview-close{padding:.5rem .65rem;font-size:.84rem}.quote-history-header{flex-direction:column;gap:.8rem;align-items:flex-start!important;margin-bottom:1.1rem!important}.quote-history-header h2{font-size:1.2rem;line-height:1.2}.quote-history-new-btn{justify-content:center;width:100%}.quote-history-list{gap:.8rem!important}.quote-history-card{flex-direction:column;gap:.85rem;align-items:stretch!important;padding:.95rem!important}.quote-history-title-row{flex-direction:column;align-items:flex-start;gap:.35rem}.quote-history-title{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;width:100%;margin-bottom:0;padding-right:1.1rem;display:-webkit-box;overflow:hidden}.quote-history-id{max-width:100%;margin-top:.05rem;padding:.2rem .5rem!important;font-size:.68rem!important}.quote-history-meta{grid-template-columns:1fr;margin-top:.15rem;gap:.32rem!important;font-size:.78rem!important;display:grid!important}.quote-history-meta-template{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.quote-history-actions{flex-wrap:wrap;width:100%;gap:.45rem!important}.quote-history-actions>*{flex:100%}.quote-history-actions .btn-secondary,.quote-history-actions .btn-danger{justify-content:center;width:100%}.confirm-modal{width:100%;padding:1.1rem}.confirm-actions{flex-direction:column-reverse}.confirm-actions button{justify-content:center;width:100%}.toast-container{inset:auto .75rem 1rem}}.toast{pointer-events:auto;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;font-family:var(--font-secondary);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:.75rem;max-width:380px;padding:.875rem 1.25rem;animation:.35s toastIn;display:flex}.toast.leaving{animation:.3s forwards toastOut}.toast-success{color:#fff;background:#4a9d6eeb;border:1px solid #4a9d6e80}.toast-error{color:#fff;background:#d9534feb;border:1px solid #d9534f80}.toast-info{color:var(--text);border:1px solid var(--border);background:#003550f2}.toast-close{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:.25rem;transition:opacity .2s}.toast-close:hover{opacity:1}@keyframes toastIn{0%{opacity:0;transform:translate(24px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(24px)scale(.9)}}@media(max-width:767px){.toast{max-width:100%}@keyframes toastIn{0%{opacity:0;transform:translateY(16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(16px)scale(.9)}}}.fade-in{animation:.5s forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stagger-1{opacity:0;animation-delay:.1s}.stagger-2{opacity:0;animation-delay:.2s}.stagger-3{opacity:0;animation-delay:.3s}.stagger-4{opacity:0;animation-delay:.4s}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.clickable{cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::selection{color:var(--text);background:#0ff2f240}.template-builder{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:1.5rem;display:grid}@media(max-width:1024px){.template-builder{grid-template-columns:1fr}}.template-grid{border:1px dashed var(--border);border-radius:var(--radius-md);background:linear-gradient(#00151c99,#00151c59),repeating-linear-gradient(90deg,#004a6b59 0 1px,#0000 1px 8.33333%);min-height:420px;padding:.6rem}.template-block{border-radius:var(--radius-md);background:#00151ce6;border:1px solid #0ff2f238;flex-direction:column;gap:.6rem;height:100%;padding:.85rem .75rem;display:flex;box-shadow:0 12px 24px #00000040}.template-block.is-hidden{opacity:.55;background:#00151c8c;border-style:dashed}.template-block.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px #0ff2f233,0 10px 24px #0000004d}.template-block-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.template-block-title{font-size:.9rem;font-weight:600}.template-block-meta{color:var(--muted);align-items:center;margin-top:.25rem;font-size:.72rem;display:inline-flex}.template-block-actions{align-items:center;gap:.35rem;display:inline-flex}.template-block-action{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.2rem .45rem;font-size:.72rem;transition:all .2s}.template-block-action:hover{border-color:var(--accent);color:var(--accent);background:#0ff2f214}.template-block-handle{color:var(--accent);cursor:grab;align-items:center;display:inline-flex}.template-block-handle:active{cursor:grabbing}.template-block-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.template-block-toolbar-actions{flex-wrap:wrap;gap:.5rem;display:flex}.template-inspector{border:1px solid var(--border);border-radius:var(--radius-md);background:#00151c8c;gap:.85rem;padding:1rem;display:grid}.template-inspector-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.template-preview{position:sticky;top:6.5rem}.react-grid-item.react-grid-placeholder{border-radius:var(--radius-md);background:#0ff2f22e}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}
