@font-face{font-family:Manrope;src:url(/fonts/manrope-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}:root{--primary: #ba4329;--primary-dark: #a03820;--paper: #f7f6f2;--ink: #252720;--muted: #686a60;--line: #dcdcd2;--wash: #eeeee6;--ok: #3d6b45;--ok-bg: #e8efe6;--r-control: 4px;--r-panel: 12px;--sp-small: 12px;--sp-medium: 24px;--sp-large: 48px;--shadow-sm: 0 1px 2px rgba(37, 39, 32, .05), 0 2px 8px rgba(37, 39, 32, .04);--shadow-md: 0 4px 12px rgba(37, 39, 32, .08), 0 12px 32px rgba(37, 39, 32, .08);--shadow-accent: 0 8px 20px rgba(186, 67, 41, .35)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Manrope,sans-serif;font-weight:400;background:var(--paper);color:var(--ink);line-height:1.8;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:500;line-height:1.2;letter-spacing:-.03em;margin:0}b,strong{font-weight:700}.app-shell{max-width:480px;margin:0 auto;min-height:100dvh;padding-bottom:116px}.page{padding:var(--sp-medium) 20px var(--sp-large)}.page-head{margin-bottom:var(--sp-medium)}.page-head .eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin:0 0 4px}.page-head h1{font-size:clamp(26px,7vw,32px);letter-spacing:-.04em;margin:0 0 2px}.page-head .sub{color:var(--muted);font-size:14px;margin:0}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);padding:18px;margin-bottom:var(--sp-small);box-shadow:var(--shadow-sm)}.panel>h2{font-size:17px;margin-bottom:2px}.panel>.lede{font-size:13.5px;color:var(--muted);margin:0 0 var(--sp-small);line-height:1.6}.panel h3{font-size:15px;margin:14px 0 4px}.panel p{font-size:14px;margin:0 0 10px;line-height:1.7}.panel.wash{background:var(--wash);border-color:transparent}label{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:14px 0 5px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-control);font-family:inherit;font-size:15px;font-weight:500;background:#fff;color:var(--ink)}.money-wrap{position:relative;display:flex;align-items:center}.money-prefix{position:absolute;left:12px;font-size:13px;font-weight:700;color:var(--muted);pointer-events:none}.money-wrap input[type=text]{padding-left:36px;font-variant-numeric:tabular-nums}.money-wrap input::placeholder{color:#b9bab0;font-weight:500}.field{margin-bottom:12px}.field label{display:block;margin-bottom:5px}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}button{font-family:inherit;cursor:pointer;border:0;border-radius:var(--r-control)}button.primary{width:100%;padding:14px 22px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;font-size:15px;font-weight:700;letter-spacing:.01em;margin-top:18px;box-shadow:var(--shadow-accent);transition:background .15s ease,transform .12s ease,box-shadow .15s ease}button.primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-dark) 0%,#8a2f1b 100%)}button.primary:active:not(:disabled){transform:scale(.98);box-shadow:0 3px 10px #ba432940}button.primary:disabled{opacity:.45;cursor:default;box-shadow:none}button.ghost{width:100%;padding:12px 22px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14px;font-weight:600;margin-top:8px;transition:border-color .15s ease}button.ghost:hover{border-color:var(--ink)}button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;letter-spacing:.08em;padding:3px 9px;border-radius:999px;vertical-align:middle}.badge.free{background:var(--ok-bg);color:var(--ok)}.badge.premium{background:#f6e4de;color:var(--primary)}.badge.quota{background:var(--wash);color:var(--muted)}.result-box{background:var(--wash);border-radius:var(--r-control);padding:14px 16px;margin-top:14px;font-size:14px;line-height:1.9;animation:fadeup .35s ease both}.result-box .big{font-size:22px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--primary)}.result-box b{font-variant-numeric:tabular-nums}.result-box .dim{color:var(--muted);font-size:13px}.tool-list{margin-bottom:var(--sp-medium)}.tool-item{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);padding:15px 16px;margin-bottom:8px;font-family:inherit;font-size:15px;font-weight:600;color:var(--ink);transition:border-color .15s ease}.tool-item:hover{border-color:var(--primary)}.tool-item .desc{display:block;font-size:12.5px;font-weight:400;color:var(--muted);margin-top:2px}.tool-item.active{border-color:var(--primary);background:#fdf7f5}.bottom-nav{position:fixed;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:calc(100% - 28px);max-width:452px;display:flex;align-items:center;background:#ffffffeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-md);z-index:20;padding:6px}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 10px;font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--muted);text-decoration:none;border-radius:999px;transition:color .15s ease,background .15s ease}.bottom-nav .nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 10px;font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--muted);background:none;border-radius:999px;transition:color .15s ease,background .15s ease}.bottom-nav .nav-tab:active{background:var(--wash)}.bottom-nav .nav-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bottom-nav .nav-tab svg{width:20px;height:20px;stroke-width:1.8}.bottom-nav .nav-tab.on{color:var(--primary)}.bottom-nav a svg{width:20px;height:20px;stroke-width:1.8}.bottom-nav a.router-link-active{color:var(--primary);background:var(--wash)}.bottom-nav a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.nav-fab{flex:0 0 68px;display:grid;place-items:center}.nav-fab .fab{width:54px;height:54px;border-radius:999px;background:linear-gradient(135deg,var(--primary) 0%,#d05a3d 100%);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow-accent);border:4px solid var(--paper);transform:translateY(-18px);transition:transform .15s ease,box-shadow .15s ease}.nav-fab .fab:active{transform:translateY(-14px) scale(.95)}.nav-fab .fab svg{width:24px;height:24px}.page-enter-active{transition:opacity .22s ease,transform .22s ease}.page-leave-active{transition:opacity .14s ease}.page-enter-from{opacity:0;transform:translateY(10px)}.page-leave-to{opacity:0}.edu-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.edu-tabs::-webkit-scrollbar{display:none}.edu-tab{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:12.5px;font-weight:700;color:var(--ink);white-space:nowrap;transition:all .15s ease}.edu-tab.on{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:var(--shadow-sm)}.edu-tab:active{transform:scale(.96)}.edu-body{display:flex;flex-direction:column;gap:9px;margin-top:14px}.term-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);padding:14px 16px;animation:fadeup .3s cubic-bezier(.2,.9,.3,1) both;transition:border-color .15s ease}.term-card:hover{border-color:var(--primary)}.term-card.locked{cursor:pointer;background:var(--wash)}.term-card.locked:active{transform:scale(.98)}.term-card .term{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:800;letter-spacing:-.01em;margin:0 0 3px}.term-card .term-def{font-size:13px;color:var(--muted);line-height:1.55;margin:0}.step-card{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);padding:14px 16px;animation:fadeup .3s cubic-bezier(.2,.9,.3,1) both}.step-num{flex-shrink:0;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:13px;font-weight:800}.step-num.locked{background:var(--line);color:var(--muted)}.step-body{min-width:0}.step-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin:2px 0 3px}.step-desc{font-size:13px;color:var(--muted);line-height:1.55;margin:0}.step-desc.dim{color:#9a9c90}.linklike{background:none;border:none;padding:0;font:inherit;color:var(--primary);font-weight:700;text-decoration:underline;cursor:pointer}.opt-grid{display:flex;flex-direction:column;gap:6px}.opt-btn{text-align:left;padding:11px 13px;border-radius:var(--r-control);border:1.5px solid var(--line);background:#fff;font-size:13.5px;font-weight:600;color:var(--ink);transition:all .13s ease}.opt-btn.on{border-color:var(--primary);background:#fdf3ef;color:var(--primary);box-shadow:var(--shadow-sm)}.opt-btn:active{transform:scale(.98)}.ck-gauge{border-radius:var(--r-panel);padding:22px 18px 18px;text-align:center;background:linear-gradient(160deg,#fdf3ef,#fff 75%);border:1px solid #ecd6cc;box-shadow:var(--shadow-sm)}.ck-gauge.good{background:linear-gradient(160deg,#eef4ec,#fff 75%);border-color:#cddcc9}.ck-gauge.good .ck-pct,.ck-gauge.good .ck-status{color:var(--ok)}.ck-gauge.low{background:linear-gradient(160deg,#f6e9e6,#fff 75%);border-color:#e5c4ba}.ck-pct{font-size:46px;font-weight:800;letter-spacing:-.04em;color:var(--primary);margin:0;line-height:1;font-variant-numeric:tabular-nums}.ck-pct span{font-size:22px}.ck-status{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--primary);margin:8px 0 0}.ck-summary{font-size:12.5px;color:var(--muted);line-height:1.6;margin:12px 2px 0}.ck-list{border-radius:var(--r-panel);padding:13px 15px;margin-top:12px}.ck-list.good{background:var(--ok-bg)}.ck-list.bad{background:#f9efec}.ck-list-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ok);margin:0 0 6px}.ck-list.bad .ck-list-title{color:var(--primary)}.ck-item{font-size:13px;line-height:1.6;margin:0 0 6px;color:var(--ink)}.ck-item:last-child{margin-bottom:0}.insp-list{display:flex;flex-direction:column;gap:8px}.insp-card{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);padding:14px 15px;box-shadow:var(--shadow-sm);transition:border-color .15s ease,transform .12s ease;animation:fadeup .32s cubic-bezier(.2,.9,.3,1) both}.insp-card:active{transform:scale(.98)}.insp-card.open{border-color:var(--primary);box-shadow:0 4px 14px #ba432924}.insp-card .icon-tile{width:40px;height:40px;border-radius:12px}.insp-main{flex:1;min-width:0}.insp-label{display:flex;align-items:center;gap:7px;font-size:14.5px;font-weight:800;letter-spacing:-.01em}.insp-desc{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}.insp-detail{display:block;font-size:12.5px;color:var(--ink);line-height:1.55;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.insp-chev{flex-shrink:0;color:var(--muted);margin-top:11px}.insp-panel{margin-top:14px}.insp-panel-head h2{display:flex;align-items:center;gap:8px;margin-bottom:4px}.qc{background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);padding:14px 15px 8px;margin-bottom:20px;box-shadow:var(--shadow-sm);animation:fadeup .32s cubic-bezier(.2,.9,.3,1) both}.qc-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.qc-title{font-size:13.5px;font-weight:800;letter-spacing:-.01em;margin:0}.qc-all{display:flex;align-items:center;gap:2px;font-size:11.5px;font-weight:700;color:var(--primary);text-decoration:none;white-space:nowrap}.qc-bar{height:5px;border-radius:999px;background:var(--wash);overflow:hidden;margin:9px 0 4px}.qc-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-dark));transition:width .35s ease}.qc-steps{display:flex;flex-direction:column;gap:4px;padding:8px 0 4px}.qc-step{width:100%}.qc-group{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 5px}.qc-item{display:flex;align-items:flex-start;gap:8px;padding:5px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}.qc-item input{position:absolute;opacity:0;pointer-events:none}.qc-box{flex-shrink:0;width:17px;height:17px;margin-top:1px;border-radius:5.5px;border:1.6px solid var(--line);display:grid;place-items:center;background:#fff;transition:all .14s ease;color:transparent}.qc-box svg{width:11px;height:11px}.qc-item input:checked+.qc-box{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.04)}.qc-item:active .qc-box{transform:scale(.9)}.qc-text{font-size:12.5px;line-height:1.45;color:var(--ink)}.qc-text.done{text-decoration:line-through;color:var(--muted)}.cl-strip{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);padding:13px 15px;margin-bottom:20px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);transition:border-color .15s ease,transform .15s ease;animation:fadeup .3s cubic-bezier(.2,.9,.3,1) both}.cl-strip:active{transform:scale(.98)}.cl-strip:hover{border-color:var(--primary)}.cl-strip.complete{border-color:#cddcc9;background:linear-gradient(160deg,#eef4ec,#fff 70%)}.cls-icon{flex-shrink:0;width:34px;height:34px;border-radius:999px;display:grid;place-items:center;border:2px solid var(--primary);color:var(--primary);font-size:14px;font-weight:800}.cls-icon.done{background:var(--ok);border-color:var(--ok);color:#fff}.cls-main{flex:1;min-width:0}.cls-title{display:block;font-size:13.5px;font-weight:800;letter-spacing:-.01em}.cls-sub{display:block;font-size:11.5px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cls-bar{display:block;height:5px;border-radius:999px;background:var(--wash);overflow:hidden;margin-top:7px}.cls-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-dark));transition:width .35s ease}.cls-pct{flex-shrink:0;font-size:14px;font-weight:800;color:var(--primary);font-variant-numeric:tabular-nums}.cl-strip.complete .cls-pct{color:var(--ok)}.cl-progress{position:sticky;top:0;z-index:5;background:#f7f6f2f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin:0 -2px 14px;padding:10px 2px 12px}.cl-progress-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.cl-count{font-size:13px;color:var(--muted)}.cl-count b{color:var(--ink);font-size:15px}.cl-pct{font-size:15px;font-weight:800;color:var(--primary);font-variant-numeric:tabular-nums}.cl-bar{height:8px;border-radius:999px;background:var(--wash);overflow:hidden;border:1px solid var(--line)}.cl-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-dark));transition:width .35s ease}.cl-group{background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);padding:14px 16px;margin-bottom:9px;transition:border-color .2s ease,box-shadow .2s ease}.cl-group.open{border-color:var(--primary);box-shadow:var(--shadow-sm)}.cl-group.complete{opacity:.75}.cl-group-head{display:flex;align-items:center;gap:11px;width:100%;background:none;border:none;padding:0;font:inherit;text-align:left;cursor:pointer}.cl-group-head:active .cl-group-name{opacity:.7}.cl-stage{flex-shrink:0;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;border:2px solid var(--line);font-size:13px;font-weight:800;color:var(--muted);background:#fff}.cl-group.open .cl-stage{border-color:var(--primary);color:var(--primary)}.cl-stage.done{background:var(--ok);border-color:var(--ok);color:#fff}.cl-group-title{flex:1;min-width:0}.cl-group-name{font-size:14.5px;font-weight:800;letter-spacing:-.01em;margin:0}.cl-group-sub{font-size:11.5px;color:var(--muted);margin:1px 0 0}.cl-mini{height:4px;min-width:4px;border-radius:999px;background:var(--primary);flex-shrink:0;transition:width .3s ease}.cl-items{margin-top:10px;padding-top:4px}.cl-chev{flex-shrink:0;color:var(--muted);transition:transform .2s ease}.cl-chev.down{transform:rotate(90deg);color:var(--primary)}.check-row .stricken{text-decoration:line-through;color:var(--muted)}.cl-done-note{text-align:center;font-size:14px;font-weight:700;color:var(--ok);background:var(--ok-bg);border-radius:var(--r-panel);padding:14px;margin-top:14px}.acct-id{display:flex;align-items:center;gap:13px;padding:2px 2px 16px}.acct-id .avatar{width:52px;height:52px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:21px;font-weight:800;box-shadow:var(--shadow-sm)}.acct-name{font-weight:800;font-size:16px;letter-spacing:-.01em;margin:0}.acct-email{color:var(--muted);font-size:13px;margin:1px 0 0}.pass-hero{background:linear-gradient(160deg,#fdf3ef,#fff 70%);border:1px solid #ecd6cc;border-radius:var(--r-panel);padding:18px;box-shadow:var(--shadow-sm)}.pass-hero.active{background:linear-gradient(160deg,#eef4ec,#fff 70%);border-color:#cddcc9}.pass-hero .ph-top{display:flex;justify-content:space-between;align-items:center;color:var(--primary)}.pass-hero.active .ph-top{color:var(--ok)}.pass-hero .ph-big{font-size:38px;font-weight:800;letter-spacing:-.04em;color:var(--primary);margin:10px 0 2px;font-variant-numeric:tabular-nums}.pass-hero.active .ph-big{color:var(--ok)}.pass-hero .ph-big span{font-size:14px;font-weight:600;color:var(--muted);margin-left:6px;letter-spacing:0}.pass-hero .ph-sub2{font-size:13px;color:var(--muted);margin:0 0 14px;line-height:1.5}.pass-hero .ph-bar{height:6px;border-radius:999px;background:#0000000f;overflow:hidden}.pass-hero .ph-fill{height:100%;border-radius:999px;background:var(--ok);transition:width .4s ease}.acct-sec{margin-top:22px}.sec-title{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px 2px}.acct-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-panel);overflow:hidden}.order-row2{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid var(--line)}.order-row2:last-child{border-bottom:none}.or2-main{min-width:0}.or2-name{font-size:14px;font-weight:700;margin:0}.or2-date{font-size:12px;color:var(--muted);margin:1px 0 0}.or2-id{font-size:10.5px;color:#9a9c90}.or2-side{text-align:right;flex-shrink:0}.or2-side b{font-size:14px;font-variant-numeric:tabular-nums}.or2-status{display:block;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:var(--muted)}.or2-status.paid{color:var(--ok)}.acct-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 15px;background:none;border:none;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}.acct-row:active{background:var(--wash)}.acct-row.danger{color:#b23a24}.acct-row.danger:active{background:#f9efec}.ar-main{display:flex;align-items:center;gap:9px;font-weight:700}.ar-hint{font-size:11.5px;color:var(--muted);font-weight:500}.logout-confirm{background:#f9efec;border:1px solid #e5c4ba;border-radius:var(--r-panel);padding:13px 15px;font-size:13px;line-height:1.55;color:var(--ink);margin-top:10px}.lc-btns{display:flex;gap:8px;margin-top:10px}.lc-yes,.lc-no{flex:1;padding:10px;border-radius:var(--r-control);font-size:13px;font-weight:700;cursor:pointer;border:none}.lc-yes{background:#b23a24;color:#fff}.lc-yes:active{transform:scale(.97)}.lc-no{background:#fff;border:1px solid var(--line);color:var(--ink)}.ver{text-align:center;font-size:11px;color:#b0b2a6;margin:28px 0 8px}.calc-panel{margin-top:16px}.calc-head{margin-bottom:16px}.calc-head h2{display:flex;align-items:center;gap:8px;margin-bottom:4px}.result-box .rb-eyebrow{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}.result-box .rb-big{font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--primary);margin:0;font-variant-numeric:tabular-nums}.result-box .rb-unit{font-size:14px;font-weight:600;color:var(--muted);margin-left:2px}.result-box .rb-caption{font-size:12.5px;color:var(--muted);margin:2px 0 12px}.result-box .rb-rows{border-top:1px solid var(--line)}.result-box .rb-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.result-box .rb-row span{color:var(--muted)}.result-box .rb-row b{font-variant-numeric:tabular-nums;white-space:nowrap}.result-box .rb-note{font-size:11.5px;color:var(--muted);margin:10px 0 0;font-style:italic}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg-btn{padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px;font-weight:700;transition:all .13s ease}.seg-btn:active{transform:scale(.95)}.seg-btn.on{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 3px 10px #ba432947}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#25272073;z-index:24;animation:backdropin .2s ease both}@keyframes backdropin{0%{opacity:0}to{opacity:1}}.nav-sheet{position:fixed;bottom:calc(92px + env(safe-area-inset-bottom));left:50%;width:calc(100% - 28px);max-width:452px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 18px 14px;z-index:25;box-shadow:var(--shadow-md);transform:translate(-50%);animation:sheetpop .34s cubic-bezier(.22,1.4,.36,1) both}@keyframes sheetpop{0%{opacity:0;transform:translate(-50%,22px) scale(.92)}to{opacity:1;transform:translate(-50%) scale(1)}}.nav-sheet .sheet-head{margin-bottom:12px}.nav-sheet h2{font-size:20px;letter-spacing:-.03em;margin:2px 0 0}.nav-sheet .sheet-list{display:flex;flex-direction:column;gap:4px}.nav-sheet .sheet-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:13px;text-decoration:none;color:var(--ink);transition:background .12s ease,transform .12s ease;animation:fadeup .3s cubic-bezier(.2,.9,.3,1) both}.nav-sheet .sheet-item:hover{background:var(--wash)}.nav-sheet .sheet-item:active{transform:scale(.97)}.page-header{position:relative;overflow:hidden;margin-bottom:var(--sp-medium);padding:17px 18px;border:1px solid var(--line);border-radius:var(--r-panel);background:linear-gradient(135deg,#fff,#f1f0e9);box-shadow:var(--shadow-sm)}.page-header-content{position:relative;z-index:1}.page-header-orb{position:absolute;right:-28px;top:-34px;width:116px;height:116px;border-radius:999px;background:#ba43291f;box-shadow:-20px 24px #ba43290d}.page-header .back-link{display:inline-flex;align-items:center;gap:4px;color:var(--primary);text-decoration:none;padding:4px 8px 4px 0}.page-header h1{font-size:clamp(24px,6.5vw,30px);letter-spacing:-.04em;margin:5px 0 3px}.page-header .ph-sub{color:var(--muted);font-size:14px;line-height:1.6;margin:0}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#25272080;z-index:30}.drawer{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--paper);border-radius:20px 20px 0 0;padding:26px 22px calc(30px + env(safe-area-inset-bottom));z-index:31;box-shadow:var(--shadow-md);max-height:min(85dvh,720px);overflow-y:auto;animation:slideup .28s cubic-bezier(.2,.9,.3,1)}.drawer:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;border-radius:999px;background:var(--line)}@keyframes slideup{0%{transform:translate(-50%,60%)}to{transform:translate(-50%)}}.drawer .eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin:0 0 4px}.drawer h2{font-size:24px;letter-spacing:-.04em;margin-bottom:2px}.drawer .sub{color:var(--muted);font-size:14px;margin-bottom:18px}.notice{color:var(--muted);font-size:12.5px;line-height:1.5;margin:10px 0}.plan{display:flex;justify-content:space-between;align-items:center;width:100%;border:1.5px solid var(--line);border-radius:var(--r-panel);padding:14px 16px;margin-bottom:9px;cursor:pointer;background:#fff;font-family:inherit;text-align:left;color:var(--ink)}.plan.selected{border-color:var(--primary);background:#fdf7f5}.plan .name{font-size:15px;font-weight:700}.plan .plan-days{display:block;font-size:11.5px;color:var(--muted);font-weight:400;margin-top:1px}.plan .popular{font-size:10px;font-weight:800;color:var(--primary);letter-spacing:.1em;text-transform:uppercase}.plan .price{font-weight:500;font-size:17px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.pay-features{background:var(--wash);border-radius:var(--r-panel);padding:12px 14px;margin-bottom:14px}.pay-features .pf-item{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.5;padding:3.5px 0;font-weight:500}.pay-features .pf-check{color:var(--ok);font-weight:800;flex-shrink:0}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fbf1ec,#fff 65%);border:1px solid #f0dcd3;border-radius:16px;padding:20px;margin-bottom:var(--sp-medium);box-shadow:var(--shadow-sm)}.hero:after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:999px;background:radial-gradient(circle,rgba(186,67,41,.1) 0%,transparent 70%);pointer-events:none}.hero .avatar{width:46px;height:46px;border-radius:999px;background:linear-gradient(135deg,var(--primary) 0%,#d05a3d 100%);color:#fff;display:grid;place-items:center;font-size:19px;font-weight:700;flex-shrink:0;box-shadow:var(--shadow-accent)}.hero .hero-body{flex:1;min-width:0}.hero h1{font-size:22px;margin:2px 0}.hero .sub{font-size:13px;line-height:1.5;margin:0}.hero .quota-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:13px;border-top:1px dashed #ecd6cc}.hero .quota-row button{width:auto;margin:0;padding:8px 14px;font-size:12.5px}.feature-group{margin-bottom:var(--sp-medium)}.feature-group .group-title{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.feature-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);transition:border-color .15s ease,transform .12s ease,box-shadow .15s ease;animation:fadeup .4s cubic-bezier(.2,.9,.3,1) both}.feature-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.feature-card:active{transform:scale(.97)}.feature-card.active{border-color:var(--primary);background:#fdf3ef;box-shadow:0 4px 14px #ba43292e}.feature-card.active .fc-label{color:var(--primary)}.feature-card.active .icon-tile{background:var(--primary);color:#fff}.feature-card.active .icon-tile.pro{background:var(--primary)}.feature-card .icon-tile{width:36px;height:36px;border-radius:10px}.feature-card .fc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.feature-card .fc-main{flex:1;min-width:0}.feature-card .fc-label{display:block;font-size:13.5px;font-weight:700;line-height:1.3;letter-spacing:-.01em}.feature-card .fc-desc{display:block;font-size:11.5px;line-height:1.45;color:var(--muted);font-weight:400;margin-top:2px}.feature-card>.fc-top .badge{flex-shrink:0;font-size:9px;padding:2px 7px}@keyframes fadeup{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.icon-tile{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--wash);color:var(--primary);flex-shrink:0}.icon-tile.pro{background:#f6e4de}.journey-panel{display:flex;align-items:center;gap:16px}.ring-wrap{position:relative;width:64px;height:64px;flex-shrink:0}.ring-wrap svg{transform:rotate(-90deg)}.ring-wrap .ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:14px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.journey-chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-top:12px;scrollbar-width:none}.journey-chips::-webkit-scrollbar{display:none}.scenario-card{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.scenario-card h3{margin-top:0}.scenario-result{margin:12px 0 0;font-size:14px}.chip{flex:0 0 auto;font-size:12px;font-weight:600;padding:6px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);text-decoration:none;white-space:nowrap;transition:transform .12s ease}.chip:active{transform:scale(.96)}.chip.done{background:var(--ok-bg);color:var(--ok);border-color:transparent;text-decoration:line-through}.chip.now{background:var(--primary);color:#fff;border-color:transparent;box-shadow:var(--shadow-accent)}.qc{padding-bottom:12px;overflow:hidden}.qc-meta{margin:2px 0 0;color:var(--muted);font-size:11.5px}.qc-stage-tabs{display:flex;gap:6px;overflow-x:auto;padding:10px 0 6px;scrollbar-width:none}.qc-stage-tabs::-webkit-scrollbar{display:none}.qc-stage-tab{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);padding:6px 9px;font:inherit;font-size:11px;font-weight:750;white-space:nowrap}.qc-stage-tab.on{color:#fff;background:var(--ink);border-color:var(--ink)}.qc-steps{max-height:142px;overflow-y:auto;overscroll-behavior:contain;padding:2px 5px 4px 0;border-bottom:1px solid var(--wash);scrollbar-color:var(--line) transparent}.qc-step{padding-bottom:4px}.qc-scroll-hint{margin:6px 0 0;color:var(--muted);font-size:10.5px;line-height:1.3}.qc-item{padding:6px 2px}.qc-text{font-size:12.5px;line-height:1.4}.journey-kicker,.wizard-kicker{margin:0;color:var(--primary);font-size:10px;font-weight:850;letter-spacing:.09em}.journey-help{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.journey-chips{scroll-snap-type:x mandatory}.journey-chips .chip{scroll-snap-align:start}.journey-complete{display:inline-flex;align-items:center;gap:3px;margin-top:10px;border:0;border-radius:9px;padding:8px 10px;background:#fdf0eb;color:var(--primary);font:inherit;font-size:11.5px;font-weight:800}.journey-reset{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:8px;color:var(--muted);font-size:11px}.journey-reset button{border:0;padding:4px 6px;background:transparent;color:var(--primary);font:inherit;font-size:11px;font-weight:800;text-decoration:underline}.journey-reset button.quiet{color:var(--muted)}.edu-guide,.inspect-guide{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;border-radius:13px;background:var(--wash);color:var(--ink);font-size:12px;line-height:1.45}.edu-guide svg{flex:0 0 auto;margin-top:2px;color:var(--primary)}.edu-guide b{display:block;font-size:12.5px}.edu-guide span{display:block;color:var(--muted);margin-top:2px}.term-toggle,.step-toggle{width:100%;text-align:left;font:inherit;color:var(--ink);cursor:pointer}.term-toggle .term{width:100%;justify-content:space-between;margin:0}.term-toggle .term>svg,.step-toggle .step-title>svg,.tips-toggle>svg{transition:transform .18s ease}.term-toggle.open .term>svg,.step-toggle.open .step-title>svg,.tips-toggle[aria-expanded=true]>svg{transform:rotate(90deg)}.term-toggle .term-def{display:block;margin-top:9px}.accordion-copy{overflow:hidden;transform-origin:top}.accordion-enter-active,.accordion-leave-active{transition:opacity .22s ease,transform .22s ease}.accordion-enter-from,.accordion-leave-to{opacity:0;transform:translateY(-6px) scaleY(.96)}.module-body{display:block;margin-top:11px;padding:10px 11px;border-radius:9px;background:var(--wash);color:var(--ink);font-size:12.5px;line-height:1.55}.academy-module .term small{display:block;margin-bottom:3px;color:var(--primary);font-size:9.5px;font-weight:850;letter-spacing:.08em}.academy-module .term>span:last-child{display:inline-flex;align-items:center;gap:7px}.step-toggle{align-items:flex-start}.step-toggle .step-title{justify-content:flex-start}.step-toggle .step-title>svg{margin-left:auto}.step-toggle .step-desc{display:block;margin-top:8px}.checkup-wizard{padding-bottom:14px}.wizard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wizard-top h2{margin:4px 0 0;font-size:18px}.wizard-count{display:grid;place-items:center;min-width:42px;height:30px;border-radius:999px;background:var(--wash);color:var(--primary);font-size:11px;font-weight:800}.wizard-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:15px 0 19px}.wizard-rail span{height:4px;border-radius:999px;background:var(--line)}.wizard-rail span.on{background:var(--primary)}.wizard-question{margin-bottom:18px}.wizard-question>label{font-size:16px;font-weight:800}.wizard-help{margin:4px 0 12px;color:var(--muted);font-size:12.5px}.wizard-actions{display:flex;justify-content:flex-end;gap:8px}.wizard-actions .primary{display:inline-flex;align-items:center;gap:3px}.secondary{border:1px solid var(--line);border-radius:var(--r-control);background:#fff;color:var(--ink);padding:10px 13px;font:inherit;font-size:13px;font-weight:750}.tips-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;padding:0;background:transparent;color:var(--ink);font:inherit;text-align:left}.tips-toggle small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.checkup-tips .gloss{margin:15px 0 0}.inspect-guide{margin-bottom:12px}.inspect-guide>span{display:grid;flex:0 0 auto;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-weight:800}.inspect-guide b{display:block;font-size:12.5px}.inspect-guide p{margin:2px 0 0;color:var(--muted)}.insp-card.open{background:#fffaf7}.insp-action{display:inline-flex;align-items:center;gap:3px;text-decoration:none}.inspect-panel-enter-active,.inspect-panel-leave-active{transition:opacity .18s ease,transform .18s ease}.inspect-panel-enter-from,.inspect-panel-leave-to{opacity:0;transform:translateY(7px)}.login-page{min-height:100dvh;padding:26px 20px 38px;background:radial-gradient(circle at 88% 7%,#f3e2db 0,transparent 28%),var(--paper)}.login-hero{position:relative;overflow:hidden;padding:2px 1px 24px;animation:login-rise .45s cubic-bezier(.2,.8,.2,1) both}.login-hero:after{content:"";position:absolute;right:-32px;bottom:0;width:128px;height:2px;background:var(--primary);transform:rotate(-24deg);opacity:.45}.login-brand{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:850;letter-spacing:-.03em}.login-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--primary);color:#fff;box-shadow:var(--shadow-accent);font-size:13px}.login-hero .eyebrow{margin:26px 0 5px;color:var(--primary);font-size:10px;font-weight:850;letter-spacing:.12em}.login-hero h1{max-width:350px;font-size:clamp(30px,9vw,40px);letter-spacing:-.055em}.login-hero>p:not(.eyebrow){max-width:360px;margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.65}.login-steps{display:flex;gap:7px;margin-top:18px}.login-steps span{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:5px 8px;background:#ffffffb8;color:var(--muted);font-size:10.5px;font-weight:700}.login-steps b{color:var(--primary)}.login-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fffffff0;box-shadow:var(--shadow-md);animation:login-rise .5s .06s cubic-bezier(.2,.8,.2,1) both}.login-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:6px}.login-card-head .eyebrow{margin:0 0 3px;color:var(--primary);font-size:9.5px;font-weight:850;letter-spacing:.1em}.login-card-head h2{font-size:20px;font-weight:750}.login-state{border-radius:999px;padding:4px 7px;background:var(--wash);color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.08em}.login-card label:first-of-type{margin-top:16px}.login-divider{display:flex;align-items:center;gap:10px;margin:16px 0 10px;color:var(--muted);font-size:11px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--line)}.google-button,.demo-button,.login-switch{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 14px;background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:750;transition:transform .14s ease,border-color .14s ease,background .14s ease}.google-button:hover,.demo-button:hover{border-color:var(--primary);background:#fffaf8}.google-button:active,.demo-button:active{transform:scale(.98)}.google-g{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:conic-gradient(#4285f4 0,#4285f4 25%,#34a853 0,#34a853 50%,#fbbc05 0,#fbbc05 75%,#ea4335 0);color:#fff;font-size:11px;font-weight:900}.login-provider-note{margin:0;color:var(--muted);font-size:11.5px;line-height:1.5;text-align:center}.login-switch{margin-top:9px;border:0;background:transparent;color:var(--primary);text-decoration:underline}.demo-button{margin-top:5px;background:var(--wash);border-color:transparent}.login-foot{margin:16px auto 0;max-width:330px;color:var(--muted);font-size:10.5px;line-height:1.5;text-align:center}@keyframes login-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.profile-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:var(--sp-small);box-shadow:var(--shadow-sm)}.pass-card{background:linear-gradient(135deg,#fbf1ec,#fff 70%);border:1px solid #f0dcd3;border-radius:14px;padding:18px;margin-bottom:var(--sp-small);box-shadow:var(--shadow-sm);animation:fadeup .35s ease both}.pass-card.active{background:linear-gradient(135deg,#e8efe6,#fff 70%);border-color:#d3e0cf}.pass-card .pass-big{font-size:32px;font-weight:500;letter-spacing:-.03em;color:var(--primary);font-variant-numeric:tabular-nums;margin:10px 0 2px;line-height:1.1}.pass-card .pass-dim{color:var(--muted);font-size:13px;margin:0;line-height:1.6}.error{color:#a03820;font-size:13.5px;margin:10px 0 0}.success{color:var(--ok);font-size:13.5px;margin:10px 0 0}.check-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;font-size:14px;line-height:1.5;font-weight:400}.check-row input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--primary)}dl.gloss{margin:0}dl.gloss dt{font-weight:700;font-size:14px;margin-top:13px}dl.gloss dd{margin:1px 0 0;font-size:13.5px;color:var(--muted);line-height:1.65}.journey{margin:0;padding-left:22px;font-size:14px;line-height:2.1}.journey .done{color:var(--muted);text-decoration:line-through}.journey .now{font-weight:700}.journey .now::marker{color:var(--primary)}.status-line{font-size:14px;line-height:1.7}.status-line .badge{margin-bottom:8px}.order-row{border-top:1px solid var(--line);padding:12px 0;font-size:14px;line-height:1.6}.order-row:first-of-type{border-top:0}.order-row .id{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.skeleton{height:54px;border-radius:var(--r-control);background:linear-gradient(90deg,var(--wash) 25%,#e2e1d8 50%,var(--wash) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;margin-bottom:8px}@keyframes shimmer{to{background-position:-200% 0}}.empty{color:var(--muted);font-size:14px;text-align:center;padding:var(--sp-medium) 0}@media(max-width:359px){.bottom-nav a,.bottom-nav .nav-tab{font-size:9px;padding:8px 0 9px}.bottom-nav a svg,.bottom-nav .nav-tab svg{width:18px;height:18px}.nav-fab .fab{width:48px;height:48px}.feature-grid{grid-template-columns:1fr}.hero{padding:16px}.hero .avatar{width:40px;height:40px;font-size:17px}.hero h1{font-size:20px}.page{padding-left:16px;padding-right:16px}}@media(max-width:479px){input,select,textarea{font-size:16px}.seg-btn{min-height:44px}.hero{padding:16px}.hero .sub{line-height:1.4}.journey-panel{gap:12px}.journey-panel h2{font-size:18px}}@media(min-width:480px){.page{padding-left:28px;padding-right:28px}}@media(prefers-reduced-motion:reduce){.drawer,.skeleton,.feature-card,.sheet-item,.nav-sheet,.sheet-backdrop{animation:none}.page-enter-active,.page-leave-active{transition:none}}
