.modal-content.login-modal-content{max-width:480px;padding:2.5rem}.login-title{text-align:center;margin-bottom:2rem;font-size:2rem}.login-desc{margin-bottom:2rem;color:var(--color-text-secondary);text-align:center}.login-footer{margin-top:1.5rem;text-align:center;font-size:.9rem;color:var(--color-text-secondary)}.login-consent-note{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:.65rem;margin-top:1.35rem;padding:.85rem .95rem;border:1px solid rgba(var(--color-primary-rgb),.16);border-radius:8px;background:color-mix(in srgb,var(--color-bg-card) 88%,var(--color-primary) 12%);text-align:left}.login-consent-note p{margin:0;color:var(--color-text-secondary);font-size:.85rem;line-height:1.55}.login-consent-note a{color:var(--color-primary);font-weight:700;text-decoration:none}.login-consent-dot{width:8px;height:8px;margin-top:.45rem;border-radius:999px;background:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.12)}.login-legal-check{display:flex;align-items:flex-start;gap:.75rem;width:100%;margin:0 0 1rem;padding:.9rem 1rem;border:1px solid rgba(var(--color-primary-rgb),.24);border-radius:8px;background:rgba(var(--color-primary-rgb),.06);color:var(--color-text-primary);cursor:pointer}.login-legal-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--color-primary);flex:0 0 auto}.login-legal-check span{display:flex;flex-direction:column;gap:.25rem;text-align:left;line-height:1.45}.login-legal-check small{color:var(--color-text-muted);font-size:.78rem}.google-login-wrapper.is-disabled{opacity:.55;pointer-events:none}.login-processing{display:flex;align-items:center;gap:12px;margin-top:1rem;padding:.9rem 1rem;border-radius:12px;background:rgba(var(--color-primary-rgb),.1);color:var(--color-text-primary);text-align:left}.login-processing strong{display:block;font-size:.9rem;margin-bottom:2px}.login-processing p{margin:0;font-size:.8rem;color:var(--color-text-secondary)}.login-processing-spinner{width:18px;height:18px;border:2px solid rgba(var(--color-primary-rgb),.25);border-top-color:var(--color-primary);border-radius:50%;animation:login-processing-spin .8s linear infinite;flex-shrink:0}@keyframes login-processing-spin{to{transform:rotate(360deg)}}.google-login-guard{width:100%;display:flex;justify-content:center}.legal-consent-overlay{z-index:3000}.modal-content.legal-consent-modal{width:min(760px,calc(100vw - 32px));height:min(88vh,860px);max-height:88vh;padding:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.legal-consent-close{top:.75rem;right:.75rem}.legal-consent-header h2{margin:0 2.5rem .5rem 0;color:var(--color-text-primary);font-size:1.45rem;line-height:1.3}.legal-consent-header{padding:1.75rem 2rem 1.25rem;border-bottom:1px solid rgba(var(--color-primary-rgb),.12)}.legal-consent-header p{margin:0;color:var(--color-text-secondary);line-height:1.5;font-size:.95rem}.legal-consent-scroll{min-height:0;overflow-y:auto;padding:1.25rem 2rem 1rem}.legal-document-list{display:grid;grid-template-columns:1fr;gap:1rem;min-height:0}.legal-document-panel{min-height:0;border:1px solid rgba(var(--color-primary-rgb),.18);border-radius:8px;background:var(--color-bg-card);overflow:hidden}.legal-document-heading{padding:1rem;border-bottom:1px solid rgba(var(--color-primary-rgb),.14);background:rgba(var(--color-primary-rgb),.05)}.legal-document-heading h3{margin:0 0 .35rem;color:var(--color-text-primary);font-size:1rem}.legal-document-heading span,.legal-change-summary{color:var(--color-text-muted);font-size:.82rem;line-height:1.45}.legal-change-summary{margin:0;padding:.75rem 1rem;border-bottom:1px solid rgba(var(--color-primary-rgb),.12)}.legal-document-alert,.legal-document-status{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.legal-document-alert{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid rgba(239,68,68,.24);border-radius:8px;background:#ef444414}.legal-document-status{margin:0;padding:1rem}.legal-document-body{max-height:260px;overflow-y:auto;padding:1rem;color:var(--color-text-secondary);font-size:.9rem;line-height:1.6}.legal-document-body h2,.legal-document-body h3{margin:1.1rem 0 .6rem;color:var(--color-text-primary);font-size:1rem;line-height:1.35}.legal-document-body p,.legal-document-body li{margin-bottom:.65rem}.legal-document-body ul,.legal-document-body ol{padding-left:1.25rem}.legal-check-list{display:grid;gap:.75rem;margin-top:1.25rem}.legal-check-list .login-legal-check{margin:0}.legal-consent-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 2rem 1.25rem;border-top:1px solid rgba(var(--color-primary-rgb),.12);background:color-mix(in srgb,var(--color-bg-card) 86%,var(--color-primary) 14%)}.legal-consent-actions p{margin:0;color:var(--color-text-muted);font-size:.86rem;line-height:1.45}.legal-consent-submit{min-width:190px;min-height:46px;justify-content:center;border-radius:999px;font-weight:700}.legal-consent-submit:disabled{cursor:not-allowed;opacity:.55}.signup-link{color:var(--color-primary);font-weight:600;margin-left:.5rem}@media(hover:hover){.signup-link:hover{text-decoration:underline}}.login-modal-actions{margin-top:2rem}.login-modal-submit{width:100%;justify-content:center}@media(max-width:480px){.modal-content.login-modal-content{padding:1.5rem;width:90%;margin:0 auto}.login-title{font-size:1.5rem;margin-bottom:1.5rem}.login-footer{font-size:.8rem}.login-consent-note,.login-legal-check{padding:.8rem}.modal-content.legal-consent-modal{width:92%;height:90vh;max-height:90vh}.legal-consent-header{padding:1.35rem 1.25rem 1rem}.legal-consent-scroll{padding:1rem 1.25rem}.legal-document-body{max-height:220px}.legal-consent-actions{grid-template-columns:1fr;padding:1rem 1.25rem 1.15rem}.legal-consent-submit{width:100%;min-width:0}.close-btn{top:.5rem;right:.5rem}}.profile-icon-btn{width:40px;height:40px;border-radius:50%;background-image:var(--color-primary-gradient);background-size:200% auto;display:flex;align-items:center;justify-content:center;padding:0;transition:background-position .5s ease,transform .2s ease,box-shadow .2s ease;position:relative;box-shadow:var(--shadow-btn)}@media(hover:hover){.profile-icon-btn:hover{background-position:right center;transform:translateY(2px);box-shadow:var(--shadow-glow)}}.profile-avatar-small{font-size:1rem;font-weight:700;color:#000;text-transform:uppercase}.profile-icon-btn.login-text{width:auto;min-width:60px;padding:0 16px;border-radius:20px}.profile-avatar-small.login-text-label{font-size:.85rem;font-weight:600;text-transform:none;white-space:nowrap}.profile-modal-backdrop{position:fixed;inset:0;z-index:9999;background-color:#0000;transition:background-color .3s ease;pointer-events:none}.profile-modal-backdrop.open{background-color:#0009;pointer-events:auto}.profile-modal{position:fixed;top:70px;right:24px;width:280px;background-color:var(--color-bg-card);color:var(--color-text-primary);border:none;border-radius:16px;box-shadow:var(--shadow-modal);z-index:10000;overflow:hidden;animation:profileSlideDown .3s ease-out}.profile-modal.closing{animation:profileSlideUp .3s ease-in forwards}@keyframes profileSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes profileSlideUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.profile-modal-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.profile-avatar-large{width:48px;height:48px;border-radius:50%;background-image:var(--color-primary-gradient);background-size:200% auto;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#000;text-transform:uppercase;box-shadow:var(--shadow-btn);flex-shrink:0;overflow:hidden}.profile-avatar-img-small,.profile-avatar-img-large{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-icon-btn:has(.profile-avatar-img-small){background-image:none;background-color:transparent;box-shadow:none;overflow:hidden}.profile-avatar-small:has(.profile-avatar-img-small){display:flex;align-items:center;justify-content:center;width:100%;height:100%}.profile-user-info{flex:1;min-width:0}.profile-user-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-user-email{font-size:.875rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-user-balance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px}.profile-balance-chip{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:4px;font-size:.75rem;color:var(--color-text-secondary);background:var(--color-bg-hover);padding:4px 6px;border-radius:8px;white-space:nowrap}.profile-balance-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.profile-balance-value{flex-shrink:0;font-weight:700;color:var(--color-text-primary)}.profile-modal-menu{padding:var(--spacing-sm) 0}.profile-menu-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);font-size:.9rem;color:var(--color-text-primary);background:none;border:none;cursor:pointer;transition:background-color .2s ease,color .2s ease;text-align:left}@media(hover:hover){.profile-menu-item:hover{background-color:var(--color-bg-hover)}}.profile-menu-item-icon{font-size:1.1rem;width:24px;text-align:center}.profile-menu-divider{height:1px;background-color:var(--color-border);margin:var(--spacing-sm) 0}.profile-menu-item.logout{color:#ef4444}@media(hover:hover){.profile-menu-item.logout:hover{background-color:#ef44441a}}@media(max-width:768px){.profile-modal{right:16px;width:calc(100% - 32px);max-width:320px}.profile-icon-btn,.language-icon-btn{width:36px;height:36px}.profile-avatar-small{font-size:.875rem}}.language-icon-btn{width:40px;height:40px;border-radius:50%;background:none;border:none;display:flex;align-items:center;justify-content:center;padding:0;transition:all .2s ease;color:var(--color-text-secondary);font-size:1.25rem}@media(hover:hover){.language-icon-btn:hover{color:var(--color-text-primary);transform:rotate(15deg)}}.language-icon-btn svg{width:20px;height:20px}.language-modal{right:80px}.profile-menu-item.active{background-color:var(--color-bg-hover);color:var(--color-primary)}.nav-icons-group{display:flex;align-items:center;gap:var(--spacing-sm)}.language-modal{position:fixed!important;top:70px!important;right:80px!important;left:auto!important;width:max-content!important;min-width:180px;max-width:80vw;height:auto!important;animation:none!important;opacity:0;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.language-modal.open{opacity:1;transform:translateY(0);pointer-events:auto}.language-fab-container{position:fixed;bottom:24px;right:24px;z-index:1000}.floating-lang-btn{width:48px;height:48px;border-radius:50%;background-color:var(--color-bg-btn);border:1px solid var(--color-border);box-shadow:var(--shadow-raised);display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;transition:all .3s ease;color:var(--color-text-primary)}@media(hover:hover){.floating-lang-btn:hover{transform:translateY(4px);box-shadow:var(--shadow-glow);background-color:var(--color-bg-hover)}}.language-fab-label{position:absolute;right:58px;top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--color-bg-card);color:var(--color-text-primary);font-size:.8rem;font-weight:600;padding:6px 12px;border-radius:8px;box-shadow:var(--shadow-raised);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform:translateY(-50%) translate(8px)}@media(hover:hover){.language-fab-container:hover .language-fab-label{opacity:1;transform:translateY(-50%) translate(0)}}@media(min-width:769px){.language-modal{top:auto!important;bottom:80px!important;right:24px!important;transform-origin:bottom right;animation:slideUpFade .3s ease-out!important}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.language-modal{inset:auto 24px 290px auto!important;width:140px!important;max-width:none!important;z-index:10000!important;opacity:0;visibility:hidden;border-radius:12px!important;box-shadow:0 4px 25px #00000080!important;transition:opacity .3s ease,transform .3s cubic-bezier(.4,0,.2,1),visibility .3s}.language-modal.open{opacity:1!important;visibility:visible!important;animation:landModalSlideUp .3s cubic-bezier(.4,0,.2,1) forwards!important}@keyframes landModalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.language-modal .profile-modal-header{padding:10px 14px!important;font-size:.85rem!important;background:none!important}.language-modal .profile-menu-item{padding:10px 14px!important;font-size:.85rem!important}.language-fab-container{display:none!important}}.ticket-badge{display:inline-flex;align-items:center;background-image:var(--color-primary-gradient);background-size:200% auto;border-radius:20px;padding:4px 12px;gap:8px;transition:background-position .5s ease,transform .1s ease;cursor:pointer;-webkit-user-select:none;user-select:none;height:32px;box-shadow:var(--shadow-btn);box-sizing:border-box}.ticket-badge-segment{display:inline-flex;align-items:center;gap:4px;height:22px}@media(hover:hover){.ticket-badge:hover{background-position:right center;transform:translateY(1px);box-shadow:var(--shadow-glow)}}.ticket-badge:active{transform:scale(.96)}.ticket-icon{font-size:.9rem;color:#000;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px}.ticket-credit-icon{width:20px;height:22px;flex-basis:20px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.34))}.ticket-badge .ticket-pass-icon{display:block;width:18px;height:22px;overflow:visible}.ticket-number{color:#000;font-size:.875rem;font-weight:700}.ticket-add-btn{width:20px;height:20px;border-radius:50%;background:#00000026;display:flex;align-items:center;justify-content:center;color:#000;font-size:14px;font-weight:600;line-height:1;transition:all .2s ease}.ticket-badge:hover .ticket-add-btn{background:#00000040;transform:scale(1.1)}:root{--color-primary: #2dd4bf;--color-primary-rgb: 45, 212, 191;--color-primary-gradient-start: #2dd4bf;--color-primary-gradient-mid: #fffad6;--color-primary-gradient-end: #2dd4bf;--color-primary-gradient: linear-gradient(90deg, var(--color-primary-gradient-start), var(--color-primary-gradient-mid), var(--color-primary-gradient-end));--color-primary-hover: #14b8a6;--color-error: #ff3b30;--color-bg-base: #040e0e;--color-bg-card: #0b1818;--color-bg-input: #1c2e2e;--color-bg-btn: #1c2e2e;--color-bg-hover: #1a4646;--color-bg-navbar: rgba(10, 24, 24, .9);--color-bg-overlay: rgba(10, 24, 24, .95);--color-bg-selection: #2a4040;--color-bg-image-card: #1c2e2e;--color-bg-ai-btn: #2a4040;--color-text-primary: #e7e7e7;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-border: transparent;--color-border-btn: rgba(255, 255, 255, .05);--color-border-hover: rgba(45, 212, 191, .3);--shadow-card: none;--shadow-raised: 5px 5px 10px rgba(20, 100, 95, .2), 2px 2px 6px rgba(45, 212, 191, .12), -1px -1px 4px rgba(255, 255, 255, .08);--shadow-raised-lg: 8px 8px 20px rgba(20, 100, 95, .4), 4px 4px 10px rgba(45, 212, 191, .18), -2px -2px 6px rgba(255, 255, 255, .08);--shadow-inset: inset 2px 2px 5px rgba(0, 0, 0, .6), inset -2px -2px 5px rgba(255, 255, 255, .05);--shadow-btn: 3px 3px 8px rgba(20, 100, 95, .35), -1px -1px 4px rgba(255, 255, 255, .08), 1px 1px 2px rgba(8, 178, 164, .1);--shadow-focus: 0 0 0 2px rgba(45, 212, 191, .2);--shadow-glow: 0 0 10px rgba(45, 212, 191, .3);--shadow-modal: 0 10px 30px rgba(45, 212, 191, .15);--shadow-bottom: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem}[data-theme=light]{--color-bg-base: #e6eeee;--color-bg-card: #faffff;--color-bg-input: #e2ebeb;--color-bg-btn: #e2ebeb;--color-bg-selection: #daf5f288;--color-bg-image-card: #e2ebeb;--color-bg-ai-btn: #daf5f288;--color-bg-hover: #afebe388;--color-bg-navbar: rgba(255, 255, 255, .9);--color-bg-overlay: rgba(255, 255, 255, .95);--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-primary: #08b2a4;--color-primary-rgb: 8, 178, 164;--color-primary-gradient-mid: #ece093;--color-primary-gradient: linear-gradient(90deg, var(--color-primary-gradient-start), var(--color-primary-gradient-mid), var(--color-primary-gradient-end));--color-primary-hover: #06b6d4;--color-border: transparent;--color-border-btn: rgba(0, 0, 0, .05);--color-border-hover: transparent;--shadow-card: none;--shadow-raised: 3px 3px 6px rgba(8, 178, 164, .2), -3px -3px 6px rgba(240, 249, 255, .9);--shadow-raised-lg: 6px 6px 12px rgba(8, 178, 164, .25), -6px -6px 12px rgba(240, 249, 255, .95);--shadow-btn: var(--shadow-raised);--shadow-inset: inset 2px 2px 5px rgba(8, 178, 164, .2), inset -2px -2px 5px rgba(255, 255, 255, .8);--shadow-focus: 0 0 0 2px rgba(8, 145, 178, .2);--shadow-glow: 0 0 10px rgba(8, 145, 178, .2);--shadow-modal: 0 10px 30px rgba(8, 178, 164, .15);--shadow-bottom: 0 4px 6px -1px rgba(163, 177, 198, .3), 0 2px 4px -1px rgba(163, 177, 198, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent!important;outline:none!important}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);background-color:var(--color-bg-base);color:var(--color-text-primary);line-height:1.6;min-height:100vh;display:flex;flex-direction:column;transition:background-color .3s ease,color .3s ease}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;-webkit-tap-highlight-color:transparent}input,textarea{font-family:inherit;font-size:inherit}input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],textarea{padding-left:var(--spacing-md);box-sizing:border-box}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background-color:var(--color-bg-base)}::-webkit-scrollbar-thumb{background-color:var(--color-text-muted);border-radius:6px;border:3px solid var(--color-bg-base)}@media(hover:hover){::-webkit-scrollbar-thumb:hover{background-color:var(--color-primary)}}::-webkit-scrollbar-corner{background-color:var(--color-bg-base)}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background-color:var(--color-bg-navbar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px -10px #2dd4bf4d;transition:background-color .3s ease,box-shadow .3s ease}.nav-container{width:100%;margin:0 auto;padding:0 var(--spacing-2xl);height:64px;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;font-size:1.125rem}.logo-icon{color:var(--color-primary);font-size:1.5rem}.brand-logo{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:0;line-height:1;color:var(--color-text-primary);vertical-align:middle}.brand-logo__image{display:block;flex:0 0 auto;width:auto;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.brand-logo__text{min-width:0;color:inherit;font-weight:800;letter-spacing:0;white-space:nowrap}.brand-logo--mark{width:42px;height:42px}.brand-logo--mark .brand-logo__image{width:100%;height:100%}.brand-logo--compact{height:34px}.brand-logo--compact .brand-logo__image{width:54px;height:34px}.brand-logo--lockup{height:46px}.brand-logo--lockup .brand-logo__image{width:74px;height:46px}.brand-logo--tone-light,.brand-logo--tone-dark{color:#f8fafc}.nav-brand-logo{height:36px}.nav-brand-logo .brand-logo__image{width:50px;height:32px}.nav-brand-logo .brand-logo__text{font-size:1.125rem}.empty-brand-mark{width:58px;height:58px;margin:0 auto 14px;opacity:.92}.pass-bundle-icon{--pass-body-start: #526273;--pass-body-end: #1f2937;--pass-header-start: #39d8c7;--pass-header-end: #7de5e7;--pass-accent-line: #67e8f9;--pass-strap: rgba(30, 41, 59, .9);--pass-strap-base: rgba(30, 41, 59, .78);--pass-shadow: rgba(15, 23, 42, .18);--pass-hole: rgba(255, 255, 255, .76);--pass-strip-detail: rgba(255, 255, 255, .28);--pass-line-soft: rgba(255, 255, 255, .3);--pass-line-faint: rgba(255, 255, 255, .22);--pass-glass-start: rgba(255, 255, 255, .3);--pass-glass-mid: rgba(255, 255, 255, .08);--pass-glass-end: rgba(255, 255, 255, 0)}.pass-bundle-icon--advanced{--pass-body-start: #43546a;--pass-header-start: #60c9ee;--pass-header-end: #54dccd;--pass-accent-line: #4fd8cf}.pass-bundle-icon--master{--pass-body-start: #514a78;--pass-header-start: #b99df4;--pass-header-end: #72d7e8;--pass-accent-line: #83def1}[data-theme=dark] .pass-bundle-icon{--pass-body-start: #687b8b;--pass-body-end: #334252;--pass-header-start: #6ed7cd;--pass-header-end: #b2dca8;--pass-accent-line: #96e7dc;--pass-strap: rgba(71, 85, 105, .96);--pass-strap-base: rgba(82, 95, 115, .94);--pass-shadow: rgba(0, 0, 0, .2);--pass-hole: rgba(238, 255, 250, .8);--pass-strip-detail: rgba(10, 33, 38, .16);--pass-line-soft: rgba(235, 255, 250, .34);--pass-line-faint: rgba(235, 255, 250, .26);--pass-glass-start: rgba(255, 255, 255, .24);--pass-glass-mid: rgba(255, 255, 255, .06)}[data-theme=dark] .pass-bundle-icon--advanced{--pass-body-start: #5e7689;--pass-body-end: #334756;--pass-header-start: #79cce7;--pass-header-end: #78d9c8;--pass-accent-line: #89e3d7}[data-theme=dark] .pass-bundle-icon--master{--pass-body-start: #6d658d;--pass-body-end: #413d63;--pass-header-start: #b6a4e8;--pass-header-end: #88d2de;--pass-accent-line: #9adae7}.nav-menu{display:flex;align-items:center;gap:var(--spacing-lg)}.menu-links{display:contents}.menu-utilities{display:flex;align-items:center;gap:var(--spacing-lg)}.menu-header-mobile,.menu-divider,.utility-label,.close-menu-btn{display:none}.utility-row{display:contents}.nav-link{color:var(--color-text-secondary);font-size:.875rem;transition:color .2s ease;cursor:pointer}@media(hover:hover){.nav-link:hover{color:var(--color-text-primary)}}.emoji-btn{font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}@media(hover:hover){.emoji-btn:hover{transform:scale(1.1)}}.hamburger-btn{display:none}.nav-overlay{position:fixed;inset:0;background-color:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:150;opacity:0;visibility:hidden;transition:all .3s ease}.nav-overlay.active{opacity:1;visibility:visible}.profile-modal-container{position:relative}.modal-overlay,.profile-dropdown,.language-modal{z-index:9999!important}.main-content{flex:1;max-width:1024px;margin:0 auto;padding:calc(64px + var(--spacing-2xl)) var(--spacing-lg) var(--spacing-2xl);width:100%}.hero-section{text-align:center;margin-bottom:var(--spacing-2xl)}.hero-title{font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:var(--spacing-lg);background-image:var(--color-primary-gradient);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradientText 3s linear infinite}.hero-description{color:var(--color-text-secondary);font-size:1rem;line-height:1.8}.form-section{background-color:transparent;border:none;border-radius:0;padding:0;margin-bottom:var(--spacing-xl);box-shadow:none;transition:none}.estimate-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.form-input{background-color:var(--color-bg-input);border:none;box-shadow:var(--shadow-inset);border-radius:16px;padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-primary);font-size:1rem;transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.form-textarea{resize:vertical;min-height:100px}.form-actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-md)}.submit-btn{display:flex;align-items:center;gap:var(--spacing-sm);background-image:var(--color-primary-gradient);background-size:200% auto;color:#000;padding:var(--spacing-md) var(--spacing-xl);border-radius:16px;font-weight:600;font-size:1rem;transition:all .2s ease;box-shadow:var(--shadow-btn)}@media(hover:hover){.submit-btn:hover{background-position:right center;transform:translateY(1px);box-shadow:2px 2px 5px #14645f33}}.submit-btn:active{transform:scale(.96)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.nav-btn{background-image:var(--color-primary-gradient);background-size:200% auto;color:#000;padding:0 16px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:20px;font-weight:700;font-size:.875rem;transition:all .2s ease;box-shadow:var(--shadow-btn)}@media(hover:hover){.nav-btn:hover{background-position:right center;transform:translateY(1px);box-shadow:2px 2px 4px #14645f33}}.login-tooltip{position:absolute;background-color:var(--color-primary);color:#fff;padding:8px 12px;border-radius:12px;font-size:.85rem;line-height:1.3;white-space:nowrap;text-align:center;box-shadow:0 4px 12px #08b2a466;animation:bounce 2s infinite,fadeIn .5s ease-out forwards;z-index:1000;pointer-events:none}[data-theme=dark] .login-tooltip{color:#1a1a1a;font-weight:500}.login-tooltip strong{color:#fff9c4;font-weight:800}.login-tooltip:after{content:"";position:absolute;border-width:6px;border-style:solid}.login-tooltip-mobile{top:calc(100% + 12px);left:0;animation:bouncePc 2s infinite,fadeIn .5s ease-out forwards}.login-tooltip-mobile:after{top:-12px;left:16px;right:auto;transform:none;border-color:transparent transparent var(--color-primary) transparent}.login-tooltip-pc{top:calc(100% + 16px);right:0}.login-tooltip-pc:after{top:-12px;right:16px;border-color:transparent transparent var(--color-primary) transparent}.hamburger-wrapper{position:relative;display:none}.login-tooltip-hamburger{display:none}@keyframes bounce{0%,to{transform:translateY(0) translate(-50%)}50%{transform:translateY(-4px) translate(-50%)}}@keyframes bouncePc{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.login-tooltip-pc{animation:bouncePc 2s infinite,fadeIn .5s ease-out forwards}@keyframes bounceHamburger{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.theme-toggle-btn{color:var(--color-text-secondary);font-size:1.25rem;transition:color .2s ease,transform .2s ease}@media(hover:hover){.theme-toggle-btn:hover{color:var(--color-text-primary);transform:rotate(15deg)}}.mobile-lang-list{display:flex;flex-direction:column;margin-top:8px;background-color:var(--color-bg-card);border-radius:12px;overflow:hidden;animation:fadeIn .2s ease}.mobile-lang-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:var(--color-text-secondary);font-size:1rem;text-align:left;transition:background-color .2s}.mobile-lang-item.active{color:var(--color-primary);background-color:#2dd4bf1a;font-weight:600}.footer{padding:3rem 2rem 2rem;border-top:1px solid var(--color-border);background-color:var(--color-bg-base);margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.footer-brand{display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding-bottom:.75rem}.footer-brand-logo{color:var(--color-text-primary)}.footer-brand-logo .brand-logo__image{width:52px;height:32px}.footer-brand-logo .brand-logo__text{font-size:1rem}.fab-container{position:fixed;bottom:var(--spacing-2xl);right:var(--spacing-2xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);z-index:50;transition:opacity .3s ease}.mobile-only-row,.menu-footer-mobile{display:none!important}@media(max-width:768px){.fab-container{display:none!important}}.fab-item{position:relative;display:flex;flex-direction:row-reverse;align-items:center;gap:var(--spacing-sm)}.floating-fab-btn,.theme-toggle-btn{width:48px;height:48px;border-radius:50%;background-color:var(--color-bg-card);color:var(--color-text-primary);box-shadow:var(--shadow-raised);display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .2s ease;border:1px solid var(--color-border);flex-shrink:0}@media(hover:hover){.floating-fab-btn:hover,.theme-toggle-btn:hover{transform:translateY(1px);box-shadow:2px 2px 5px #14645f33;background-color:var(--color-bg-hover)}}.floating-fab-btn:active,.theme-toggle-btn:active{transform:translateY(1px);box-shadow:var(--shadow-inset)}.fab-label{background-color:var(--color-bg-overlay);color:var(--color-text-primary);padding:6px 10px;border-radius:6px;font-size:.8rem;font-weight:500;pointer-events:none;opacity:0;transform:translate(10px);transition:all .2s ease;box-shadow:var(--shadow-raised);white-space:nowrap}@media(hover:hover){.fab-item:hover .fab-label{opacity:1;transform:translate(0)}}.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.5rem}.footer-link{color:var(--color-text-primary);font-size:.95rem;text-decoration:none;transition:color .2s ease}.footer-contact-link{color:var(--color-text-secondary);font-weight:600}@media(hover:hover){.footer-link:hover{color:var(--color-primary)}}.footer-divider{color:var(--color-border);font-size:.9rem}.footer-info{display:flex;flex-direction:column;gap:.4rem;color:var(--color-text-muted);font-size:.85rem;line-height:1.6}.footer-info p{margin:0}.footer-contact-notice{margin-top:.35rem;color:var(--color-text-secondary)}.footer-copyright{margin-top:.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.85rem;text-align:left}@media(max-width:768px){.footer{padding:2rem 1rem 6rem}.footer-links{gap:.75rem}.footer-brand{align-items:flex-start;flex-direction:column;gap:.35rem}.footer-divider{display:none}.footer-link{font-size:.9rem}.footer-info p{word-break:keep-all}.fab-container{display:none!important}.menu-footer-mobile{display:flex!important;justify-content:center;gap:32px;padding:24px 24px 40px;margin-top:60px;border-top:1px solid rgba(255,255,255,.05);background:none!important;background-color:transparent!important}.mobile-fab-style-item{display:flex;flex-direction:column;align-items:center;gap:8px}.mobile-fab-style-item .theme-toggle-btn,.mobile-fab-style-item .floating-fab-btn{width:48px!important;height:48px!important;border-radius:50%!important;background-color:var(--color-bg-card)!important;box-shadow:var(--shadow-raised)!important}.mobile-fab-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.pc-profile-item{display:none!important}}.loading-overlay{position:fixed;inset:0;background-color:var(--color-bg-base);display:flex;align-items:center;justify-content:center;z-index:1000;transition:opacity .3s ease}.loading-overlay.hidden{opacity:0;pointer-events:none}.loading-spinner{width:48px;height:48px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;margin:0 auto var(--spacing-lg);box-shadow:var(--shadow-glow);animation:spin 1s linear infinite,spinGlow 2s linear infinite}.loading-content{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;padding:32px;border-radius:24px;background:linear-gradient(135deg,rgba(45,212,191,.12),transparent 36%),linear-gradient(315deg,rgba(245,158,11,.12),transparent 32%),var(--color-bg-card);box-shadow:var(--shadow-raised-lg)}.estimate-loading-visual{position:relative;width:112px;height:112px;margin:0 auto 24px;display:grid;place-items:center}.estimate-loading-stage-shell{position:absolute;inset:0;border-radius:30px;background:radial-gradient(circle at 18% 18%,rgba(20,184,166,.24),transparent 28%),radial-gradient(circle at 82% 24%,rgba(56,189,248,.2),transparent 24%),linear-gradient(145deg,#0f766e2e,#0f172a0a);border:1px solid rgba(20,184,166,.18);box-shadow:0 18px 40px #0f172a1f;overflow:hidden}.estimate-loading-stage-shell:before,.estimate-loading-stage-shell:after{content:"";position:absolute;inset:14px;border-radius:22px}.estimate-loading-stage-shell:before{border:1px solid rgba(148,163,184,.18)}.estimate-loading-stage-shell:after{inset:22px;background:linear-gradient(135deg,#ffffff42,#fff0)}.estimate-loading-stage-node{position:absolute;display:block;border-radius:999px;background:linear-gradient(135deg,#14b8a6f5,#38bdf8eb);box-shadow:0 0 18px #14b8a642}.estimate-loading-checkmark{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible}.estimate-loading-checkmark__ring,.estimate-loading-checkmark__path{fill:none;stroke-linecap:round;stroke-linejoin:round}.estimate-loading-checkmark__ring{stroke:#22c55ef5;stroke-width:5;filter:drop-shadow(0 16px 18px rgba(34,197,94,.16))}.estimate-loading-checkmark__path{stroke:#22c55e;stroke-width:8}.estimate-loading-checkmark__spark{fill:#22c55ef2;transform-origin:83px 33px}.estimate-loading-chip{width:64px;height:64px;display:grid;place-items:center;border-radius:14px;color:#f8fffe;background:linear-gradient(135deg,#0f766e,#14b8a6 55%,#38bdf8);background-size:220% auto;font-weight:900;letter-spacing:0;box-shadow:0 14px 28px #14b8a647;animation:loadingChipFloat 2.8s ease-in-out infinite,loadingProgressFlow 3.2s linear infinite;z-index:1}.estimate-loading-chip__label{font-size:.92rem;letter-spacing:.08em}.estimate-loading-copy{text-align:center;margin-bottom:24px}.estimate-loading-kicker{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 12px;margin-bottom:12px;border-radius:999px;background:#2dd4bf1f;color:var(--color-primary);font-size:.84rem;font-weight:800}.estimate-loading-title{margin:0 0 10px;color:var(--color-text-primary);font-size:1.45rem;line-height:1.35;letter-spacing:0}.estimate-loading-message{min-height:48px;color:var(--color-text-secondary);font-size:.98rem;line-height:1.6}.estimate-loading-resume-note{margin:12px auto 0;max-width:420px;color:var(--color-text-muted);font-size:.82rem;line-height:1.6}.estimate-loading-progress{margin-bottom:14px}.estimate-loading-progress__meta,.estimate-loading-stats{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--color-text-secondary);font-size:.9rem;font-weight:700}.estimate-loading-progress__track{position:relative;height:12px;margin-top:10px;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,#0f766e14,#14b8a624,#38bdf81f,#f59e0b1f);box-shadow:inset 0 0 0 1px #94a3b81f,var(--shadow-inset)}.estimate-loading-progress__bar{position:relative;height:100%;min-width:6%;border-radius:inherit;background:var(--color-primary-gradient);background-size:240% auto;box-shadow:0 0 18px rgba(var(--color-primary-rgb),.34);transition:width .85s cubic-bezier(.22,1,.36,1);animation:loadingProgressFlow 3s linear infinite}.estimate-loading-progress__bar:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.42) 46%,transparent 78%);transform:translate(-120%);animation:loadingBarShine 1.8s ease-in-out infinite}.estimate-loading-stats{margin-bottom:20px;color:var(--color-text-muted);font-size:.84rem}.estimate-loading-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none}.estimate-loading-step{display:grid;grid-template-columns:18px 1fr;gap:10px;min-height:76px;padding:12px;border-radius:12px;background:var(--color-bg-input);color:var(--color-text-muted)}.estimate-loading-step__dot{width:12px;height:12px;margin-top:5px;border-radius:4px;background:var(--color-text-muted);opacity:.5}.estimate-loading-step__text{display:flex;flex-direction:column;min-width:0;gap:3px}.estimate-loading-step strong{color:var(--color-text-secondary);font-size:.86rem;line-height:1.35}.estimate-loading-step small{color:inherit;font-size:.76rem;line-height:1.45}.estimate-loading-step.is-current{background:#2dd4bf21;color:var(--color-text-secondary)}.estimate-loading-step.is-current .estimate-loading-step__dot{background:var(--color-primary);opacity:1;animation:loadingCurrentPulse 1.1s ease-in-out infinite}.estimate-loading-step.is-current strong{color:var(--color-primary)}.estimate-loading-step.is-done .estimate-loading-step__dot{background:#60a5fa;opacity:1}.estimate-loading-visual.stage-queued .estimate-loading-stage-shell{animation:loadingShellPulse 1.8s ease-in-out infinite}.estimate-loading-visual.stage-queued .node-a,.estimate-loading-visual.stage-queued .node-b,.estimate-loading-visual.stage-queued .node-c,.estimate-loading-visual.stage-queued .node-d{top:52px;width:10px;height:10px;animation:loadingQueueDots 1.1s ease-in-out infinite}.estimate-loading-visual.stage-queued .node-a{left:24px;animation-delay:0s}.estimate-loading-visual.stage-queued .node-b{left:40px;animation-delay:.12s}.estimate-loading-visual.stage-queued .node-c{left:56px;animation-delay:.24s}.estimate-loading-visual.stage-queued .node-d{left:72px;animation-delay:.36s}.estimate-loading-visual.stage-analyzing .node-a,.estimate-loading-visual.stage-analyzing .node-b,.estimate-loading-visual.stage-analyzing .node-c,.estimate-loading-visual.stage-analyzing .node-d{bottom:20px;width:12px;border-radius:8px;animation:loadingBars 1.4s ease-in-out infinite}.estimate-loading-visual.stage-analyzing .node-a{left:22px;height:28px}.estimate-loading-visual.stage-analyzing .node-b{left:38px;height:42px;animation-delay:.15s}.estimate-loading-visual.stage-analyzing .node-c{left:54px;height:34px;animation-delay:.3s}.estimate-loading-visual.stage-analyzing .node-d{left:70px;height:48px;animation-delay:.45s}.estimate-loading-visual.stage-searching .estimate-loading-stage-shell{background:radial-gradient(circle at 50% 50%,rgba(20,184,166,.24),transparent 16%),radial-gradient(circle at 50% 50%,rgba(56,189,248,.12),transparent 58%),linear-gradient(145deg,#0f766e2e,#0f172a0a)}.estimate-loading-visual.stage-searching .estimate-loading-stage-shell:before{inset:18%;border:1px solid rgba(56,189,248,.18);box-shadow:0 0 0 12px #38bdf80a,inset 0 0 20px #14b8a61a}.estimate-loading-visual.stage-searching .estimate-loading-stage-shell:after{inset:50% auto auto 50%;width:64%;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(56,189,248,.9),transparent);transform-origin:left center;animation:loadingSonarBeam 2.4s linear infinite}.estimate-loading-visual.stage-searching .node-a{top:50%;left:50%;z-index:2;width:14px;height:14px;transform:translate(-50%,-50%);box-shadow:0 0 18px #38bdf8a8;animation:loadingBeaconPulse 1.25s ease-in-out infinite}.estimate-loading-visual.stage-searching .node-b,.estimate-loading-visual.stage-searching .node-c,.estimate-loading-visual.stage-searching .node-d{top:50%;left:50%;background:transparent;border:2px solid rgba(56,189,248,.72);box-shadow:none;transform:translate(-50%,-50%) scale(.42);animation:loadingSonarRing 2.4s ease-out infinite}.estimate-loading-visual.stage-searching .node-b{width:32%;height:32%;animation-delay:0s}.estimate-loading-visual.stage-searching .node-c{width:54%;height:54%;animation-delay:.45s}.estimate-loading-visual.stage-searching .node-d{width:76%;height:76%;animation-delay:.9s}.estimate-loading-visual.stage-balancing .node-a,.estimate-loading-visual.stage-balancing .node-b,.estimate-loading-visual.stage-balancing .node-c,.estimate-loading-visual.stage-balancing .node-d{border-radius:999px}.estimate-loading-visual.stage-balancing .estimate-loading-stage-shell:before{inset:41% 22% auto;height:4px;border:0;border-radius:999px;background:linear-gradient(90deg,#38bdf8eb,#14b8a6fa,#38bdf8eb);box-shadow:0 0 18px #14b8a633;transform-origin:center;animation:loadingScaleBeam 2.1s ease-in-out infinite}.estimate-loading-visual.stage-balancing .estimate-loading-stage-shell:after{inset:43% auto auto 50%;width:4px;height:36%;border-radius:999px;background:#14b8a6e6;transform:translate(-50%);box-shadow:0 0 16px #14b8a633}.estimate-loading-visual.stage-balancing .node-a{left:38%;bottom:17%;width:24%;height:4px;background:#38bdf8db;box-shadow:0 0 16px #38bdf82e}.estimate-loading-visual.stage-balancing .node-b,.estimate-loading-visual.stage-balancing .node-c{top:54%;width:28%;height:13%;border:2px solid rgba(56,189,248,.86);border-top:0;border-radius:0 0 999px 999px;background:linear-gradient(180deg,#38bdf81a,#14b8a63d);box-shadow:0 8px 16px #0f172a14,inset 0 -5px 8px #14b8a61a;animation:loadingScaleDish 2.1s ease-in-out infinite}.estimate-loading-visual.stage-balancing .node-b{left:17%}.estimate-loading-visual.stage-balancing .node-c{right:17%;animation-delay:1.05s}.estimate-loading-visual.stage-balancing .node-d{top:36%;left:50%;width:12px;height:12px;transform:translate(-50%);box-shadow:0 0 16px #14b8a65c}.estimate-loading-visual.stage-compatibility .node-a,.estimate-loading-visual.stage-compatibility .node-b,.estimate-loading-visual.stage-compatibility .node-c,.estimate-loading-visual.stage-compatibility .node-d{width:14px;height:14px;animation:loadingLinkPulse 1.5s ease-in-out infinite}.estimate-loading-visual.stage-compatibility .node-a{top:24px;left:26px}.estimate-loading-visual.stage-compatibility .node-b{top:24px;right:26px;animation-delay:.2s}.estimate-loading-visual.stage-compatibility .node-c{bottom:24px;left:26px;animation-delay:.4s}.estimate-loading-visual.stage-compatibility .node-d{bottom:24px;right:26px;animation-delay:.6s}.estimate-loading-visual.stage-reviewing .estimate-loading-stage-shell{overflow:visible;border-radius:18px;background:linear-gradient(90deg,rgba(255,255,255,.42) 0 13%,transparent 13%),linear-gradient(145deg,#fff5dc,#fff8e7 74%,#d8ecff 74%);border-color:#0f172a14}.estimate-loading-visual.stage-reviewing .estimate-loading-stage-shell:before{content:"AI";inset:12px auto auto 14px;width:27px;height:20px;display:grid;place-items:center;border:0;border-radius:7px;background:linear-gradient(135deg,#0f766e,#38bdf8);color:#fff;font-size:.62rem;font-weight:900;box-shadow:0 6px 14px #14b8a638;animation:loadingReviewBadge 1.8s ease-in-out infinite}.estimate-loading-visual.stage-reviewing .estimate-loading-stage-shell:after{inset:auto 13px 18px auto;width:46px;height:46px;border:7px solid #ff3f5f;border-right-color:#0f172af2;border-radius:50%;background:#dbf2ffb8;box-shadow:0 0 0 5px #0f172af2,inset 10px 0 #ffffff75;animation:loadingReviewLens 2.4s ease-in-out infinite}.estimate-loading-visual.stage-reviewing .node-a,.estimate-loading-visual.stage-reviewing .node-b{left:16px;height:6px;border-radius:999px;background:#0f172aeb;box-shadow:none;animation:loadingReviewLines 1.8s ease-in-out infinite}.estimate-loading-visual.stage-reviewing .node-a{top:42px;width:60px;box-shadow:0 17px #0f172ae6,0 34px #0f172ae6}.estimate-loading-visual.stage-reviewing .node-b{top:78px;width:50px;animation-delay:.18s}.estimate-loading-visual.stage-reviewing .node-c{right:9px;bottom:8px;width:9px;height:32px;border-radius:999px;background:linear-gradient(180deg,#7dd3fc,#0f766e);box-shadow:0 0 0 4px #0f172af2;transform:rotate(-42deg);animation:loadingReviewHandle 2.4s ease-in-out infinite}.estimate-loading-visual.stage-reviewing .node-d{top:59px;left:63px;z-index:2;width:9px;height:9px;background:#fff;box-shadow:0 0 14px #ffffffe6;animation:loadingReviewFocus 1.45s ease-in-out infinite}.estimate-loading-visual.stage-finalizing .node-a,.estimate-loading-visual.stage-finalizing .node-b,.estimate-loading-visual.stage-finalizing .node-c{left:28px;width:56px;height:8px;border-radius:999px;animation:loadingFinalizeLines 1.6s ease-in-out infinite}.estimate-loading-visual.stage-finalizing .node-a{top:28px}.estimate-loading-visual.stage-finalizing .node-b{top:46px;animation-delay:.15s}.estimate-loading-visual.stage-finalizing .node-c{top:64px;animation-delay:.3s}.estimate-loading-visual.stage-finalizing .node-d{right:24px;bottom:22px;width:18px;height:18px;border-radius:6px;animation:loadingSealPulse 1.5s ease-in-out infinite}.estimate-loading-visual.stage-almost_done .estimate-loading-stage-shell{background:radial-gradient(circle at 50% 50%,rgba(34,197,94,.18),transparent 56%),linear-gradient(145deg,#14b8a629,#0f172a08)}.estimate-loading-visual.stage-almost_done .estimate-loading-stage-shell:before,.estimate-loading-visual.stage-almost_done .estimate-loading-stage-shell:after{display:none}.estimate-loading-visual.stage-almost_done .estimate-loading-stage-node{display:none}.estimate-loading-visual.stage-almost_done .estimate-loading-checkmark{display:block}.estimate-loading-visual.stage-almost_done .estimate-loading-checkmark__ring{stroke-dasharray:220;stroke-dashoffset:220;transform-origin:56px 56px;animation:loadingCheckCircle 1.65s ease-out infinite}.estimate-loading-visual.stage-almost_done .estimate-loading-checkmark__path{stroke-dasharray:62;stroke-dashoffset:62;animation:loadingCheckPath 1.65s ease-out infinite}.estimate-loading-visual.stage-almost_done .estimate-loading-checkmark__spark{animation:loadingCheckSpark 1.65s ease-out infinite}@keyframes loadingPanelTilt{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(2deg) scale(1.03)}}@keyframes loadingScan{0%,to{opacity:.35;transform:scale(.96)}50%{opacity:1;transform:scale(1.08)}}@keyframes loadingShellPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes loadingChipFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes loadingQueueDots{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-10px);opacity:1}}@keyframes loadingBars{0%,to{transform:scaleY(.72);opacity:.45}50%{transform:scaleY(1.08);opacity:1}}@keyframes loadingRadar{0%{transform:scale(.95);opacity:.2}to{transform:scale(1.05);opacity:0}}@keyframes loadingSweep{0%,to{transform:rotate(-15deg);opacity:.6}50%{transform:rotate(15deg);opacity:1}}@keyframes loadingSonarBeam{0%{transform:rotate(0) scaleX(.98);opacity:.9}50%{transform:rotate(180deg) scaleX(1);opacity:.74}to{transform:rotate(360deg) scaleX(.98);opacity:.9}}@keyframes loadingSonarRing{0%{transform:translate(-50%,-50%) scale(.42);opacity:0}24%{opacity:.92}to{transform:translate(-50%,-50%) scale(1);opacity:0}}@keyframes loadingBeaconPulse{0%,to{transform:translate(-50%,-50%) scale(.9);opacity:.72}50%{transform:translate(-50%,-50%) scale(1.18);opacity:1}}@keyframes loadingScaleBeam{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes loadingScaleDish{0%,to{transform:translateY(5px)}50%{transform:translateY(-3px)}}@keyframes loadingBalance{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes loadingReviewBadge{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes loadingReviewLens{0%,to{transform:translate(-3px,1px) scale(.96)}50%{transform:translate(5px,-4px) scale(1.03)}}@keyframes loadingReviewLines{0%,to{opacity:.52}45%,65%{opacity:1}}@keyframes loadingReviewHandle{0%,to{transform:translate(-3px,1px) rotate(-42deg)}50%{transform:translate(5px,-4px) rotate(-42deg)}}@keyframes loadingReviewFocus{0%,to{transform:scale(.78);opacity:.32}50%{transform:scale(1.2);opacity:.95}}@keyframes loadingCheckCircle{0%{stroke-dashoffset:220;transform:scale(.82);opacity:0}28%,to{stroke-dashoffset:0;transform:scale(1);opacity:1}}@keyframes loadingCheckPath{0%,34%{stroke-dashoffset:62;opacity:0}42%{opacity:1}64%,to{stroke-dashoffset:0;opacity:1}}@keyframes loadingCheckSpark{0%,60%,to{transform:scale(.35);opacity:0}76%{transform:scale(1.22);opacity:1}}@keyframes loadingLinkPulse{0%,to{transform:scale(.92);opacity:.6}50%{transform:scale(1.16);opacity:1}}@keyframes loadingSpark{0%,to{opacity:.3;height:24px}50%{opacity:1;height:38px}}@keyframes loadingFinalizeLines{0%,to{transform:translate(0);opacity:.55}50%{transform:translate(6px);opacity:1}}@keyframes loadingSealPulse{0%,to{transform:scale(.92);opacity:.5}50%{transform:scale(1.14);opacity:1}}@keyframes loadingProgressFlow{0%{background-position:0% center}to{background-position:180% center}}@keyframes loadingCurrentPulse{0%,to{transform:scale(1);box-shadow:0 0 #2dd4bf00}50%{transform:scale(1.2);box-shadow:0 0 14px #2dd4bfb3}}@keyframes loadingBarShine{0%{transform:translate(-120%)}to{transform:translate(140%)}}@keyframes loadingFinishRing{0%,to{transform:scale(.94);opacity:.7}50%{transform:scale(1.04);opacity:1}}@media(max-width:768px){.loading-content{width:min(100%,calc(100vw - 24px));padding:22px 16px;border-radius:20px}.estimate-loading-visual{width:88px;height:88px;margin-bottom:18px}.estimate-loading-chip{width:52px;height:52px;border-radius:12px}.estimate-loading-title{font-size:1.18rem}.estimate-loading-message{min-height:68px;font-size:.9rem}.estimate-loading-progress__meta,.estimate-loading-stats{font-size:.8rem}.estimate-loading-steps{grid-template-columns:1fr;gap:8px}.estimate-loading-step{min-height:0;padding:10px}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinGlow{0%,to{box-shadow:0 0 15px var(--color-primary)}50%{box-shadow:0 0 15px #f472b6}}@keyframes gradientText{0%{background-position:0% center}to{background-position:200% center}}.hidden{display:none!important}@media(max-width:768px){:root{--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;font-size:14px}.main-content{padding:calc(64px + var(--spacing-2xl)) var(--spacing-md) var(--spacing-xl)}.hero-title{font-size:2.25rem}.navbar.menu-open{border-bottom:none!important;box-shadow:none!important;z-index:1000!important}.hamburger-wrapper{display:flex;align-items:center;position:relative}.hamburger-btn{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:18px;cursor:pointer;z-index:10}.login-tooltip-hamburger{display:block;position:absolute;top:calc(100% + 16px);right:-4px;pointer-events:auto;cursor:pointer;animation:bounceHamburger 2s infinite,fadeIn .5s ease-out forwards;font-size:.85rem}.login-tooltip-hamburger:after{top:-12px;right:10px;left:auto;transform:none;border-color:transparent transparent var(--color-primary) transparent}.nav-menu{position:fixed;top:0;right:0;width:280px;height:100vh;background-color:var(--color-bg-navbar);border:none;padding:24px;flex-direction:column;align-items:stretch;gap:0;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1),visibility 0s linear .3s;z-index:200;box-shadow:-4px 0 24px #00000080;display:flex!important;visibility:hidden}.nav-menu.active{transform:translate(0);visibility:visible;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility 0s linear 0s}.menu-header-mobile{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;border:none}.menu-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.close-menu-btn{font-size:1.5rem;color:var(--color-text-secondary);padding:4px}.menu-links{display:flex;flex-direction:column;width:100%;margin-bottom:20px}.menu-links .nav-link{display:block;padding:16px 0;font-size:1.1rem;border:none}.menu-divider{display:block;width:100%;height:1px;background-color:transparent;margin:10px 0 20px}.menu-utilities{display:flex!important;flex-direction:column!important;gap:12px}.utility-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#ffffff08;border-radius:12px}.utility-label{display:block;font-size:1rem;color:var(--color-text-secondary);font-weight:500}.hamburger-line{width:100%;height:2px;background-color:var(--color-text-primary);border-radius:2px;transition:all .3s ease}.close-menu-btn{display:block!important;font-size:1.5rem;width:32px;height:32px;color:var(--color-text-secondary);padding:0;display:flex;align-items:center;justify-content:center}.utility-row .theme-toggle-btn,.utility-row .emoji-btn{padding:0;width:auto}}@media(max-width:768px){.pc-profile-item{display:none!important}}.pc-only{display:contents}.mobile-only{display:none}@media(max-width:768px){.pc-only{display:none!important}.mobile-only{display:block!important;width:100%}.mobile-lang-btn{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;color:inherit;font:inherit;padding:0;cursor:pointer}.mobile-lang-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.05);animation:slideDown .2s ease-out}.mobile-lang-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background-color:#ffffff0d;color:var(--color-text-secondary);font-size:.9rem;border:1px solid transparent}.mobile-lang-item.active{background-color:#2dd4bf1a;color:var(--color-primary);border-color:#2dd4bf33}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}}.toss-card{background:var(--color-bg-card);border-radius:24px;padding:24px;box-shadow:var(--shadow-sm);transition:all .3s ease}.toss-container{display:flex;flex-direction:column;gap:20px;padding-bottom:40px;width:100%}@media(max-width:768px){.toss-card{padding:20px;border-radius:20px}.toss-container{gap:16px}}to{opacity:1;transform:translateY(0)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-radius:16px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;border:none;line-height:1.2}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background-image:var(--color-primary-gradient);background-size:200% auto;color:#000;box-shadow:var(--shadow-btn)}@media(hover:hover){.btn-primary:hover{background-position:right center;transform:translateY(2px);box-shadow:var(--shadow-glow)}}.btn-outline{background-color:transparent;border:none;box-shadow:var(--shadow-raised);color:var(--color-primary)}@media(hover:hover){.btn-outline:hover{color:var(--color-primary-hover);box-shadow:var(--shadow-inset)}}@media(hover:hover){.btn-outline:hover{background-color:var(--color-primary);color:var(--color-bg-base);box-shadow:var(--shadow-glow)}}.btn-secondary{background-color:var(--color-bg-input);color:var(--color-text-primary);border:1px solid var(--color-border)}@media(hover:hover){.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}}.modal-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.modal-content{background-color:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:16px;padding:2rem;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 40px #0006;animation:slideUp .3s ease-out}.close-btn{position:absolute;top:1rem;right:1rem;font-size:1.5rem;color:var(--color-text-muted);background:none;border:none;cursor:pointer;transition:color .2s;padding:0;z-index:10}@media(hover:hover){.close-btn:hover{color:var(--color-text-primary)}}@keyframes gradient-flow{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(10px);opacity:0}}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}.pc-user-info{display:flex;align-items:center;gap:12px}@media(max-width:768px){.pc-user-info{display:none!important}}svg.gradient-icon{color:var(--color-primary)}svg.gradient-icon .gradient-outline{stroke:url(#primary-icon-gradient)!important}svg.gradient-icon .gradient-outline[fill=currentColor],svg.gradient-icon .gradient-outline[fill="var(--color-primary)"]{fill:url(#primary-icon-gradient)!important}.layout-menu-open .step-indicator-wrapper,.layout-menu-open .fab-container,.layout-menu-open .wizard-navigation:not(.standalone){display:none!important;opacity:0!important;pointer-events:none!important;visibility:hidden!important}.component-section{margin-bottom:var(--spacing-lg)}.component-category{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.component-card{background-color:var(--color-bg-card);border:none;border-radius:16px;padding:var(--spacing-lg);display:grid;grid-template-columns:100px 1fr auto auto;align-items:center;column-gap:var(--spacing-lg);row-gap:0;box-shadow:var(--shadow-raised);transition:transform .2s ease,box-shadow .2s ease}@media(hover:hover){.component-card:hover{transform:translateY(1px);box-shadow:2px 2px 8px #0000001a}}.component-image{width:100px;height:100px;background-color:var(--color-bg-input);border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background-color .3s ease;box-shadow:var(--shadow-inset)}.component-image img,.component-image svg{max-width:100%;max-height:100%;object-fit:contain;display:block}.component-image-placeholder{font-size:2.5rem;color:var(--color-text-muted)}.component-info{flex:1}.component-tags{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.component-tag{font-size:.625rem;padding:2px 8px;border-radius:16px;font-weight:600}.component-tag.recommended{background-color:#2dd4bf26;color:var(--color-primary)}.component-tag.best{background-color:#3b82f633;color:#3b82f6}.component-tag.quantity-tag{background:var(--color-primary);color:#000;font-weight:700;font-size:.75rem;padding:2px 8px;border-radius:12px;letter-spacing:.02em}.component-unit-price{font-size:.75rem;color:var(--color-text-muted);margin-top:2px;margin-bottom:0}.data-loading-state{min-height:190px;padding:32px 20px;border-radius:16px;background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.12),transparent 44%),var(--color-bg-card);box-shadow:var(--shadow-raised);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;color:var(--color-text-primary)}.data-loading-state.compact{min-height:120px;padding:22px 16px;box-shadow:none}.data-loading-state__visual{width:76px;height:48px;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:8px}.data-loading-state__visual span{display:block;height:18px;border-radius:10px;background:linear-gradient(180deg,var(--color-primary),rgba(var(--color-primary-rgb),.4));box-shadow:0 0 18px rgba(var(--color-primary-rgb),.24);animation:dataLoadingPulse .95s ease-in-out infinite}.data-loading-state__visual span:nth-child(2){height:32px;animation-delay:.12s}.data-loading-state__visual span:nth-child(3){height:24px;animation-delay:.24s}.data-loading-state__copy strong{display:block;font-size:1rem;font-weight:700}.data-loading-state__copy p{margin:6px 0 0;font-size:.9rem;color:var(--color-text-secondary)}@keyframes dataLoadingPulse{0%,to{transform:scaleY(.62);opacity:.62}50%{transform:scaleY(1);opacity:1}}.component-name{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-text-primary)}.component-specs{font-size:.75rem;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.component-more{font-size:.75rem;color:var(--color-primary);display:flex;align-items:center;gap:4px}.component-price{text-align:right}.price-value{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.price-label{font-size:.625rem;color:var(--color-text-muted)}.component-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.compare-btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);transition:all .2s ease;font-weight:500;font-size:.95rem;background-color:var(--color-bg-btn);box-shadow:var(--shadow-btn)}@media(hover:hover){.compare-btn:hover{color:var(--color-primary);background-color:var(--color-bg-hover);box-shadow:1px 1px 3px #0000001a;transform:translateY(1px)}}.select-btn{background-image:var(--color-primary-gradient);background-size:200% auto;color:#000;padding:var(--spacing-sm) var(--spacing-lg);border-radius:16px;font-weight:600;font-size:.875rem;transition:background-position .5s ease,transform .2s ease;box-shadow:var(--shadow-btn)}@media(hover:hover){.select-btn:hover{background-position:right center;box-shadow:2px 2px 5px #00000026;transform:translateY(1px)}}.select-btn:active{transform:scale(.96)}.alternative-toggle-btn{width:fit-content;margin-top:4px;padding:0;border:none;border-radius:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--color-primary);background:transparent;font-weight:700;font-size:.78rem;line-height:1.4;box-shadow:none;transition:color .2s ease}@media(hover:hover){.alternative-toggle-btn:hover{color:var(--color-primary-hover)}}.alternative-toggle-arrow{display:inline-flex;transition:transform .3s ease;transform-origin:center}.alternative-toggle-btn.open .alternative-toggle-arrow{transform:rotate(180deg)}.component-alternatives-panel{grid-column:1 / -1;display:grid;gap:12px;max-height:0;margin-top:0;padding-top:0;border-top:1px solid transparent;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease,margin-top .3s ease,padding .3s ease,border-color .3s ease}.component-alternatives-panel.open{max-height:640px;margin-top:2px;padding-top:var(--spacing-md);border-top-color:var(--color-border);opacity:1}.component-alternatives-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.component-alternatives-header strong{color:var(--color-text-primary);font-size:.95rem}.component-alternatives-header p{margin:0;color:var(--color-text-muted);font-size:.78rem;line-height:1.45;text-align:right}.component-alternative-items{display:grid;gap:10px}.component-alternative-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:10px 0;border-top:1px solid rgba(45,212,191,.14)}.component-alternative-item:first-child{border-top:none;padding-top:0}.component-alternative-item:last-child{padding-bottom:0}.component-alternative-info{min-width:0}.component-alternative-info strong{display:block;color:var(--color-text-primary);font-size:.92rem;line-height:1.4}.component-alternative-info p{margin:4px 0 0;color:var(--color-text-secondary);font-size:.78rem;line-height:1.5}.component-alternative-price{display:grid;justify-items:end;gap:4px;min-width:112px}.component-alternative-price span{color:var(--color-text-primary);font-weight:800}.component-alternative-price em{color:var(--color-text-muted);font-size:.76rem;font-style:normal}.component-alternative-price a{color:var(--color-primary);font-size:.8rem;font-weight:800;text-decoration:none}.component-card.empty{background-color:transparent;border:2px dashed var(--color-border);padding:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-text{color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--spacing-sm)}.add-btn{color:var(--color-primary);font-size:.875rem;font-weight:600}@media(max-width:768px){.component-card{display:grid;grid-template-columns:90px 1fr;grid-template-rows:1fr auto auto 1fr auto;padding:var(--spacing-md);column-gap:var(--spacing-md);row-gap:0;align-items:center}.component-image{grid-row:1 / 5;width:90px;height:90px;border-radius:14px;background-color:var(--color-bg-input);align-self:center}.component-info{grid-column:2;grid-row:2;display:flex;flex-direction:column;justify-content:flex-start;min-width:0;margin-bottom:4px}.component-tags{display:flex;flex-wrap:wrap;margin-bottom:6px;gap:4px}.component-name{font-size:.95rem;line-height:1.35;margin-bottom:4px;word-break:keep-all;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.component-specs{font-size:.8rem;line-height:1.4;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:0}.component-price{grid-column:2;grid-row:3;text-align:left;display:flex;align-items:center;margin-bottom:0}.component-price .price-value{font-size:1.1rem;color:var(--color-primary);font-weight:700;letter-spacing:-.02em}.component-actions{grid-column:1 / -1;grid-row:5;justify-self:stretch;width:100%;margin-top:var(--spacing-lg);display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.compare-btn,.select-btn,.alternative-toggle-btn,.purchase-btn{width:100%;padding:0;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:600;height:44px;border-radius:12px}.component-alternatives-panel{margin-top:var(--spacing-md)}.component-alternatives-header{display:grid;gap:4px}.component-alternatives-header p{text-align:left}.component-alternative-item{grid-template-columns:1fr;gap:8px}.component-alternative-price{justify-items:start;min-width:0}}
