:root{--bg:#f8fafb;--bg-white:#fff;--bg-tint:#f1f5f9;--ink:#0b0f1a;--ink2:#3e4c5e;--ink3:#7b8a9e;--ink4:#a3aebd;--line:rgba(11,15,26,.08);--line2:rgba(11,15,26,.12);--blue:#2d6fd4;--blue2:#4a8fd4;--blue3:#5bb0f0;--blue-soft:rgba(45,111,212,.08);--blue-soft2:rgba(45,111,212,.14);--green:#0e9f6e;--green-soft:rgba(14,159,110,.1);--red:#e05a5a;--red-soft:rgba(224,90,90,.08);--grad:linear-gradient(135deg,#4a8fd4,#2d6fd4);--grad-text:linear-gradient(90deg,#2d6fd4,#4a8fd4 55%,#5bb0f0);--shadow-sm:0 2px 12px rgba(11,15,26,.05);--shadow:0 4px 24px rgba(11,15,26,.06);--shadow-lg:0 18px 50px rgba(11,15,26,.1);--glow:0 4px 16px rgba(45,111,212,.28);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--blue-lt:#2d6fd4;--text:#0b0f1a;--text2:#3e4c5e;--text3:#7b8a9e;--border:rgba(11,15,26,.08)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-size:16px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}body,button{font-family:var(--sans)}::selection{background:rgba(45,111,212,.18)}.grad-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.shell{min-height:100vh;flex-direction:column}.nav,.shell{display:flex}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(248,250,251,.82);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--line);padding:0 1.5rem;height:64px;align-items:center;justify-content:space-between}.logo{font-family:var(--serif);font-style:italic;font-size:23px;font-weight:500;color:var(--ink);letter-spacing:-.01em;text-decoration:none}.logo span{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.nav-right{display:flex;gap:8px}.badge,.nav-right{align-items:center}.badge{display:inline-flex;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--blue);background:hsla(0,0%,100%,.85);border:1px solid rgba(45,111,212,.18);border-radius:20px;padding:6px 12px;box-shadow:var(--shadow-sm);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue)}.chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink3);border:1px solid var(--line2);background:var(--bg-white);border-radius:20px;padding:5px 11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.chip.hot{color:var(--ink);border-color:rgba(45,111,212,.25)}.main{flex:1 1;width:100%;max-width:820px;margin:0 auto;padding:48px 24px 40px}.hero-glow{position:relative}.hero-glow:before{content:"";position:absolute;top:-110px;left:50%;transform:translateX(-50%);width:900px;max-width:100vw;height:460px;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at center,rgba(45,111,212,.1) 0,transparent 62%),radial-gradient(circle,rgba(203,213,225,.9) 1px,transparent 0);background-size:auto,28px 28px;-webkit-mask-image:linear-gradient(180deg,#000,#000 55%,transparent 90%);mask-image:linear-gradient(180deg,#000,#000 55%,transparent 90%);opacity:.55}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--blue);background:hsla(0,0%,100%,.78);border:1px solid rgba(45,111,212,.18);border-radius:20px;padding:6px 14px;margin-bottom:1.2rem;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 0 rgba(45,111,212,.45);animation:irxPulse 2.2s ease-out infinite}h1.title{font-family:var(--serif);font-weight:500;font-size:clamp(32px,5.4vw,50px);line-height:1.08;letter-spacing:-.02em;color:var(--ink);margin-bottom:1rem}h1.title em{font-style:italic;font-weight:500;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}.sub{color:var(--ink2);font-size:16px;line-height:1.7;max-width:580px;margin-bottom:2rem}.label{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:500;margin:1.8rem 0 .75rem}.modes{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.mode{text-align:left;background:var(--bg-white);border:1px solid var(--line);border-radius:16px;padding:18px 18px 16px;cursor:pointer;color:var(--ink);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:border-color .2s,transform .18s ease,box-shadow .18s ease,background .2s}.mode:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#e6eaf0,#d3d9e2);transition:background .2s}.mode:hover{border-color:rgba(45,111,212,.35);transform:translateY(-2px);box-shadow:var(--shadow)}.mode.on{border-color:rgba(45,111,212,.55);background:#fff;box-shadow:0 0 0 3px rgba(45,111,212,.12),var(--shadow)}.mode.on:before{background:var(--grad-text)}.mode.locked{opacity:.62;cursor:pointer;background:var(--bg-tint);box-shadow:none}.mode.locked:hover{transform:none;border-color:var(--line2)}.mode-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.mode-name{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.lockpill{font-size:9px;letter-spacing:.12em;color:var(--ink3);border:1px solid var(--line2);background:var(--bg-white);border-radius:20px;padding:3px 8px;white-space:nowrap}.lockpill,.mode-tag{font-family:var(--mono);text-transform:uppercase}.mode-tag{font-size:10px;letter-spacing:.14em;color:var(--blue);margin:4px 0 8px}.mode-desc{font-size:13.5px;color:var(--ink2);line-height:1.55}.pills{display:flex;flex-wrap:wrap;gap:8px}.pill{background:var(--bg-white);border:1px solid var(--line2);color:var(--ink2);border-radius:20px;padding:8px 15px;font-size:13.5px;font-weight:500;cursor:pointer;transition:all .2s}.pill:hover{border-color:rgba(45,111,212,.45);color:var(--ink)}.pill.on{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.cfg-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--grad);color:#fff;border:none;border-radius:12px;padding:15px 30px;font-family:var(--sans);font-size:15.5px;font-weight:600;cursor:pointer;box-shadow:var(--glow);text-decoration:none;text-align:center;position:relative;overflow:hidden;isolation:isolate;transition:transform .18s ease,box-shadow .18s ease,opacity .15s}.btn:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(transparent,hsla(0,0%,100%,.16),transparent);animation:irxConic 6s linear infinite;pointer-events:none;z-index:-1}.btn:not(.ghost):after{content:"\2192";font-size:17px;line-height:1;transition:transform .18s ease;position:relative;z-index:1}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(45,111,212,.36)}.btn:hover:not(.ghost):after{transform:translateX(4px)}.btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}.btn.wide{width:100%;margin-top:1.9rem}.btn.ghost{background:hsla(0,0%,100%,.86);color:var(--ink);border:1px solid var(--line2);box-shadow:var(--shadow-sm);font-weight:500}.btn.ghost:before{display:none}.btn.ghost:hover{border-color:rgba(11,15,26,.28);box-shadow:var(--shadow)}.fine{font-size:12.5px;color:var(--ink3);text-align:center;margin-top:.9rem;line-height:1.6}.err{margin-top:14px;border:1px solid rgba(224,90,90,.4);background:var(--red-soft);color:#b23c3c;border-radius:10px;padding:10px 14px;font-size:13.5px}.gate-box{background:var(--bg-white);border:1px solid var(--line);border-radius:18px;padding:2.4rem 2rem 2.1rem;max-width:560px;margin:1.6rem auto 0;position:relative;overflow:hidden;box-shadow:var(--shadow)}.gate-box:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-text)}.gate-form{display:flex;flex-direction:column;gap:.7rem;position:relative}.gate-form input{width:100%;background:#fff;border:1px solid var(--line2);border-radius:10px;padding:14px 16px;color:var(--ink);font-family:var(--sans);font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}.gate-form input::placeholder{color:var(--ink4)}.gate-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(45,111,212,.15)}.gate-form .btn{margin-top:.35rem;width:100%}.gate-includes{display:flex;gap:.6rem 1.2rem;justify-content:center;margin-top:1.3rem;flex-wrap:wrap;position:relative}.gate-item{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}.gate-item:before{content:"\2714\FE0E";width:18px;height:18px;border-radius:50%;flex:0 0 18px;background:var(--green-soft);color:var(--green);font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.flow{display:flex;flex-direction:column;padding-top:16px}.transcript{flex:1 1;padding-bottom:12px}.turn{margin:26px 0;animation:rise .35s ease}.feedback{font-size:13.5px;line-height:1.6;color:var(--ink2);border-left:2px solid var(--line2);padding:4px 0 4px 14px;margin-bottom:16px}.feedback .v{display:inline-block;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;margin-right:10px;font-weight:600}.feedback.strong{border-color:var(--green)}.feedback.strong .v{color:var(--green)}.feedback.weak{border-color:var(--red)}.feedback.weak .v{color:var(--red)}.feedback.mid{border-color:var(--blue)}.feedback.mid .v{color:var(--blue)}.q{display:flex;gap:14px}.qmark{font-style:italic;font-size:32px;line-height:1;padding-top:2px;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.q-text,.qmark{font-family:var(--serif);font-weight:500}.q-text{font-size:22px;line-height:1.35;letter-spacing:-.01em;color:var(--ink)}.q-meta{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-top:8px}.answer{margin:16px 0 16px auto;max-width:85%;background:var(--bg-white);border:1px solid var(--line);border-radius:14px 14px 4px 14px;padding:12px 16px;font-size:14.5px;line-height:1.6;white-space:pre-wrap;color:var(--ink);box-shadow:var(--shadow-sm);animation:rise .3s ease}.typing{display:flex;align-items:center;gap:5px;padding:14px 2px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--blue);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}.typing em{font-size:12.5px;color:var(--ink3);margin-left:9px;font-style:normal}.wrap-hint{font-size:13px;color:var(--ink2);background:var(--blue-soft);border:1px dashed rgba(45,111,212,.35);border-radius:10px;padding:10px 14px;margin:12px 0;line-height:1.55}.wrap-hint a{color:var(--blue)!important;font-weight:500;text-decoration:none}.wrap-hint a:hover{text-decoration:underline}.composer{border-top:1px solid var(--line);padding-top:13px;position:-webkit-sticky;position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 22%)}.composer textarea{width:100%;background:var(--bg-white);border:1px solid var(--line2);border-radius:12px;color:var(--ink);font-family:var(--sans);font-size:14.5px;line-height:1.55;padding:12px 14px;resize:vertical;outline:none;box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}.composer textarea::placeholder{color:var(--ink4)}.composer textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(45,111,212,.15)}.composer-row{display:flex;align-items:center;gap:12px;margin-top:10px}.send{margin-left:auto;background:var(--grad);border:none;color:#fff;font-weight:600;border-radius:10px;padding:11px 26px;font-size:14px;cursor:pointer;box-shadow:var(--glow);transition:transform .18s ease,box-shadow .18s ease,opacity .15s}.send:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(45,111,212,.34)}.send:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}.end{background:var(--bg-white);border:1px solid var(--line2);color:var(--ink2);border-radius:10px;padding:11px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.end:hover{border-color:var(--blue);color:var(--blue)}.end:disabled{opacity:.45;cursor:default}.count{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.memo{border:1px solid var(--line);border-radius:20px;background:var(--bg-white);padding:2.2rem 2.2rem 1.9rem;box-shadow:var(--shadow);position:relative;overflow:hidden;animation:rise .4s ease}.memo:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-text)}.memo-head{border-bottom:1px solid var(--line);padding-bottom:1.2rem;margin-bottom:1.5rem}.memo-head .eyebrow{margin-bottom:.9rem}.memo-title{font-family:var(--serif);font-size:32px;font-weight:500;letter-spacing:-.015em;color:var(--ink);margin:0 0 8px}.memo-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}.memo .sub{color:var(--ink2)}.overall{display:flex;align-items:baseline;gap:12px;margin-bottom:1.3rem}.overall-num{font-family:var(--serif);font-size:64px;font-weight:500;line-height:1;letter-spacing:-.02em;font-feature-settings:"lnum";font-variant-numeric:lining-nums;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.04em .06em .08em 0;display:inline-block}.overall-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}.score-row{display:grid;grid-template-columns:128px 1fr 34px;align-items:center;grid-gap:14px;gap:14px;margin:10px 0}.score-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}.bar{height:6px;background:var(--bg-tint);border:1px solid var(--line);overflow:hidden}.bar,.bar i{border-radius:99px}.bar i{display:block;height:100%;background:var(--grad-text);animation:grow .8s ease}.score-val{font-size:14px;font-weight:600;text-align:right;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.verdict-line{font-family:var(--serif);font-size:21px;line-height:1.45;font-weight:400;font-style:italic;margin:1.5rem 0;color:var(--ink);border-left:3px solid var(--blue);padding-left:16px}.block{margin-top:1.4rem}.ok-line{font-size:14px;line-height:1.6;color:var(--ink2);padding:8px 0 8px 14px;border-left:2px solid var(--green);margin:6px 0}.gap-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:8px 0;background:var(--bg-tint)}.gap-name{font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:5px}.gap-fix{font-size:13.5px;color:var(--ink2);line-height:1.55}.gap-fix:before{content:"\2192";color:var(--blue);margin-right:6px}.lockpanel{position:relative;margin-top:1.5rem;border:1px solid var(--line);border-radius:16px;background:var(--bg-tint);overflow:hidden;min-height:340px;display:flex;flex-direction:column;justify-content:center}.lockrows{padding:18px;filter:blur(5px);opacity:.55;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.lockrow{font-size:14px;line-height:1.6;color:var(--ink2);padding:8px 0 8px 14px;border-left:2px solid var(--blue);margin:6px 0}.lockveil{position:absolute;inset:0;background:rgba(248,250,251,.82);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:24px 28px}.lock-title{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:-.01em;color:var(--ink);margin-bottom:8px}.lock-sub{font-size:14px;color:var(--ink2);line-height:1.6;margin:0 0 4px;max-width:480px}.lockveil .btn{margin-top:14px}.lockveil .fine{text-align:left}.foot{text-align:center;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink3);padding:18px 16px;border-top:1px solid var(--line);line-height:1.7}.foot a{color:inherit}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes blink{0%,to{opacity:.25}50%{opacity:1}}@keyframes grow{0%{width:0}}@keyframes irxPulse{0%{box-shadow:0 0 0 0 rgba(45,111,212,.45)}70%{box-shadow:0 0 0 7px rgba(45,111,212,0)}to{box-shadow:0 0 0 0 rgba(45,111,212,0)}}@keyframes irxConic{to{transform:rotate(1turn)}}@media (max-width:720px){.cfg-row,.modes{grid-template-columns:1fr}.main{padding:30px 16px 26px}.memo{padding:1.5rem 1.15rem 1.4rem}.score-row{grid-template-columns:96px 1fr 30px}.btn{width:100%}.nav{padding:0 1rem;height:58px}.logo{font-size:21px}.badge{font-size:9px;padding:5px 10px;letter-spacing:.12em}.chip{font-size:10px;padding:4px 9px}h1.title{font-size:clamp(30px,8.6vw,38px)}.gate-box{padding:1.8rem 1.25rem 1.6rem}.lockveil{padding:20px 18px}.composer-row{flex-wrap:wrap}.count{order:3;width:100%;text-align:center}}@media (prefers-reduced-motion:reduce){*{transition:none!important}*,.badge:before,.btn:before,.eyebrow:before{animation:none!important}}