:root{--background:#f7fbff;--surface:rgba(255,255,255,0.94);--surface-muted:#f2f7ff;--text:#070d2f;--muted:#5c6678;--border:#dbe7ff;--accent:#1267ff;--accent-dark:#074bd8;--accent-soft:#e9f2ff;--danger:#d92d20;--shadow:0 12px 30px rgba(28,89,190,0.1);--soft-shadow:0 4px 14px rgba(28,89,190,0.07)}*{box-sizing:border-box}body,html{overflow-x:hidden}body{margin:0;background:var(--background);color:var(--text);font-family:Apple SD Gothic Neo,Noto Sans KR,Arial,Helvetica,sans-serif}a,button,input,select,summary{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-shell{min-height:100vh;padding:24px;background:radial-gradient(circle at 6% 34%,rgba(18,103,255,.1),transparent 22%),radial-gradient(circle at 94% 22%,rgba(18,103,255,.1),transparent 24%),radial-gradient(circle at 12% 96%,rgba(18,103,255,.08),transparent 18%),var(--background)}.not-found-page{display:grid;place-items:center;align-content:center;grid-gap:12px;gap:12px;min-height:100vh;padding:24px;text-align:center}.not-found-page h1,.not-found-page p{margin:0}.not-found-page a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:12px;background:var(--accent);color:white;font-weight:900;text-decoration:none}.admin-shell{min-height:100vh;padding:24px;background:#f7fbff}.admin-header{display:flex;gap:16px;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto 18px}.admin-access-card h1,.admin-header h1{margin:0;color:var(--text);font-size:clamp(1.35rem,4vw,2rem);font-weight:900;letter-spacing:0}.admin-eyebrow{margin:0 0 4px;color:var(--accent);font-size:.82rem;font-weight:900}.admin-home-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #cfe0ff;border-radius:10px;background:white;color:var(--accent-dark);font-weight:900;text-decoration:none;box-shadow:var(--soft-shadow)}.admin-header-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.admin-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);grid-gap:16px;gap:16px;max-width:1280px;margin:0 auto;align-items:start}.admin-access-card,.admin-log-panel,.admin-user-list{border:1px solid var(--border);border-radius:14px;background:white;box-shadow:var(--soft-shadow)}.admin-access-card{max-width:560px;margin:12vh auto 0;padding:28px}.admin-access-card p{margin:10px 0 18px}.admin-access-debug{display:grid;grid-gap:8px;gap:8px;margin:0 0 18px;padding:12px;border-radius:10px;background:var(--surface-muted)}.admin-access-debug div{display:grid;grid-gap:2px;gap:2px}.admin-access-debug dt{color:var(--muted);font-size:.78rem;font-weight:900}.admin-access-debug dd{margin:0;overflow-wrap:anywhere;font-size:.92rem;font-weight:800}.admin-user-list{position:-webkit-sticky;position:sticky;top:16px;overflow:hidden}.admin-section-title{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid var(--border)}.admin-section-title h2{margin:0;font-size:1rem}.admin-section-title span{color:var(--muted);font-size:.86rem;font-weight:800}.admin-users{max-height:calc(100vh - 150px);overflow:auto;padding:8px}.admin-user-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:10px;border:1px solid transparent;border-radius:10px;color:inherit;text-decoration:none}.admin-user-row.is-selected,.admin-user-row:hover{border-color:#bcd4ff;background:var(--accent-soft)}.admin-user-row img{width:40px;height:40px;border-radius:50%;object-fit:cover}.admin-user-row span{display:grid;grid-gap:2px;gap:2px;min-width:0}.admin-user-row em,.admin-user-row small,.admin-user-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-row strong{font-size:.94rem}.admin-user-row em,.admin-user-row small{color:var(--muted);font-size:.78rem;font-style:normal}.admin-user-row b{color:var(--accent);font-size:1rem}.admin-log-panel{min-width:0;padding:14px}.admin-selected-user{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:4px 4px 14px;border-bottom:1px solid var(--border)}.admin-selected-user h2{margin:0 0 4px}.admin-selected-user p{margin:0}.admin-selected-user dl{display:flex;gap:10px;margin:0}.admin-selected-user dl div{min-width:92px;padding:10px;border-radius:10px;background:var(--surface-muted)}.admin-log-item dt,.admin-selected-user dt{color:var(--muted);font-size:.76rem;font-weight:800}.admin-log-item dd,.admin-selected-user dd{margin:0;overflow-wrap:anywhere;font-size:.88rem;font-weight:800}.admin-log-list{display:grid;grid-gap:10px;gap:10px;padding-top:14px}.admin-log-item{display:grid;border:1px solid var(--border);border-radius:10px;background:#ffffff}.admin-log-item summary{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:12px;cursor:pointer;list-style-position:inside}.admin-log-item summary::marker{color:var(--accent);font-size:.82rem}.admin-log-item summary strong{color:var(--accent-dark);font-size:.95rem}.admin-log-item time{color:var(--muted);font-size:.82rem;white-space:nowrap}.admin-log-item dl{display:grid;grid-gap:6px;gap:6px;margin:0;padding:10px;border-radius:8px;background:#f8fbff}.admin-log-detail-body{display:grid;grid-gap:8px;gap:8px;padding:0 12px 12px}.admin-log-item pre{max-height:260px;margin:0;overflow:auto;padding:10px;border-radius:8px;background:#f5f8ff;color:#263041;font-size:.8rem;line-height:1.5;white-space:pre-wrap}.admin-empty-state{padding:40px 16px;color:var(--muted);text-align:center}.admin-insight-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr);grid-gap:16px}.admin-insight-layout,.admin-insight-workspace{display:grid;gap:16px;max-width:1280px;margin:0 auto;align-items:start}.admin-insight-workspace{grid-template-columns:minmax(280px,360px) minmax(0,1fr);grid-gap:16px}.admin-insight-main{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start;min-width:0}.admin-insight-card,.admin-insight-summary{border:1px solid var(--border);border-radius:14px;background:white;box-shadow:var(--soft-shadow)}.admin-insight-summary{position:-webkit-sticky;position:sticky;top:16px;padding:14px}.admin-insight-summary h2{margin:0 0 4px}.admin-insight-summary p{margin:0 0 14px;overflow-wrap:anywhere}.admin-insight-summary dl{display:grid;grid-gap:8px;gap:8px;margin:0}.admin-insight-summary dl div{display:grid;grid-gap:3px;gap:3px;padding:10px;border-radius:10px;background:var(--surface-muted)}.admin-insight-summary dt{color:var(--muted);font-size:.76rem;font-weight:900}.admin-insight-summary dd{margin:0;overflow-wrap:anywhere;font-size:.9rem;font-weight:900}.admin-insight-card{min-width:0;padding:18px}.admin-insight-loading{display:grid;place-items:center;min-height:280px;text-align:center}.admin-insight-loading strong{color:var(--accent-dark);font-size:1.1rem}.admin-insight-loading p{margin:8px 0 0}.admin-insight-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.admin-insight-meta span{padding:6px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:.78rem;font-weight:900}.admin-insight-card pre{margin:0;color:#1f2a3d;font-family:inherit;font-size:.96rem;line-height:1.7;white-space:pre-wrap}.admin-marketing-columns,.admin-marketing-grid{display:grid;grid-gap:14px;gap:14px;max-width:1280px;margin:0 auto 16px}.admin-marketing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-marketing-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-metric-card,.admin-table-card{border:1px solid var(--border);border-radius:14px;background:white;box-shadow:var(--soft-shadow)}.admin-metric-card{display:grid;grid-gap:6px;gap:6px;padding:16px}.admin-metric-card span{color:var(--muted);font-size:.82rem;font-weight:900}.admin-metric-card strong{color:var(--accent-dark);font-size:2rem;font-weight:900;line-height:1}.admin-metric-card em{color:var(--muted);font-size:.82rem;font-style:normal;font-weight:800}.admin-table-card{min-width:0;overflow:hidden}.admin-scroll-table{overflow:auto}.admin-simple-table{width:100%;border-collapse:collapse;font-size:.86rem}.admin-simple-table td,.admin-simple-table th{padding:11px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.admin-simple-table th{background:#f8fbff;color:var(--muted);font-size:.76rem;font-weight:900;white-space:nowrap}.admin-simple-table td{color:#243047;font-weight:800}.admin-simple-table tr:last-child td{border-bottom:0}.admin-inline-link{color:var(--accent-dark);font-weight:900;text-decoration:none;white-space:nowrap}.admin-inline-link:hover{text-decoration:underline}.admin-selected-visitor{display:flex;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);background:#fbfdff}.admin-selected-visitor strong{color:var(--muted);font-size:.76rem}.admin-selected-visitor code{overflow-wrap:anywhere;color:var(--accent-dark);font-weight:900}.app-header,.practice-panel,.workspace-grid{max-width:1180px;margin-left:auto;margin-right:auto}.app-header{position:relative;z-index:100;display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{min-width:0;flex:0 0 auto}.app-header .brand{margin:0;font-size:clamp(1.05rem,3vw,1.35rem);white-space:nowrap}.app-header .brand,.eyebrow{color:var(--accent);font-weight:900;letter-spacing:0}.eyebrow{margin:0 0 8px;font-size:.82rem;text-transform:uppercase}h1,h2,p{margin-top:0}h2{margin-bottom:12px;font-size:1.1rem;font-weight:900}p{color:var(--muted);line-height:1.55}.account-box{display:flex;gap:8px;align-items:center;justify-content:flex-end;min-width:0}.locale-select-label select{min-height:38px;padding:0 34px 0 12px;border:1px solid #cfe0ff;border-radius:10px;background:white;color:var(--text);cursor:pointer;font-size:.86rem;font-weight:900}.login-panel{width:auto}.header-login-button{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:white;cursor:pointer;font-size:.9rem;font-weight:900;box-shadow:none}.header-login-button svg{flex:0 0 auto}.avatar-menu{position:relative}.avatar-button{display:grid;place-items:center;width:40px;height:40px;overflow:hidden;border:1px solid #cfe0ff;border-radius:50%;background:linear-gradient(180deg,#ffffff,#edf5ff);color:var(--accent);cursor:pointer;font-weight:900;box-shadow:0 6px 16px rgba(28,89,190,.12)}.avatar-button img{width:100%;height:100%;object-fit:cover}.avatar-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:1000;display:grid;grid-gap:10px;gap:10px;width:min(260px,calc(100vw - 32px));padding:14px;border:1px solid var(--border);border-radius:14px;background:white;box-shadow:var(--shadow)}.popover-user{display:grid;grid-gap:3px;gap:3px;min-width:0}.popover-user span,.popover-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-user span{color:var(--muted);font-size:.88rem}.popover-credit{padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--accent-dark);font-weight:900}.popover-signout{border:0;border-radius:14px;background:var(--accent);color:white}.popover-menu-button,.popover-signout{min-height:40px;cursor:pointer;font-weight:800}.popover-menu-button{border:1px solid #cfe0ff;border-radius:14px;background:white;color:var(--text)}.popover-menu-button:disabled{cursor:wait;opacity:.62}.contact-dialog-backdrop,.credit-dialog-backdrop,.invite-dialog-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px;background:rgba(7,13,47,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-dialog,.credit-dialog,.invite-dialog{position:relative;display:grid;grid-gap:14px;gap:14px;width:min(420px,100%);max-height:calc(100vh - 36px);overflow-y:auto;overscroll-behavior:contain;padding:22px;border:1px solid var(--border);border-radius:16px;background:white;box-shadow:var(--shadow);-webkit-overflow-scrolling:touch}.contact-dialog{width:min(440px,100%)}.contact-dialog h2,.credit-dialog h2,.credit-dialog p,.invite-dialog h2{margin:0}.contact-dialog h2,.credit-dialog h2,.invite-dialog h2{padding-right:36px;font-size:1.2rem}.credit-dialog h2 span{color:var(--accent);font-size:.94rem}.credit-dialog h2 span.is-insufficient{color:var(--danger)}.credit-dialog p{color:var(--muted);line-height:1.55}.contact-dialog textarea{width:100%;min-height:150px;resize:vertical;padding:12px;border:1px solid #cfe0ff;border-radius:12px;background:#f8fbff;color:var(--text);line-height:1.5;outline:none}.contact-dialog textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(18,103,255,.12)}.contact-submit-button{min-height:42px;border:1px solid var(--accent);border-radius:12px;background:var(--accent);color:white;cursor:pointer;font-weight:900}.contact-submit-button:disabled{cursor:wait;opacity:.62}.contact-dialog-error{margin:0;color:var(--danger);font-size:.9rem;font-weight:800}.contact-toast{position:fixed;left:50%;bottom:22px;z-index:1300;transform:translateX(-50%);max-width:min(420px,calc(100vw - 32px));padding:12px 16px;border:1px solid #b9ebce;border-radius:12px;background:#f2fff7;color:#0d6b35;box-shadow:var(--shadow);font-weight:900;text-align:center}.credit-dialog-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #cfe0ff;border-radius:50%;background:white;color:var(--text);cursor:pointer;font-size:1.25rem;font-weight:900;line-height:1}.credit-email-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent-dark);font-weight:900;text-decoration:none}.credit-price-list{display:grid;grid-gap:8px;gap:8px}.credit-product-option{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 12px;border:1px solid #d7e6ff;border-radius:12px;background:#f8fbff;color:var(--text);cursor:pointer;text-align:left}.credit-product-option.is-selected{border-color:var(--accent);background:#eef5ff;box-shadow:0 0 0 2px rgba(18,103,255,.12)}.credit-price-list span,.credit-price-list strong{font-weight:900}.credit-price-list span{color:var(--accent)}.paypal-payment-box{display:grid;grid-gap:8px;gap:8px}.paypal-payment-box>strong{color:var(--text);font-weight:900}.paypal-payment-box p{font-size:.9rem}.paypal-pay-button{min-height:42px;border:1px solid var(--accent);border-radius:12px;background:var(--accent);color:white;cursor:pointer;font-weight:900}.paypal-pay-button:disabled{cursor:wait;opacity:.62}.credit-dialog-error{color:var(--danger)!important;font-weight:800}.credit-bank-info{display:grid;grid-gap:5px;gap:5px;padding:12px;border:1px solid #d7e6ff;border-radius:12px;background:#ffffff}.credit-bank-info span{color:var(--muted);font-size:.86rem;font-weight:800}.credit-bank-info strong{color:var(--text);font-size:1rem}.credit-bank-info em{color:var(--accent-dark);font-style:normal;font-weight:900}.credit-bank-info p{margin:4px 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}.credit-dialog-note{font-size:.9rem}.invite-credit-button{min-height:42px;border:1px solid #18a058;border-radius:12px;background:linear-gradient(180deg,#27c46b,#159947);color:white;cursor:pointer;font-weight:900;box-shadow:0 8px 18px rgba(24,160,88,.18)}.invite-credit-button:hover{background:linear-gradient(180deg,#31ce75,#12883f)}.invite-credit-box{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid #b9ebce;border-radius:12px;background:#f2fff7}.invite-credit-box strong{color:#0d6b35;font-weight:900}.invite-credit-box p{color:#355947;font-size:.9rem}.invite-copy-button{min-height:40px;border:1px solid #18a058;border-radius:10px;background:white;color:#0d6b35;cursor:pointer;font-weight:900}.invite-copy-button:disabled{cursor:wait;opacity:.62}.invite-page-shell{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(circle at 16% 20%,rgba(18,103,255,.1),transparent 22%),radial-gradient(circle at 84% 76%,rgba(39,196,107,.12),transparent 26%),var(--background)}.invite-card{display:grid;grid-gap:16px;gap:16px;width:min(520px,100%);padding:26px;border:1px solid var(--border);border-radius:18px;background:white;box-shadow:var(--shadow);text-align:center}.invite-card h1{margin:0;color:var(--text);font-size:clamp(1.55rem,6vw,2.4rem);font-weight:900}.invite-card p{margin:0}.invite-card p strong{color:var(--accent)}.invite-card .login-buttons,.invite-card .login-panel{justify-content:center}.invite-claim-status,.invite-reward-box{display:grid;grid-gap:4px;gap:4px;padding:14px;border-radius:14px;background:var(--accent-soft)}.invite-reward-box span{color:var(--muted);font-size:.86rem;font-weight:900}.invite-reward-box strong{color:var(--accent-dark);font-size:1.25rem}.invite-claim-status.is-granted{background:#f2fff7;color:#0d6b35;font-weight:900}.invite-claim-status.is-blocked,.invite-claim-status.is-error{background:#fff4f4;color:var(--danger);font-weight:900}.invite-success-popup-backdrop{position:fixed;z-index:1300;inset:0;display:grid;place-items:center;padding:20px;background:rgba(7,13,47,.42);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.invite-success-popup{display:grid;grid-gap:8px;gap:8px;width:min(360px,100%);padding:22px;border:1px solid #b9e7ce;border-radius:16px;background:white;box-shadow:var(--shadow);text-align:center}.invite-success-popup strong{color:#0d6b35;font-size:1.25rem;font-weight:950}.invite-success-popup p{margin:0;color:var(--muted);font-weight:850;line-height:1.45}.login-buttons{display:flex;gap:6px;flex-wrap:wrap}.provider-button{min-height:36px;padding:0 12px;border:1px solid #d7e6ff;border-radius:10px;background:white;color:var(--text);cursor:pointer;font-weight:800}.google-official-button{min-height:48px;padding:0 18px;border-color:#dadce0;border-radius:4px;background:#fff;color:#1f1f1f;font-family:Arial,sans-serif;font-size:.96rem;font-weight:500}.google-official-button:hover{border-color:#d2e3fc;background:#f8fbff;color:#1f1f1f}.login-button-content{display:inline-flex;gap:12px;align-items:center;justify-content:center}.google-g-icon{flex:0 0 auto}.provider-kakao{border-color:#f2d94e;background:#fee500}.provider-apple{border-color:#111827;background:#111827;color:white}.login-dialog-backdrop{position:fixed;z-index:1300;inset:0;display:grid;place-items:center;padding:20px;background:rgba(4,10,24,.58);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-dialog{position:relative;display:grid;width:min(460px,100%);grid-gap:20px;gap:20px;padding:clamp(26px,5vw,38px);border:1px solid rgba(219,231,255,.78);border-radius:22px;background:radial-gradient(circle at 82% 8%,rgba(18,103,255,.16),transparent 34%),radial-gradient(circle at 12% 12%,rgba(113,164,255,.14),transparent 30%),#ffffff;box-shadow:0 28px 80px rgba(5,18,50,.28)}.login-dialog-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--text);cursor:pointer;font-size:1.8rem;line-height:1}.login-dialog-copy{display:grid;grid-gap:8px;gap:8px;padding-right:34px;text-align:center}.login-dialog-copy h2,.login-dialog-copy p,.login-dialog-signup-copy,.login-dialog-terms{margin:0}.login-dialog-copy h2{color:var(--text);font-size:clamp(1.65rem,5vw,2.15rem);font-weight:950;letter-spacing:0}.login-dialog-copy p,.login-dialog-signup-copy,.login-dialog-terms{color:var(--muted);font-weight:800;line-height:1.5}.login-dialog-signup-copy{text-align:center;color:var(--primary);font-size:.96rem}.login-dialog .login-buttons,.login-dialog .login-panel{width:100%}.login-dialog .login-buttons{display:grid;grid-gap:10px;gap:10px}.login-dialog .provider-button{width:100%;min-height:52px;border-radius:999px;font-size:1rem;font-weight:900}.login-dialog .google-official-button{border-radius:999px;font-size:1rem;font-weight:600}.login-dialog-terms{text-align:center;font-size:.82rem}.workspace-grid{display:grid;grid-template-columns:minmax(300px,410px) 1fr;grid-gap:18px;gap:18px;align-items:start;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hero-section{display:grid;max-width:1180px;margin:0 auto 18px;padding:clamp(24px,4vw,42px);border:1px solid rgba(219,231,255,.72);border-radius:18px;background:radial-gradient(circle at 86% 18%,rgba(18,103,255,.12),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,249,255,.96));box-shadow:var(--soft-shadow)}.hero-copy{display:grid;grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);grid-template-areas:"title demo" "sub demo" "actions demo" "trust demo";grid-gap:14px 28px;gap:14px 28px;align-items:center;max-width:none}.hero-copy h2{grid-area:title;margin:0;color:var(--text);font-size:clamp(2.25rem,4.2vw,4rem);font-weight:950;line-height:1.05;letter-spacing:0}.hero-copy p{grid-area:sub;max-width:620px;margin:0;color:var(--muted);font-size:clamp(1rem,2.5vw,1.25rem);font-weight:800;line-height:1.45}.hero-demo{grid-area:demo;display:grid;grid-template-columns:minmax(130px,.72fr) auto minmax(260px,1.28fr);grid-gap:12px;gap:12px;align-items:center;width:100%;max-width:none;margin-top:4px}.hero-demo-card{display:grid;grid-gap:8px;gap:8px;min-width:0;margin:0}.hero-demo-card figcaption{color:var(--muted);font-size:.84rem;font-weight:900}.hero-demo-card img{display:block;width:100%;object-fit:cover;border:1px solid #d7e6ff;border-radius:14px;background:white}.hero-demo-source img{aspect-ratio:1/1}.hero-demo-result img{aspect-ratio:3/2}.hero-demo-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:white;color:var(--accent);font-size:1.35rem;font-weight:950}.hero-actions{grid-area:actions;display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.hero-primary-button,.hero-secondary-button{width:auto;min-width:180px;padding:0 20px}.hero-trust-row{grid-area:trust;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hero-trust-row span{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #cfe0ff;border-radius:999px;background:white;color:var(--accent-dark);font-size:.86rem;font-weight:900}.left-column{display:grid;grid-gap:14px;gap:14px;align-self:start;align-content:start;grid-auto-rows:max-content}.actions-panel,.empty-results,.error-message,.loading-state,.practice-panel,.results-panel,.success-message,.upload-panel{border:1px solid rgba(219,231,255,.72);border-radius:14px;background:var(--surface);box-shadow:var(--soft-shadow)}.actions-panel,.practice-panel,.results-panel,.upload-panel{padding:16px}.actions-panel{display:grid;grid-gap:14px;gap:14px;align-content:start;grid-auto-rows:max-content}.actions-panel,.actions-panel>.primary-button,.actions-panel>.quality-panel{align-self:start}.upload-description{margin-bottom:14px;color:var(--text);font-size:1rem;font-weight:900}.drop-zone{position:relative;display:grid;grid-gap:14px;gap:14px;align-content:center;min-height:clamp(240px,36vh,360px);overflow:hidden;padding:12px;border:1px solid transparent;border-radius:14px;background:#f6faff;color:var(--muted)}.uploaded-preview{display:grid;grid-gap:10px;gap:10px;justify-items:center;width:100%}.image-input-button{display:grid;grid-gap:10px;gap:10px;place-items:center;width:100%;min-height:clamp(220px,34vh,340px);padding:24px;border:2px dashed #bdd4ff;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(241,247,255,.92)),radial-gradient(circle at 50% 34%,rgba(18,103,255,.12),transparent 28%);color:var(--text);cursor:pointer;text-align:center}.image-input-button:focus-visible,.image-input-button:hover{border-color:var(--accent);outline:none}.image-input-button strong{font-size:1.08rem;font-weight:900}.image-input-icon{display:grid;place-items:center;width:86px;height:86px;position:relative;border:1px solid #d7e6ff;border-radius:14px;background:white;color:var(--accent);box-shadow:0 6px 16px rgba(28,89,190,.08)}.image-input-icon:before{content:"";width:46px;height:34px;border:4px solid var(--accent);border-radius:10px}.image-input-icon:after{content:"+";position:absolute;right:14px;bottom:12px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:white;font-size:1rem;font-weight:900}.image-input-icon span{position:absolute;left:27px;bottom:28px;width:32px;height:18px;-webkit-clip-path:polygon(0 100%,38% 35%,56% 66%,72% 46%,100% 100%);clip-path:polygon(0 100%,38% 35%,56% 66%,72% 46%,100% 100%);background:var(--accent);opacity:.26}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.drop-zone.is-dragging{border-color:var(--accent);background:#eaf3ff}.drop-zone img{width:100%;max-height:310px;object-fit:contain;border-radius:12px;background:white}.upload-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between}.clear-upload-button,.popover-signout,.primary-button,.provider-button,.quality-card,.secondary-button,.tab-button,.upload-button{cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.header-login-button:hover,.popover-signout:hover,.primary-button:hover,.upload-button:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.clear-upload-button:hover,.credit-dialog-close:hover,.login-dialog-close:hover,.popover-menu-button:hover,.provider-button:hover,.secondary-button:hover{border-color:var(--accent);color:var(--accent)}.clear-upload-button:focus-visible,.credit-dialog-close:focus-visible,.header-login-button:focus-visible,.login-dialog-close:focus-visible,.popover-menu-button:focus-visible,.popover-signout:focus-visible,.primary-button:focus-visible,.provider-button:focus-visible,.quality-card:focus-visible,.quality-menu-option:focus-visible,.quality-select-trigger:focus-visible,.quality-select:focus-visible,.secondary-button:focus-visible,.tab-button:focus-visible,.upload-button:focus-visible{outline:3px solid rgba(18,103,255,.22);outline-offset:2px}.primary-button,.upload-button{min-height:52px;border:1px solid var(--accent);border-radius:14px;background:var(--accent);color:white;font-weight:800;box-shadow:none}.upload-button{min-height:40px;padding:0 16px;box-shadow:none}.clear-upload-button{min-height:40px;padding:0 16px;border:1px solid #cfe0ff;border-radius:14px;background:white;color:var(--text);font-weight:800}.quality-panel{position:relative;display:grid;grid-gap:6px;gap:6px}.quality-select-label{color:var(--muted);font-size:.84rem;font-weight:900}.quality-select,.quality-select-trigger{width:100%;min-height:46px;border:1px solid #cfe0ff;border-radius:12px;color:var(--text);font:inherit;font-weight:900}.quality-select{padding:0 40px 0 14px;background:linear-gradient(45deg,transparent 50%,var(--accent) 50%) calc(100% - 18px) 19px /7px 7px no-repeat,linear-gradient(135deg,var(--accent) 50%,transparent 50%) calc(100% - 13px) 19px /7px 7px no-repeat,white;-webkit-appearance:none;-moz-appearance:none;appearance:none}.quality-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;background:white;cursor:pointer}.quality-select-trigger.is-open{border-color:var(--accent);box-shadow:0 0 0 2px rgba(18,103,255,.08)}.quality-selected-main{display:inline-flex;min-width:0;gap:9px;align-items:center}.quality-selected-main>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quality-mini-icon{display:grid;flex:0 0 auto;place-items:center;width:28px;height:28px;border-radius:8px;background:#eaf3ff;color:var(--accent);font-size:.9rem;font-weight:950}.quality-select-arrow{color:var(--accent);font-size:.95rem;line-height:1}.quality-menu{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;display:grid;grid-gap:6px;gap:6px;padding:8px;border:1px solid #d7e6ff;border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 42px rgba(22,73,140,.16)}.quality-menu-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;width:100%;min-height:68px;padding:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.quality-menu-option.is-selected,.quality-menu-option:hover{border-color:#cfe0ff;background:#f6faff}.quality-menu-option.is-selected .quality-mini-icon{background:var(--accent);color:white}.quality-option-copy{display:grid;min-width:0;grid-gap:3px;gap:3px}.quality-option-copy strong{font-size:.98rem;font-weight:950}.quality-option-copy span{overflow:hidden;color:var(--muted);font-size:.84rem;font-weight:800;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.quality-option-credit{color:var(--accent);font-size:.9rem;font-weight:950;white-space:nowrap}.credit-warning{margin-bottom:0;font-size:.93rem}.credit-warning,.error-message{color:var(--danger);font-weight:800}.success-message{color:#067647;font-weight:900}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}.primary-button{width:100%;min-height:52px}.primary-button:disabled{cursor:not-allowed;opacity:.5}.secondary-button{min-height:42px;padding:0 14px;border:1px solid #cfe0ff;border-radius:14px;background:white;color:var(--text);font-weight:800}.results-panel{min-width:0}.result-tabs{display:grid;grid-gap:14px;gap:14px}.tab-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;padding:6px;border:1px solid #d7e6ff;border-radius:14px;background:#f4f8ff}.tab-button{min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;font-weight:900}.tab-button.is-active{background:var(--accent);color:white;box-shadow:none}.result-card header{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.result-card h2{margin-bottom:0}.result-card-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.result-card{min-width:0}.result-card>img{display:block;width:100%;min-height:clamp(260px,48vh,520px);max-height:720px;object-fit:contain;border:0;border-radius:12px;background:white}.empty-results{grid-column:1/-1;min-height:100%;display:grid;place-content:center;grid-gap:12px;gap:12px;padding:24px;text-align:center}.example-label{justify-self:start;padding:5px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:.82rem;font-weight:900}.example-tutorial-image{display:block;width:100%;max-height:460px;object-fit:contain;border-radius:12px;background:white}.error-message,.loading-state,.success-message{padding:14px}.success-message{border-color:#b9e7ce;background:#f1fff6}.loading-state{display:flex;gap:10px;align-items:center;color:var(--accent);font-weight:900}.conversion-loading-state{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:start;padding:16px;border:1px solid rgba(219,231,255,.72);border-radius:14px;background:var(--surface);box-shadow:var(--soft-shadow)}.conversion-loading-state>div:nth-child(2){display:grid;grid-gap:4px;gap:4px}.conversion-loading-state strong{color:var(--accent-dark);font-weight:950}.conversion-loading-state p{margin:0;color:var(--muted);font-size:.92rem;font-weight:800;line-height:1.45}.soft-signup-prompt{grid-column:1/-1;padding:12px;border:1px solid #d7e6ff;border-radius:12px;background:#f6faff}.soft-signup-prompt,.soft-signup-prompt .login-buttons{display:grid;grid-gap:8px;gap:8px}.locked-result-card{display:grid;grid-gap:14px;gap:14px}.locked-source-row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;padding:10px;border:1px solid #d7e6ff;border-radius:14px;background:white}.locked-source-row span{color:var(--muted);font-size:.86rem;font-weight:900}.locked-source-row img{justify-self:end;width:72px;height:72px;object-fit:cover;border-radius:10px;background:var(--surface-muted)}.pre-result-gate{display:grid;grid-gap:6px;gap:6px;padding:16px;border:1px solid #d7e6ff;border-radius:14px;background:linear-gradient(180deg,#ffffff,#f4f8ff)}.pre-result-gate span{color:var(--accent);font-size:.86rem;font-weight:950}.pre-result-gate h2,.pre-result-gate p{margin:0}.pre-result-gate h2{color:var(--text);font-size:clamp(1.45rem,4vw,2.2rem);font-weight:950}.pre-result-gate p{color:var(--muted);font-weight:800}.locked-preview{position:relative;overflow:hidden;border-radius:14px;background:white}.locked-preview>img{display:block;width:100%;max-height:560px;object-fit:contain;filter:blur(2.5px);transform:scale(1.006);opacity:.9}.locked-preview-overlay{position:absolute;inset:0;display:grid;place-items:center;align-content:center;grid-gap:10px;gap:10px;padding:20px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.86) 58%,rgba(255,255,255,.96));text-align:center}.locked-preview-overlay>strong{color:var(--text);font-size:clamp(1.35rem,4vw,2rem);font-weight:950}.locked-preview-overlay>p{max-width:360px;margin:0;color:var(--muted);font-weight:850}.locked-preview-overlay .login-panel{width:min(360px,100%)}.result-signup-panel{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid #d7e6ff;border-radius:14px;background:#f6faff}.result-signup-panel strong{color:var(--accent-dark);font-size:1rem;font-weight:950}.result-signup-panel p{margin:0;color:var(--muted);font-size:.92rem;font-weight:800;line-height:1.45}.result-signup-panel .login-panel{max-width:380px}.spinner{width:18px;height:18px;border:3px solid #cfe0ff;border-top:3px solid var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.practice-panel{margin-top:18px;border-color:transparent;background:transparent;box-shadow:none}.practice-tools{position:relative;z-index:2;flex:0 0 auto;padding-right:62px;padding-bottom:8px;border-bottom:1px solid #edf3ff;background:rgba(255,255,255,.98)}.practice-header{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-bottom:8px}.practice-header h2{margin-bottom:0;font-size:1.35rem}.practice-actions{display:flex;gap:6px;flex-wrap:wrap}.practice-actions .secondary-button{flex:0 0 auto}.practice-controls{display:grid;grid-template-columns:1.1fr 1fr 1fr auto auto auto;grid-gap:8px;gap:8px;align-items:end;margin-bottom:8px}.practice-controls label{display:grid;grid-gap:5px;gap:5px;color:var(--text);font-size:.78rem;font-weight:900}.practice-controls input[type=range],.practice-controls select{width:100%}.checkbox-control,.practice-controls input[type=color],.practice-controls select,.tool-button{border:1px solid #cfe0ff;border-radius:9px;background:linear-gradient(180deg,#ffffff,#f6faff)}.practice-controls select{min-height:34px;padding:0 9px;color:var(--text);font-size:.86rem}.practice-controls input[type=color]{width:42px;height:34px;padding:3px}.tool-control{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.tool-button{min-height:34px;padding:0 10px;color:var(--text);cursor:pointer;font:inherit;font-size:.82rem;font-weight:900;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.tool-button:hover{transform:translateY(-1px)}.tool-button.is-active{border-color:var(--accent);background:linear-gradient(135deg,var(--accent),#4a94ff);color:white}.canvas-toolbar{width:100%;max-width:820px;margin:0 auto 8px}.canvas-toolbar .tool-control{max-width:260px}.checkbox-control{min-height:34px;display:flex!important;grid-template-columns:none!important;gap:6px!important;align-items:center;padding:0 9px;font-size:.82rem!important;white-space:nowrap}.checkbox-control input{width:15px;height:15px;accent-color:var(--accent)}.canvas-stage{position:relative;width:100%;max-width:820px;margin:0 auto;aspect-ratio:3/4;overflow:hidden;border:0;border-radius:14px;background:linear-gradient(#eef5ff 1px,transparent 0),linear-gradient(90deg,#eef5ff 1px,white 0);background-size:28px 28px;touch-action:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.canvas-stage.no-grid{background:white}.canvas-stage canvas,.canvas-stage img{position:absolute;inset:0;width:100%;height:100%}.canvas-stage img{object-fit:contain;pointer-events:none;-webkit-user-drag:none}.canvas-stage canvas,.canvas-stage img{-moz-user-select:none;user-select:none;-webkit-user-select:none}.canvas-stage canvas{cursor:crosshair;display:block;touch-action:none;-webkit-touch-callout:none}.practice-share-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;max-width:820px;margin:8px auto 0}.practice-share-actions .primary-button,.practice-share-actions .secondary-button{min-height:36px;padding-inline:10px;border-radius:10px;font-size:.86rem}.share-button{display:inline-flex;gap:8px;align-items:center;justify-content:center}.practice-modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;padding:14px;background:rgba(7,13,47,.46);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.practice-modal{position:relative;width:min(1180px,100%);height:calc(100dvh - 28px);max-height:calc(100dvh - 28px);margin:auto;overflow:hidden;border-radius:16px;background:var(--background);box-shadow:0 20px 60px rgba(7,13,47,.24);-webkit-overflow-scrolling:touch}.practice-modal .practice-panel{display:flex;flex-direction:column;height:100%;max-width:none;margin:0;padding:12px}.practice-canvas-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-top:14px;-webkit-overflow-scrolling:touch}.modal-close-button{position:absolute;top:12px;right:12px;z-index:5;display:grid;place-items:center;width:42px;height:42px;margin:0;border:1px solid #9dbfff;border-radius:50%;background:var(--accent);color:white;cursor:pointer;font-size:1.45rem;font-weight:900;line-height:1;box-shadow:0 8px 22px rgba(18,103,255,.26)}.modal-close-button:hover{border-color:var(--accent-dark);background:var(--accent-dark);color:white}@media (max-width:980px){.admin-insight-layout,.admin-insight-main,.admin-insight-workspace,.admin-layout,.admin-marketing-columns,.admin-marketing-grid{grid-template-columns:1fr}.admin-insight-summary,.admin-user-list{position:static}.admin-users{max-height:360px}.workspace-grid{grid-template-columns:1fr;gap:18px}.hero-copy{grid-template-columns:1fr;grid-template-areas:"title" "sub" "demo" "actions" "trust"}.hero-demo{grid-template-columns:minmax(120px,.72fr) auto minmax(220px,1.28fr)}.practice-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-header{align-items:stretch;flex-direction:column}}@media (max-width:640px){.admin-shell{padding:12px}.admin-header,.admin-log-item summary,.admin-selected-user,.admin-selected-user dl{align-items:flex-start}.admin-header-actions{justify-content:flex-start}.admin-selected-user dl{width:100%}.app-header,.page-shell{padding:12px}.app-header{border-radius:14px}.hero-demo{grid-template-columns:minmax(0,1fr);gap:10px}.hero-demo-arrow{justify-self:center;transform:rotate(90deg)}.practice-actions{display:grid;grid-template-columns:1fr}.actions-panel,.empty-results,.error-message,.loading-state,.practice-panel,.results-panel,.success-message,.upload-panel{border-radius:14px}.actions-panel,.practice-panel,.results-panel,.upload-panel{padding:12px}.result-card header{align-items:stretch;flex-direction:column}.result-card-actions{justify-content:stretch}.result-card-actions .secondary-button{flex:1 1}.practice-controls,.practice-share-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.canvas-stage{max-width:100%}.practice-modal-backdrop{padding:0}.practice-modal{width:100%;height:100dvh;max-height:none;border-radius:0}.practice-modal .practice-panel{padding:12px}.practice-tools{padding-right:54px}}@media (max-width:420px){.primary-button,.secondary-button{width:100%}.practice-controls{gap:6px}.practice-controls label{font-size:.74rem}}