:root,:root[data-theme=light]{--bg:#f2f4fb;--bg-soft:#e9edf7;--surface:#ffffff;--surface-2:#f8f9fd;--ink:#1a2233;--ink-2:#4b5563;--ink-3:#98a1b3;--line:#e8ecf5;--line-strong:#d3dae8;--brand:#4f6ef2;--brand-deep:#3b55d9;--brand-soft:#eef1ff;--accent:#6d5ff0;--accent-soft:#f0eeff;--accent-ink:#5546c9;--success:#16a34a;--success-soft:#e8f7ee;--danger:#e11d48;--danger-soft:#fdeef2;--warning:#b45309;--warning-soft:#fdf3e3;--grad:linear-gradient(135deg,#4f6ef2,#6d5ff0);--radius-lg:18px;--radius-md:12px;--radius-sm:9px;--shadow-card:0 1px 2px rgba(26,34,51,.04),0 14px 34px -16px rgba(79,110,242,.18);--shadow-float:0 18px 44px -18px rgba(79,110,242,.32);--glass:rgba(255,255,255,.68);--glass-border:rgba(255,255,255,.55);--font-sans:"PingFang SC","Microsoft YaHei","Noto Sans SC","Segoe UI",sans-serif;--font-serif:"Songti SC","STSong","Noto Serif SC","SimSun",serif;--tabbar-h:62px;--sidebar-w:236px}:root[data-theme=dark]{--bg:#0e1320;--bg-soft:#141a2b;--surface:#1a2131;--surface-2:#222b3f;--ink:#e8ecf5;--ink-2:#aab3c5;--ink-3:#6b7488;--line:#2a3350;--line-strong:#39455f;--brand:#6d84ff;--brand-deep:#8b9dff;--brand-soft:rgba(79,110,242,.16);--accent:#8b7dff;--accent-soft:rgba(109,95,240,.16);--accent-ink:#b0a5ff;--success:#34d399;--success-soft:rgba(52,211,153,.14);--danger:#fb7185;--danger-soft:rgba(225,29,72,.14);--warning:#fbbf24;--warning-soft:rgba(251,191,36,.14);--grad:linear-gradient(135deg,#4f6ef2,#6d5ff0);--shadow-card:0 1px 2px rgba(0,0,0,.3),0 14px 34px -16px rgba(0,0,0,.5);--shadow-float:0 18px 44px -18px rgba(0,0,0,.6);--glass:rgba(26,33,49,.72);--glass-border:rgba(255,255,255,.08)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--ink);background:radial-gradient(circle at 12% -4%,rgba(79,110,242,.1),transparent 40%),radial-gradient(circle at 88% 6%,rgba(109,95,240,.08),transparent 34%),var(--bg);background-attachment:fixed;line-height:1.65;-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}::selection{background:rgba(79,110,242,.2)}a{color:inherit}.app-shell{min-height:100vh;display:flex}.app-sidebar{width:var(--sidebar-w);flex:none;position:-webkit-sticky;position:sticky;top:0;height:100vh;background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 14px 18px}.app-sidebar .side-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.app-sidebar .side-brand .brand-mark{width:36px;height:36px;border-radius:11px;flex:none;background:var(--grad);color:#fff;font-weight:800;font-size:17px;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 14px -6px rgba(79,110,242,.5)}.app-sidebar .side-brand .brand-name{font-weight:700;font-size:15px;line-height:1.2}.app-sidebar .side-brand .brand-name small{display:block;font-size:10px;font-weight:500;color:var(--ink-3);letter-spacing:.08em}.side-nav{display:flex;flex-direction:column;gap:4px}.side-nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:12px;color:var(--ink-2);font-size:14px;font-weight:500;text-decoration:none;transition:all .18s ease}.side-nav-item:hover{background:var(--brand-soft);color:var(--brand)}.side-nav-item.active{background:var(--grad);color:#fff;font-weight:600;box-shadow:0 6px 16px -6px rgba(79,110,242,.55)}.side-nav-item.active:before{content:"";position:absolute;left:-14px;top:20%;bottom:20%;width:3px;border-radius:2px;background:var(--brand)}.side-nav-item .ic{display:inline-flex;align-items:center;justify-content:center;width:22px;flex:none;color:inherit}.side-foot{margin-top:auto}.side-credit{position:relative;overflow:hidden;padding:15px 15px 13px;border-radius:14px;background:var(--brand-soft);border:1px solid var(--line)}.side-credit:before{content:"";position:absolute;top:0;left:0;right:0;height:2.5px;background:var(--grad)}.side-credit .num{font-size:26px;font-weight:800;color:var(--brand);line-height:1.15;letter-spacing:-.01em}.side-credit .lbl{font-size:11.5px;color:var(--ink-2);margin-top:3px}.side-credit .note{font-size:10.5px;color:var(--ink-3);margin-top:5px;padding-top:7px;border-top:1px dashed var(--line-strong)}.side-theme-toggle{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink-2)}.side-theme-toggle span{line-height:1;display:inline-flex;align-items:center;min-height:27px;white-space:nowrap}.app-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:100;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--line);display:none}.tab-item{flex:1 1;display:flex;flex-direction:column;gap:2px;color:var(--ink-3);font-size:10.5px;text-decoration:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .18s ease}.tab-item,.tab-item .tab-ic{align-items:center;justify-content:center}.tab-item .tab-ic{width:22px;height:22px;display:inline-flex;color:inherit}.tab-item.active{color:var(--brand);font-weight:600;position:relative}.tab-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:20px;height:3px;border-radius:0 0 3px 3px;background:var(--brand)}.tab-item:active{opacity:.6}.app-main{flex:1 1;min-width:0;padding-bottom:40px}.wrap{max-width:1140px;margin:0 auto;padding:48px 24px 84px;overflow-x:hidden}.page-wrap{max-width:860px;margin:0 auto;padding:32px 20px 60px}.page-header{margin-bottom:22px}.page-header h1{font-size:26px;font-weight:800;letter-spacing:-.01em;margin-bottom:5px}.page-header p{color:var(--ink-3);font-size:13.5px}.page-title-row{display:flex;align-items:center;gap:12px}.page-title-row .title-ic{width:40px;height:40px;border-radius:12px;flex:none;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 14px -6px rgba(79,110,242,.55)}.hero{text-align:center;position:relative;overflow:hidden;margin-bottom:30px}.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--brand);background:var(--brand-soft);border:1px solid var(--line);padding:5px 13px;border-radius:999px;margin-bottom:16px}.hero h1{font-weight:800;font-size:clamp(28px,4.8vw,48px);line-height:1.24;letter-spacing:-.012em}.hero h1 em{font-style:normal;color:var(--brand);position:relative}.hero h1 em:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:10px;background:linear-gradient(90deg,rgba(79,110,242,.28),rgba(109,95,240,.12));border-radius:5px;z-index:-1}.hero:before{inset:-120px -80px;z-index:-2;background:radial-gradient(ellipse 520px 280px at 50% -40px,rgba(79,110,242,.13),rgba(109,95,240,.04) 50%,transparent 70%)}.hero:after,.hero:before{content:"";position:absolute;pointer-events:none}.hero:after{inset:0;z-index:-1;background-image:linear-gradient(rgba(79,110,242,.03) 1px,transparent 0),linear-gradient(90deg,rgba(79,110,242,.03) 1px,transparent 0);background-size:48px 48px;mask-image:radial-gradient(ellipse 440px 200px at 50% -20px,black 10%,transparent 60%);-webkit-mask-image:radial-gradient(ellipse 440px 200px at 50% -20px,black 10%,transparent 60%)}.hero p{margin-top:12px;color:var(--ink-2);font-size:15px;max-width:560px;margin-inline:auto}.card{background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:background-color .25s ease}.card-hd{display:flex;align-items:center;gap:12px;padding:18px 20px 0}.card-hd .num{width:26px;height:26px;border-radius:9px;flex:none;background:var(--grad);color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center}.card-hd h2{font-size:17px;font-weight:700}.card-hd .hint{margin-left:auto;font-size:12px;color:var(--ink-3)}.card-bd{padding:20px 24px}.input-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px;margin-bottom:22px}.input-grid>.card{min-width:0;overflow:hidden}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--surface-2),transparent);padding:30px 20px;text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease}.dropzone:hover{border-color:var(--brand);background:var(--brand-soft)}.dropzone:active{transform:scale(.996)}.dropzone.disabled{opacity:.55;cursor:default;pointer-events:none}.dropzone .dz-icon{width:46px;height:46px;margin:0 auto 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--brand);box-shadow:0 6px 16px -6px rgba(79,110,242,.25)}.dropzone .dz-main{font-weight:600;font-size:14.5px}.dropzone .dz-main span{color:var(--brand)}.dropzone .dz-sub{font-size:12.5px;color:var(--ink-3);margin-top:6px}.spinner{width:20px;height:20px;border-radius:50%;display:inline-block;border:2.5px solid rgba(79,110,242,.18);border-top-color:transparent;background:conic-gradient(from 0deg,rgba(79,110,242,.18),var(--brand) 60%,rgba(79,110,242,.18));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));animation:spin .8s linear infinite;vertical-align:-4px}@keyframes spin{to{transform:rotate(1turn)}}.file-row{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border-radius:var(--radius-md);background:var(--brand-soft);border:1px solid var(--line)}.file-row .f-icon{width:36px;height:36px;border-radius:10px;flex:none;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--brand)}.file-row .f-name{font-weight:600;font-size:13.5px;word-break:break-all}.file-row .f-meta{font-size:12px;color:var(--ink-2)}.file-row .f-status{margin-left:auto;font-size:11.5px;font-weight:600;color:var(--brand);display:flex;align-items:center;gap:5px;flex:none}.file-row .f-remove{margin-left:8px;background:none;border:none;color:var(--brand);cursor:pointer;display:grid;place-items:center;padding:4px;border-radius:6px}.file-row .f-remove:hover{background:rgba(79,110,242,.12)}.extract{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-2)}.extract.open{border-color:var(--line-strong)}.extract-hd{display:flex;align-items:center;gap:7px;cursor:pointer;padding:11px 14px;font-size:12.5px;font-weight:600;color:var(--ink-2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.extract-hd .chev{margin-left:auto;transition:transform .2s ease}.extract.open .extract-hd .chev{transform:rotate(180deg)}.extract-body{display:none;padding:0 14px 12px}.extract.open .extract-body{display:block}.extract-body textarea{width:100%;min-height:160px;resize:vertical;border:1.5px solid var(--line-strong);border-radius:10px;padding:12px 14px;font-family:var(--font-sans);font-size:13px;line-height:1.7;color:var(--ink);background:var(--bg);transition:border-color .2s ease,box-shadow .2s ease}.extract-body textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(79,110,242,.14)}.extract-foot{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:11.5px;color:var(--ink-3);border-top:1px dashed var(--line);background:var(--surface)}.extract-foot svg{flex:none}.input-grid>.card:has(.saved-pick.is-open){overflow:visible}.saved-pick{position:relative;display:flex;align-items:center;gap:8px}.saved-pick label{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--brand);white-space:nowrap}.saved-pick-select{flex:1 1;min-width:0;min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px 8px 12px;font-family:var(--font-sans);font-size:13px;text-align:left;border:1.5px solid var(--line-strong);border-radius:10px;background:var(--surface-2);color:var(--ink);cursor:pointer;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.saved-pick-select:hover{border-color:var(--brand);background:var(--surface)}.saved-pick-select:focus-visible,.saved-pick.is-open .saved-pick-select{border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,110,242,.14)}.saved-pick-chevron{flex:none;color:var(--ink-3);transition:transform .2s ease,color .2s ease}.saved-pick.is-open .saved-pick-chevron{transform:rotate(180deg);color:var(--brand)}.saved-pick-menu{position:absolute;z-index:20;top:calc(100% + 7px);right:0;left:0;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-float);animation:saved-pick-menu-in .16s ease-out}.saved-pick-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background-color .15s ease,color .15s ease}.saved-pick-option.is-active,.saved-pick-option:hover{background:var(--brand-soft);color:var(--brand-deep)}.saved-pick-option-main{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-pick-option-meta{flex:none;color:var(--ink-3);font-size:11.5px}.saved-pick-option.is-active .saved-pick-option-meta,.saved-pick-option:hover .saved-pick-option-meta{color:var(--brand)}@keyframes saved-pick-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.input-field,.jd-text{width:100%;min-height:120px;resize:vertical;border:1.5px solid var(--line-strong);border-radius:var(--radius-md);padding:13px 15px;font-family:var(--font-sans);font-size:13.5px;line-height:1.7;color:var(--ink);background:var(--surface-2);transition:border-color .2s ease,box-shadow .2s ease}.input-field:focus,.jd-text:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(79,110,242,.14)}.jd-tools{display:flex;align-items:center;margin-top:10px}.jd-tools,.jd-tools .clear{font-size:12px;color:var(--ink-3)}.jd-tools .clear{margin-left:auto;background:none;border:none;cursor:pointer;font-family:inherit;padding:4px 8px;border-radius:6px}.jd-tools .clear:hover{color:var(--danger);background:var(--danger-soft)}.btn{font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;border-radius:12px;border:1px solid transparent;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:all .18s ease;letter-spacing:.02em}.btn-primary{background:var(--grad);color:#fff;min-width:220px;box-shadow:0 10px 24px -10px rgba(79,110,242,.55),inset 0 1px 0 rgba(255,255,255,.18)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(79,110,242,.6),inset 0 1px 0 rgba(255,255,255,.18)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--brand);border-color:var(--line-strong)}.btn-ghost:hover{border-color:var(--brand);background:var(--brand-soft)}.btn-sm{padding:8px 14px;font-size:12.5px;border-radius:10px;gap:6px}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn-danger:hover{background:rgba(225,29,72,.18)}.cta-row{text-align:center;margin-top:4px}.cta-note{margin-top:12px;font-size:12px;color:var(--ink-3)}.cta-note b{color:var(--ink-2);font-weight:600}.result{margin-top:46px}.result-hd{display:flex;align-items:flex-end;gap:14px;margin-bottom:18px}.result-hd h2{font-size:24px;font-weight:800}.result-hd p{color:var(--ink-2);font-size:13.5px;margin-top:2px}.advice-card,.letter-card,.match-card,.qa-card{margin-top:20px}.advice-card+.advice-card,.letter-card+.letter-card,.match-card+.match-card,.qa-card+.qa-card{margin-top:16px}.match-card{padding:26px 28px;display:grid;grid-template-columns:auto 1fr;grid-gap:30px;gap:30px;align-items:center}.score-ring{width:132px;text-align:center}.score-ring svg{width:128px;height:128px;display:block}.match-body h3{font-size:16.5px;font-weight:700;margin-bottom:8px}.match-summary{font-size:14px;color:var(--ink-2);max-width:640px}.match-lists{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:18px}.match-col{border-radius:var(--radius-md);padding:14px 16px}.match-col.good{background:var(--success-soft);border:1px solid var(--line)}.match-col.gap{background:var(--warning-soft);border:1px solid var(--line)}.match-col h4{font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;display:flex;align-items:center;gap:7px}.match-col.good h4{color:var(--success)}.match-col.gap h4{color:var(--warning)}.match-col li{list-style:none;font-size:13px;color:var(--ink-2);padding:4px 0 4px 18px;position:relative}.match-col li:before{content:"";position:absolute;left:2px;top:12px;width:6px;height:6px;border-radius:2px}.match-col.good li:before{background:var(--success)}.match-col.gap li:before{background:var(--warning)}.advice-card{margin-top:20px;padding:24px 26px}.advice-item{display:grid;grid-template-columns:auto 1fr;grid-gap:16px;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.advice-item:first-of-type{border-top:0;padding-top:4px}.tag-prio{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;height:-moz-fit-content;height:fit-content;margin-top:3px;letter-spacing:.06em;white-space:nowrap}.tag-prio.high{color:var(--danger);background:var(--danger-soft)}.tag-prio.mid{color:var(--warning);background:var(--warning-soft)}.tag-prio.low{color:var(--success);background:var(--success-soft)}.advice-item h4{font-size:14.5px;font-weight:700}.advice-item p{font-size:13.5px;color:var(--ink-2);margin-top:4px}.advice-example{margin-top:9px;font-size:12.5px;color:var(--ink-2);background:var(--surface-2);border-left:3px solid var(--accent);border-radius:6px;padding:9px 13px}.advice-example b{color:var(--accent-ink);font-weight:600}.letter-card{margin-top:20px;padding:20px}.letter{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:38px 44px 34px;position:relative;font-family:var(--font-serif)}.letter:before{content:"";position:absolute;left:22px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,rgba(109,95,240,.3) 12%,rgba(109,95,240,.3) 88%,transparent)}.letter .l-to{font-size:14.5px;color:var(--ink-2)}.letter .l-body{margin-top:16px;font-size:15px;line-height:2;text-align:justify;white-space:pre-wrap}.letter .l-sign{margin-top:24px;text-align:right;font-size:14.5px;color:var(--ink-2);line-height:1.9}.letter .l-sign .name{font-size:18px;font-weight:700;margin-top:4px}.letter-hd{justify-content:space-between;padding:4px 4px 14px}.l-title,.letter-hd{display:flex;align-items:center}.l-title{font-size:18px;font-weight:700;gap:10px}.l-title svg{color:var(--brand)}.qa-card{margin-top:20px;padding:24px 26px}.qa{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);overflow:hidden;transition:box-shadow .2s ease}.qa+.qa{margin-top:10px}.qa:hover{border-color:var(--line-strong);box-shadow:0 4px 14px -6px rgba(26,34,51,.12)}.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:13px;padding:14px 16px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qa summary::-webkit-details-marker{display:none}.qa summary .q-idx{width:26px;height:26px;border-radius:9px;flex:none;background:var(--grad);color:#fff;font-weight:700;font-size:12.5px;display:grid;place-items:center}.qa summary .q-text{font-size:14.5px;font-weight:600}.qa summary .q-chev{margin-left:auto;color:var(--ink-3);transition:transform .2s ease;flex:none}.qa[open] summary .q-chev{transform:rotate(180deg);color:var(--brand)}.qa[open] summary{background:var(--brand-soft)}.qa .qa-body{padding:2px 16px 16px 55px;font-size:13.5px;color:var(--ink-2)}.qa .qa-body b{color:var(--brand);font-weight:600;margin-right:4px}.analyzing-card{text-align:center;padding:56px 28px}.analyzing-card .spinner-lg{width:36px;height:36px;border-width:4px}.analyzing-card h3{margin-top:18px;font-size:17px;font-weight:700}.analyzing-card p{margin-top:8px;font-size:13.5px;color:var(--ink-2)}.error-card{text-align:center;padding:38px 28px}.error-card h3{font-size:17px;font-weight:700;color:var(--danger);margin-top:12px}.error-card p{font-size:13.5px;color:var(--ink-2);margin-top:6px}.error-card .btn{margin-top:16px}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--line) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:14px;margin-bottom:8px}.skeleton-line.w60{width:60%}.skeleton-line.w40{width:40%}.skeleton-block{height:150px;margin-bottom:12px}.seg-nav{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:4px;margin-bottom:16px;overflow-x:auto;scrollbar-width:none}.seg-nav::-webkit-scrollbar{display:none}.seg-nav .seg-item{flex:1 1;min-width:max-content;padding:9px 14px;text-align:center;font-size:13px;font-weight:600;border-radius:10px;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:all .18s ease;-webkit-tap-highlight-color:transparent}.seg-nav .seg-item.active{background:var(--surface);color:var(--brand);box-shadow:0 2px 8px rgba(79,110,242,.18)}.chat-thread{display:flex;flex-direction:column;gap:10px;margin:12px 0}.chat-bubble{max-width:86%;padding:11px 14px;border-radius:16px;font-size:13.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.chat-bubble.ai{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:5px}.chat-bubble.me{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:5px}.chat-inputbar{position:-webkit-sticky;position:sticky;bottom:0;display:flex;gap:8px;align-items:center;padding:10px 0;background:var(--bg)}.chat-inputbar input{flex:1 1;padding:12px 16px;border:1.5px solid var(--line-strong);border-radius:24px;background:var(--surface-2);font-size:14px;color:var(--ink);outline:none}.chat-inputbar input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(79,110,242,.12)}.chat-inputbar .chat-send{width:42px;height:42px;border:none;border-radius:50%;flex:none;background:var(--grad);color:#fff;font-size:17px;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 14px -6px rgba(79,110,242,.5)}.chat-inputbar .chat-send:disabled{opacity:.5}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.auth-card{width:100%;max-width:400px;padding:32px 28px;background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--shadow-float)}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px;justify-content:center}.auth-brand .brand-mark{width:38px;height:38px;border-radius:11px;background:var(--grad);color:#fff;font-weight:800;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.auth-brand .brand-name{font-weight:700;font-size:16px}.auth-title{font-size:22px;font-weight:800;text-align:center;margin-top:6px}.auth-subtitle{font-size:13px;color:var(--ink-3);text-align:center;margin-bottom:22px}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink-2)}.form-group input{width:100%;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:12px;background:var(--surface-2);font-size:14px;color:var(--ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(79,110,242,.12)}.auth-forgot-row{text-align:right;margin:-4px 0 12px}.auth-forgot{font-size:12.5px;color:var(--brand);font-weight:600;text-decoration:none}.auth-forgot:hover{text-decoration:underline}.auth-error{background:var(--danger-soft);color:var(--danger)}.auth-error,.auth-success{padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:14px}.auth-success{background:var(--success-soft);color:var(--success)}.auth-form .btn{width:100%}.auth-switch{text-align:center;font-size:13px;margin-top:16px;color:var(--ink-2)}.auth-perks{display:flex;flex-direction:column;gap:9px;margin:-6px 0 20px}.auth-perk{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:13px;line-height:1.45}.auth-perk-icon{flex:none;font-size:15px;line-height:1}.auth-quota-note{margin-top:-2px;text-align:center;color:var(--ink-3)}.auth-switch a{color:var(--brand);font-weight:600;text-decoration:none}.auth-split{position:relative;display:flex;height:100dvh;min-height:100vh;overflow:hidden;background:radial-gradient(900px 620px at 12% 18%,rgba(79,110,242,.16),transparent 60%),radial-gradient(760px 560px at 88% 82%,rgba(109,95,240,.13),transparent 60%),radial-gradient(520px 380px at 78% 12%,rgba(56,189,248,.08),transparent 65%),linear-gradient(155deg,var(--bg-soft) 0,var(--bg) 55%,var(--bg-soft) 100%)}.auth-split:before{inset:0;background-image:linear-gradient(rgba(79,110,242,.06) 1px,transparent 0),linear-gradient(90deg,rgba(79,110,242,.06) 1px,transparent 0);background-size:44px 44px;mask-image:radial-gradient(ellipse 90% 80% at 50% 50%,#000 30%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 50%,#000 30%,transparent 78%)}.auth-split:after,.auth-split:before{content:"";position:absolute;pointer-events:none;z-index:0}.auth-split:after{inset:-15%;background:radial-gradient(420px 420px at 22% 30%,rgba(79,110,242,.2),transparent 65%),radial-gradient(360px 360px at 78% 70%,rgba(109,95,240,.16),transparent 65%);filter:blur(6px);animation:authBkgDrift 28s ease-in-out infinite alternate}@keyframes authBkgDrift{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(3%,2%,0) scale(1.06)}}.auth-left{width:50%;flex:none;display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vw,48px)}.auth-left,.auth-left>*,.auth-right{position:relative;z-index:1}.auth-right{width:50%;flex:none;display:flex;align-items:center;justify-content:center;padding:24px}.auth-split .auth-card{position:relative;max-width:460px;width:100%;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;border-radius:0;box-shadow:none;overflow:visible}.auth-left .auth-preview,.auth-right .auth-card{animation:authRise .6s cubic-bezier(.22,.68,.36,1) both}.auth-right .auth-card{animation-delay:.08s}@keyframes authRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.auth-split .auth-title:after{content:"";display:block;width:34px;height:3px;margin:10px auto 0;border-radius:2px;background:var(--grad)}.auth-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--surface-2) inset;-webkit-text-fill-color:var(--ink);caret-color:var(--ink)}.auth-form .btn-primary:focus-visible{outline:3px solid rgba(79,110,242,.35);outline-offset:2px}.auth-error{position:relative;padding-left:34px;animation:authErrorIn .25s ease both}.auth-error:before{content:"";position:absolute;left:14px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}@keyframes authErrorIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.auth-quota-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:16px auto 0;padding:7px 14px;width:-moz-fit-content;width:fit-content;background:var(--brand-soft);border:1px solid var(--line);border-radius:999px;color:var(--brand);font-weight:600;font-size:12px;line-height:1.5}.auth-quota-note:before{content:"✦";font-size:11px}.auth-preview{max-width:560px;width:100%}.auth-mock-screen{width:100%;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-float);animation:mockScreenIn .7s cubic-bezier(.22,.68,.36,1) both}@keyframes mockScreenIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.mock-titlebar{display:flex;align-items:center;gap:7px;padding:11px 16px;background:var(--surface-2);border-bottom:1px solid var(--line)}.mock-dot{width:10px;height:10px;border-radius:50%;flex:none}.mock-url{flex:1 1;text-align:center;font-size:11.5px;color:var(--ink-3);font-weight:500;letter-spacing:.02em}.mock-body{padding:20px 20px 16px}.mock-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.mock-title{font-size:17px;font-weight:800;color:var(--ink);margin:0}.mock-badge{font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand);letter-spacing:.04em}.mock-top-row{display:flex;gap:16px;margin-bottom:20px}.mock-score-card{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;background:var(--brand-soft);border-radius:14px;min-height:140px}.mock-ring{width:96px;height:96px;filter:drop-shadow(0 8px 16px rgba(79,110,242,.25))}.mock-ring .mock-ring-progress{animation:authRingDraw 1.3s cubic-bezier(.4,0,.2,1) .3s both}.mock-ring text{animation:authFade .5s ease 1.1s both}.mock-score-label{margin-top:6px;font-size:12px;font-weight:600;color:var(--ink-3)}.mock-radar-card{flex:2 1;display:flex;flex-direction:column;align-items:center;padding:8px 6px 4px;background:var(--surface-2);border-radius:14px;border:1px solid var(--line)}.mock-radar-label{font-size:11px;font-weight:600;color:var(--ink-3);margin-bottom:2px}.radar-svg{width:100%;max-width:180px;display:block;animation:authRadarIn .8s ease .35s both}.mock-gaps{margin-bottom:0}.mock-gaps-header{font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:10px}.mock-gap-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:12.5px;color:var(--ink-2)}.mock-gap-label{width:64px;flex:none;font-weight:500}.mock-gap-bar{flex:1 1;height:6px;background:var(--line)}.mock-gap-bar,.mock-gap-fill{position:relative;border-radius:4px;overflow:hidden}.mock-gap-fill{display:block;width:var(--gap-w,0);height:100%;background:var(--gap-color,var(--grad));animation:authBarGrow 1s cubic-bezier(.22,.68,.36,1) both}.mock-gap-bar:after{content:"";position:absolute;top:50%;left:var(--gap-w,0);width:11px;height:11px;margin-top:-5.5px;margin-left:-5.5px;border-radius:50%;background:var(--gap-color,var(--grad));box-shadow:0 0 0 2px var(--surface),0 2px 6px rgba(0,0,0,.18);animation:authFade .45s ease calc(.35s + var(--gap-i) * .12s) both}.mock-gap-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.45) 50%,transparent 80%);transform:translateX(-100%);animation:authShimmer 2.4s ease-in-out 1.2s infinite}.mock-gap-pct{width:34px;flex:none;text-align:right;font-weight:600;font-size:12px;color:var(--gap-color,var(--ink-3))}.mock-footnote{text-align:center;font-size:11px;color:var(--ink-3);padding-top:14px;margin-top:14px;border-top:1px dashed var(--line)}@keyframes authRingDraw{0%{stroke-dashoffset:251.33}to{stroke-dashoffset:var(--ring-end,0)}}@keyframes authFade{0%{opacity:0}to{opacity:1}}@keyframes authRadarIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes authBarGrow{0%{width:0}to{width:var(--gap-w,50%)}}@keyframes authShimmer{0%{transform:translateX(-100%)}60%{transform:translateX(100%)}to{transform:translateX(100%)}}.auth-quota-real{margin-top:16px;padding:10px 14px;background:var(--brand-soft);border:1px solid var(--line);border-radius:12px;font-size:13px;color:var(--brand);font-weight:600;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px}.auth-quota-real:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.auth-left-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}.auth-left-brand .brand-mark{width:36px;height:36px;border-radius:11px;background:var(--grad);color:#fff;font-weight:800;font-size:17px;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 14px -6px rgba(79,110,242,.5)}.auth-left-brand .brand-name{font-weight:700;font-size:15px;line-height:1.2}.auth-left-brand .brand-name small{display:block;font-size:10px;font-weight:500;color:var(--ink-3);letter-spacing:.08em}.auth-left-headline{font-size:clamp(21px,2.1vw,27px);font-weight:800;line-height:1.3;margin-bottom:8px;color:var(--ink)}.auth-left-headline em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-left-sub{font-size:13px;color:var(--ink-3);letter-spacing:.02em;margin-bottom:20px}@media (max-width:1023px){.auth-split{flex-direction:column;height:auto;min-height:100dvh}.auth-left{width:100%;padding:22px 16px 10px;background:transparent}.auth-split:after{opacity:.55}.auth-left .auth-left-brand{margin-bottom:0}.auth-left .auth-left-headline,.auth-left .auth-left-sub,.auth-left .auth-mock-screen,.auth-left .auth-quota-real{display:none}.auth-right{width:100%;padding:6px 12px 24px;background:transparent}}@media (prefers-reduced-motion:reduce){.auth-left .auth-preview,.auth-right .auth-card,.auth-split:after,.mock-gap-bar:after,.mock-gap-fill,.mock-gap-fill:after,.mock-ring .mock-ring-progress,.mock-ring text,.radar-svg{animation:none!important}}.guest-banner,.user-banner{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1.5rem}.user-banner{background:var(--success-soft);color:var(--success);border:1px solid var(--success-soft)}.guest-banner{position:relative;overflow:hidden;background:var(--glass);color:var(--ink-2);border:1px solid var(--glass-border);box-shadow:var(--shadow-card);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.guest-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grad)}.guest-banner-icon,.user-banner-icon{font-size:1rem}.guest-banner a{color:var(--brand);font-weight:600;text-decoration:none}.guest-banner a:hover{text-decoration:underline}.guest-banner .gb-main{flex:none;font-weight:600}.guest-banner .gb-detail{display:inline}.guest-banner .gb-mobile-link{display:none;margin-left:auto;flex:none;background:var(--brand-soft);padding:4px 14px;border-radius:999px;font-size:12.5px}@media (max-width:767px){.guest-banner{padding:.55rem .9rem;font-size:13px}.guest-banner .gb-detail{display:none}.guest-banner .gb-mobile-link{display:inline-flex;align-items:center}}.empty-state{text-align:center;padding:56px 16px}.empty-icon{width:72px;height:72px;border-radius:22px;margin:0 auto 16px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;border:1px solid var(--line);box-shadow:0 8px 20px -10px rgba(79,110,242,.45)}.history-list,.resume-list{display:flex;flex-direction:column;gap:12px}.history-card,.resume-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--shadow-card);transition:transform .18s ease,box-shadow .18s ease;text-decoration:none}.history-card:hover,.resume-card:hover{border-color:var(--line-strong);box-shadow:0 10px 26px -12px rgba(26,34,51,.22);transform:translateY(-1px)}.history-card:active,.resume-card:active{transform:scale(.99)}.history-score{flex-shrink:0}.score{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:16px;font-weight:800;font-size:16px}.score-high{background:var(--grad);color:#fff}.score-mid{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.score-low{background:linear-gradient(135deg,#ef4444,#ec4899);color:#fff}.history-info,.resume-info{flex:1 1;min-width:0}.history-title,.resume-name{font-weight:700;font-size:14.5px;margin-bottom:3px}.history-meta,.history-title,.resume-meta,.resume-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-meta,.resume-meta{font-size:12px;color:var(--ink-3)}.default-badge{display:inline-block;margin-left:6px;padding:1px 8px;font-size:10px;background:var(--brand-soft);color:var(--brand);border-radius:999px;vertical-align:1px}.status-label{font-size:12px;color:var(--success);font-weight:600}.btn-link{color:var(--brand);font-weight:600;font-size:13px;text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit}.btn-link:hover{text-decoration:underline}.view-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:999px;flex:none;background:var(--brand-soft);color:var(--brand);font-size:12.5px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:all .18s ease;white-space:nowrap}.view-btn:hover{background:var(--brand);color:#fff;text-decoration:none}.history-card{padding:10px 10px 10px 14px}.history-card-main{flex:1 1;min-width:0;display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}.history-del-btn{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);cursor:pointer;font-family:inherit;transition:all .18s ease}.history-del-btn:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.history-del-btn:disabled{opacity:.5;cursor:not-allowed}.history-card.deleting{opacity:.55}.resume-icon{width:42px;height:42px;border-radius:13px;flex:none;background:var(--brand-soft);color:var(--brand);font-size:19px;display:grid;place-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}.summary-card{display:flex;align-items:center;gap:20px;padding:24px 26px;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.big-score{font-size:46px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}.summary-text{font-size:14px;color:var(--ink-2)}.followup-list{display:flex;flex-direction:column;gap:10px}.followup-entry{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.fu-tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;background:var(--brand-soft);color:var(--brand)}.fu-q-text,.fu-tag{font-weight:600;margin-bottom:6px}.fu-body,.fu-q-text{font-size:13px}.fu-body{color:var(--ink-2);white-space:pre-wrap;line-height:1.7}.footer{border-top:1px solid var(--line);margin-top:60px;padding:22px 20px 96px;text-align:center;color:var(--ink-3);font-size:12px}.footer b{color:var(--ink-2);font-weight:600}.footer a{color:var(--brand);text-decoration:none}.profile-header{text-align:center;padding:8px 0 4px}.avatar{width:72px;height:72px;border-radius:50%;margin:0 auto 12px;background:var(--grad);color:#fff;font-size:28px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 24px -10px rgba(79,110,242,.6)}.profile-name{font-size:20px;font-weight:800}.profile-email{font-size:13px;color:var(--ink-3);margin-top:2px;word-break:break-all}.menu-list{padding:4px 18px}.menu-item{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:14.5px;min-height:48px}.menu-item .menu-left{line-height:1}.menu-item:last-child{border-bottom:none}.menu-item .menu-left{display:flex;align-items:center;gap:12px}.menu-item .menu-ic{width:34px;height:34px;border-radius:10px;flex:none;background:var(--surface-2);border:1px solid var(--line);color:var(--brand);display:grid;place-items:center}.menu-item .menu-val{font-size:13px;color:var(--ink-3)}.menu-item .menu-val.strong{color:var(--brand);font-weight:700}.toggle{width:46px;height:27px;border-radius:14px;background:var(--line-strong);position:relative;cursor:pointer;transition:background .25s ease;border:none;flex:none;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.toggle:after{content:"";width:21px;height:21px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;transition:transform .25s ease;box-shadow:0 1px 3px rgba(0,0,0,.25)}.toggle.on{background:var(--brand)}.toggle.on:after{transform:translateX(19px)}.btn-block{display:block;width:100%}.btn-danger-soft{background:var(--danger-soft);color:var(--danger)}@media (max-width:1199px){.app-sidebar{display:none}.app-tabbar{display:flex}.app-main{padding-bottom:0}.wrap{padding:24px 16px 90px}.page-wrap{padding:20px 14px 96px}.input-grid,.match-card{grid-template-columns:1fr}.match-card{text-align:center}.score-ring{margin:0 auto}.match-lists{grid-template-columns:1fr}.letter{padding:26px 22px 26px 34px}.footer{padding-bottom:84px}}@media (min-width:768px) and (max-width:1199px){.wrap{padding:32px 28px 96px}.page-wrap{padding:28px 24px 100px}.input-grid,.match-lists{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(26px,3.6vw,34px)}.hero p{font-size:15px}.tab-item{font-size:11.5px}.tab-item .tab-ic{font-size:23px}}@media (max-width:767px){.hero h1{font-size:26px}.hero p{font-size:14px}}@media (max-width:480px){.advice-item{grid-template-columns:1fr}.history-card,.resume-card{padding:13px}.card-bd{padding:14px 16px 18px}.card-hd{padding:14px 16px 0}.summary-card{flex-direction:column;text-align:center;padding:20px 16px}}@media (min-width:1200px){.app-tabbar{display:none!important}}@media print{.app-sidebar,.app-tabbar,.footer,.topbar{display:none!important}body{background:#fff;color:#000}.app-main{padding:0}}[data-site-theme=professional]{--site-bg:#fbfcfe;--site-surface:#fff;--site-text:#172338;--site-text-2:#5b687a;--site-accent:#163a63;--site-accent-soft:rgba(22,58,99,.08);--site-border:#dce4ec;--site-radius:4px;--site-font:var(--font-sans);--site-max-w:1120px;--site-shadow:none;--site-shadow-hover:0 8px 22px rgba(22,58,99,.08);--site-font-mono:var(--font-mono)}[data-site-theme=product]{--site-bg:#f7f8ff;--site-surface:#fff;--site-text:#111827;--site-text-2:#5f6b85;--site-accent:#635bff;--site-accent-soft:rgba(99,91,255,.1);--site-border:#e6e7fb;--site-radius:20px;--site-font:var(--font-sans);--site-max-w:1080px;--site-shadow:0 12px 34px rgba(63,58,180,.08);--site-shadow-hover:0 20px 44px rgba(63,58,180,.16);--site-font-mono:var(--font-mono)}[data-site-theme=portfolio]{--site-bg:#f4f0e8;--site-surface:#fffdf8;--site-text:#211f1b;--site-text-2:#756e64;--site-accent:#e65738;--site-accent-soft:rgba(230,87,56,.12);--site-border:#ddd4c7;--site-radius:2px;--site-font:var(--font-sans);--site-max-w:1160px;--site-shadow:8px 8px 0 #ded3c4;--site-shadow-hover:12px 12px 0 #d5c5b3;--site-font-mono:var(--font-mono)}[data-site-theme=enterprise]{--site-bg:#08121f;--site-surface:#0d1d2d;--site-text:#e7f4ff;--site-text-2:#91acc0;--site-accent:#52d7ff;--site-accent-soft:rgba(82,215,255,.12);--site-border:#1d3a51;--site-radius:4px;--site-font:var(--font-sans);--site-max-w:1120px;--site-shadow:none;--site-shadow-hover:0 0 0 1px rgba(82,215,255,.55),0 18px 45px rgba(0,0,0,.24);--site-font-mono:var(--font-mono)}.site-page{background:var(--site-bg);color:var(--site-text);font-family:var(--site-font);max-width:var(--site-max-w);margin:0 auto;padding:0 32px 72px;line-height:1.7;min-height:100vh;overflow-x:hidden}.site-page *{box-sizing:border-box}.site-hero{position:relative}.site-name{margin:0;font-size:clamp(2.35rem,6vw,5.2rem);line-height:1.02;letter-spacing:-.055em;font-weight:800}.site-headline{color:var(--site-accent);font-size:clamp(1rem,2vw,1.35rem);font-weight:650;margin:14px 0 24px}.site-eyebrow,.site-portfolio-mark,.site-project-kicker,.site-system-line{font-family:var(--site-font-mono);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--site-accent);font-weight:700}.site-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.site-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 18px;border:1px solid var(--site-border);border-radius:var(--site-radius);background:var(--site-surface);color:var(--site-text);font-weight:700;font-size:.9rem;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s}.site-btn:hover{border-color:var(--site-accent);transform:translateY(-2px);box-shadow:var(--site-shadow-hover)}.site-btn-primary{border-color:var(--site-accent);background:var(--site-accent);color:#fff}[data-site-theme=enterprise] .site-btn-primary{color:#06111d}.site-section{margin:0 0 54px}.site-section-title{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:var(--site-accent);font-size:1rem;font-weight:800;letter-spacing:.02em}.site-section-title:after{content:"";height:1px;flex:1 1;background:var(--site-border)}.site-section-lead{margin-bottom:22px}.site-display-title{margin:5px 0 0;font-size:clamp(1.8rem,4vw,3.25rem);line-height:1.05;letter-spacing:-.05em}.site-card-text,.site-portfolio-intro,.site-product-intro,.site-summary{color:var(--site-text-2);white-space:pre-wrap}.site-card-text{margin:0;font-size:.92rem}.site-list{display:flex;flex-direction:column;gap:14px}.site-item{background:var(--site-surface);border:1px solid var(--site-border);border-radius:var(--site-radius);padding:20px;min-width:0;max-width:100%;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}.site-item:hover{border-color:var(--site-accent);box-shadow:var(--site-shadow-hover);transform:translateY(-2px)}.site-item-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.site-item-title{margin:0;font-size:1.03rem;font-weight:800}.site-item-meta{color:var(--site-text-2);font-size:.82rem}.site-bullets{margin:8px 0 0;padding-left:20px;color:var(--site-text-2);font-size:.92rem}.site-bullets,.site-bullets li{max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.site-bullets li{margin-bottom:4px;white-space:pre-wrap}.site-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.site-tag{display:inline-flex;padding:4px 10px;border:1px solid transparent;border-radius:999px;background:var(--site-accent-soft);color:var(--site-accent);font-size:.78rem;font-weight:700;transition:transform .18s}.site-tag:hover{transform:translateY(-2px)}.site-project-card{position:relative;padding:24px;border:1px solid var(--site-border);border-radius:var(--site-radius);background:var(--site-surface);box-shadow:var(--site-shadow);transition:transform .2s,box-shadow .2s}.site-project-card:hover{transform:translateY(-3px);box-shadow:var(--site-shadow-hover)}.site-project-card.is-featured{padding:clamp(26px,5vw,54px)}.site-project-kicker{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px;color:var(--site-text-2)}.site-project-title{margin:0 0 12px;font-size:clamp(1.35rem,3vw,2.3rem);line-height:1.12}.site-project-link{display:inline-block;margin-top:18px;color:var(--site-accent);font-size:.86rem;font-weight:800;text-decoration:none}.site-professional-hero{padding:64px 0 34px;border-bottom:2px solid var(--site-accent);margin-bottom:34px}.site-professional-hero .site-name{font-size:clamp(2.3rem,5vw,4rem);margin-top:10px}.site-professional-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);grid-gap:48px;gap:48px}.site-professional-columns aside,.site-professional-columns main{min-width:0}[data-site-theme=professional] .site-professional-columns main .site-item{background:transparent;border:0;border-bottom:1px solid var(--site-border);border-radius:0;box-shadow:none;padding:0 0 22px}[data-site-theme=professional] .site-professional-columns main .site-item:hover{transform:none;border-color:var(--site-border);box-shadow:none}[data-site-theme=professional] .site-professional-columns main .site-item-title{overflow-wrap:anywhere}[data-site-theme=professional] .site-education-list{gap:20px}[data-site-theme=professional] .site-education-list .site-item{padding-bottom:16px}[data-site-theme=professional] .site-education-list .site-item-head{display:block}[data-site-theme=professional] .site-education-list .site-item-meta{display:block;margin-top:6px;line-height:1.65}.site-professional-columns aside{border-left:1px solid var(--site-border);padding-left:32px}.site-highlight-stack{display:grid;grid-gap:10px;gap:10px}[data-site-theme=professional] .site-card{padding:14px 0;border-bottom:1px solid var(--site-border)}[data-site-theme=professional] .site-card-title{color:var(--site-accent);margin:0 0 5px;font-size:.96rem}.site-side-note{margin-top:18px;padding-left:14px;border-left:2px solid var(--site-accent);color:var(--site-text-2);font-size:.86rem}.site-product-hero{padding:86px 8vw 78px;margin:0 -32px 70px;border-radius:0 0 42px 42px;background:radial-gradient(circle at 80% 15%,rgba(129,108,255,.28),transparent 28%),linear-gradient(135deg,#e9e9ff,#f9f7ff 72%)}.site-product-hero .site-name{max-width:800px;margin-top:12px}.site-product-hero .site-headline{max-width:690px;font-size:clamp(1.2rem,3vw,2rem)}.site-product-intro{max-width:650px;margin:0 0 28px;font-size:1.05rem}.site-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.site-proof-card{padding:24px;border:1px solid var(--site-border);border-radius:var(--site-radius);background:var(--site-surface);box-shadow:var(--site-shadow)}.site-proof-card h3{margin:0 0 8px;color:var(--site-accent);font-size:1rem}.site-proof-card p{margin:0;color:var(--site-text-2);font-size:.9rem}.site-product-cta{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:34px 0 0;border-top:1px solid var(--site-border)}.site-product-cta .site-contact{min-width:240px}.site-portfolio-hero{padding:58px 0 48px;border-bottom:4px solid var(--site-text)}.site-portfolio-mark{color:var(--site-text);margin-bottom:30px}.site-portfolio-hero .site-name{max-width:760px;font-size:clamp(3.5rem,11vw,8.5rem)}.site-portfolio-intro{max-width:620px;margin:24px 0 30px;font-size:1.06rem}.site-portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:22px;gap:22px;align-items:start}.site-portfolio-grid .site-project-card{grid-column:span 5}.site-portfolio-grid .site-project-card:nth-child(3n+1){grid-column:span 7}.site-portfolio-grid .site-project-card:nth-child(3n+2){margin-top:56px}.site-portfolio-grid .site-project-card.is-featured{min-height:300px}.site-portfolio-footer{padding:28px 0 0;border-top:3px solid var(--site-text)}.site-portfolio-footer>p{max-width:560px;font-size:1.25rem}.site-enterprise-layout{position:relative}[data-site-theme=enterprise] .site-page{background-image:linear-gradient(rgba(82,215,255,.035) 1px,transparent 0),linear-gradient(90deg,rgba(82,215,255,.035) 1px,transparent 0);background-size:32px 32px}.site-enterprise-hero{padding:42px 0 32px;border-bottom:1px solid var(--site-border)}.site-system-line{display:flex;justify-content:space-between;gap:12px;padding-bottom:34px;color:var(--site-text-2)}.site-enterprise-hero .site-name{margin-top:10px;font-size:clamp(2rem,6vw,4.8rem);letter-spacing:-.08em}.site-enterprise-hero .site-headline,.site-enterprise-hero .site-name{font-family:var(--site-font-mono)}.site-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1px;gap:1px;margin:26px 0 64px;border:1px solid var(--site-border);background:var(--site-border)}.site-metric{display:grid;grid-gap:3px;gap:3px;min-height:110px;padding:18px;background:var(--site-bg)}.site-metric strong{color:var(--site-accent);font:800 2rem/1 var(--site-font-mono)}.site-metric small,.site-metric span{color:var(--site-text-2);font:700 .75rem/1.4 var(--site-font-mono)}.site-capability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));grid-gap:12px;gap:12px}.site-capability-card{min-width:0;min-height:170px;padding:20px;border:1px solid var(--site-border);background:rgba(13,29,45,.78)}.site-card-index{display:inline-flex;padding:3px 6px;border:1px solid var(--site-accent);color:var(--site-accent);font:700 .68rem var(--site-font-mono)}.site-capability-card h3{margin:18px 0 0;font-family:var(--site-font-mono)}[data-site-theme=enterprise] .site-tag{border-radius:2px;font-family:var(--site-font-mono);letter-spacing:.02em}[data-site-theme=enterprise] .site-capability-card .site-tags{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}[data-site-theme=enterprise] .site-capability-card .site-tag{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.site-project-stack{display:grid;grid-gap:10px;gap:10px}[data-site-theme=enterprise] .site-project-card{border-left:3px solid var(--site-accent);background:rgba(13,29,45,.8);box-shadow:none}.site-architecture-note{margin:18px 0 0;padding:16px;border:1px dashed var(--site-accent);color:var(--site-text-2);font-family:var(--site-font-mono);font-size:.86rem}.site-system-summary{padding:20px;border:1px solid var(--site-border);background:rgba(13,29,45,.65)}.site-footer{margin-top:54px;padding-top:26px;border-top:1px solid var(--site-border)}.site-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:10px;gap:10px}.site-contact-item{display:flex;flex-direction:column;gap:2px;min-width:0;padding:12px 14px;border:1px solid var(--site-border);border-radius:var(--site-radius);background:var(--site-surface);text-decoration:none;color:var(--site-text);transition:border-color .18s,transform .18s}.site-contact-item:hover{border-color:var(--site-accent);transform:translateY(-2px)}.site-contact-label{color:var(--site-text-2);font-size:.74rem}.site-contact-value{overflow-wrap:anywhere;font-size:.88rem;font-weight:700}.site-contact-compact{grid-template-columns:1fr}.site-editor-field,.site-editor-list-item{min-width:0;max-width:100%}.site-editor-list-item{overflow:hidden}.site-editor-field input,.site-editor-field textarea{display:block;box-sizing:border-box}.site-editor-field textarea{overflow:auto}.site-theme-config-editor{margin:16px 0;padding-top:2px;border-top:1px solid var(--line)}@media (prefers-reduced-motion:reduce){.site-page *{transition:none!important}}@container (max-width:700px){.site-page{padding:0 18px 48px}.site-professional-hero{padding:42px 0 28px}.site-professional-columns{grid-template-columns:1fr;gap:34px}.site-professional-columns aside{border-left:0;border-top:1px solid var(--site-border);padding:30px 0 0}.site-professional-columns main .site-item-head{display:block}.site-professional-columns main .site-item-meta{display:block;margin-top:5px;line-height:1.6}.site-professional-columns main .site-bullets{padding-left:18px}.site-product-hero{margin:0 -18px 48px;padding:56px 28px 52px;border-radius:0 0 28px 28px}.site-capability-grid,.site-proof-grid{grid-template-columns:1fr}.site-product-cta{display:grid;align-items:start}.site-portfolio-grid{grid-template-columns:1fr}.site-portfolio-grid .site-project-card,.site-portfolio-grid .site-project-card:nth-child(3n+1){grid-column:auto}.site-portfolio-grid .site-project-card:nth-child(3n+2){margin-top:0}.site-system-line{flex-wrap:wrap;font-size:.62rem}}@media (max-width:760px){.site-page{padding:0 18px 48px}.site-professional-hero{padding:42px 0 28px}.site-professional-columns{grid-template-columns:1fr;gap:10px}.site-professional-columns aside{border-left:0;border-top:1px solid var(--site-border);padding:34px 0 0}.site-product-hero{margin:0 -18px 48px;padding:56px 28px 52px;border-radius:0 0 28px 28px}.site-capability-grid,.site-proof-grid{grid-template-columns:1fr}.site-product-cta{display:grid;align-items:start}.site-portfolio-hero .site-name{font-size:clamp(3rem,16vw,6rem)}.site-portfolio-grid{display:grid;grid-template-columns:1fr}.site-portfolio-grid .site-project-card,.site-portfolio-grid .site-project-card:nth-child(3n+1){grid-column:auto}.site-portfolio-grid .site-project-card:nth-child(3n+2){margin-top:0}.site-system-line{flex-wrap:wrap;font-size:.62rem}}.draft-badge{display:inline-block;margin-left:6px;padding:1px 8px;font-size:10px;background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line);border-radius:999px;vertical-align:1px}.history-actions,.resume-actions{margin-left:auto;display:flex;align-items:center;gap:6px;flex:none}.saved-badge{display:inline-block;margin-left:8px;padding:2px 10px;font-size:11px;background:var(--success-soft);color:var(--success);border-radius:999px;font-weight:600;vertical-align:1px}