.f-root{background:var(--black);min-height:100dvh;color:var(--offwhite);flex-direction:column;display:flex}body:has(.f-root) .to-top{display:none}.f-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.f-header{border-bottom:1px solid var(--line-dark)}.f-header-inner{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1120px;height:64px;margin-inline:auto;padding-inline:20px;display:flex}.f-header-right{align-items:center;gap:8px;display:flex}@media (max-width:479px){.f-header .logo-name{display:none}}.f-link{white-space:nowrap;color:var(--grey);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 4px;font-size:.875rem;text-decoration:underline}.f-link:hover{color:var(--offwhite)}.f-link-strong{color:var(--offwhite);font-family:var(--font-title);font-weight:700;font-size:inherit}.f-main{flex-direction:column;flex:1;width:100%;margin-inline:auto;padding:20px 20px 0;display:flex}.f-narrow{max-width:680px}.f-wide{max-width:1080px}.f-plan{max-width:820px}.f-boot{flex:1}.f-progress{padding-top:4px}.f-count{font-family:var(--font-title);letter-spacing:.1em;color:var(--offwhite);font-size:.875rem;font-weight:700}.f-count span{color:var(--grey)}.f-segs{grid-template-columns:repeat(var(--n), 1fr);gap:6px;margin-top:12px;display:grid}.f-seg{background:var(--line-dark);height:6px;position:relative;overflow:hidden}.f-seg i{background:var(--amber);transform-origin:0;transition:transform .45s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0;transform:scaleX(0)}.f-seg.on i{transform:scaleX(1)}.f-form{flex-direction:column;flex:1;display:flex}@keyframes f-in-fwd{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes f-in-back{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}.f-step{padding-top:clamp(24px,5vh,56px);padding-bottom:32px;animation:.34s cubic-bezier(.2,.7,.2,1) both f-in-fwd}.f-step[data-dir=back]{animation-name:f-in-back}.f-title{letter-spacing:-.025em;margin-bottom:10px;font-size:clamp(1.75rem,6.6vw,2.75rem);line-height:1.08}.f-title:focus{outline:none}.f-hint{color:var(--grey);margin-bottom:28px;font-size:1rem}.f-note{color:var(--grey);margin-top:20px;font-size:.875rem}.f-field+.f-field{margin-top:20px}.f-label{font-family:var(--font-title);letter-spacing:.02em;margin-bottom:8px;font-size:.875rem;font-weight:700;display:block}.f-tag{color:var(--grey);font-family:var(--font-body);font-weight:400}.f-input-wrap{position:relative}.f-input{width:100%;height:58px;color:var(--offwhite);border:2px solid var(--line-dark);font-family:var(--font-body);background:0 0;border-radius:4px;padding:0 16px;font-size:1.0625rem;transition:border-color .15s;display:block}.f-input::placeholder{color:var(--grey)}.f-input:hover{border-color:var(--grey)}.f-input:focus,.f-input:focus-visible{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber);outline:none}.f-input.has-trailing{padding-right:92px}.f-input[aria-invalid=true]{border-color:var(--amber)}.f-field-lg .f-input{height:72px;font-family:var(--font-title);letter-spacing:-.01em;font-size:clamp(1.375rem,5vw,1.75rem);font-weight:700}.f-error{color:var(--amber);gap:8px;margin-top:8px;font-size:.9375rem;display:flex}.f-error:before{content:"";background:var(--amber);flex:none;width:8px;height:8px;margin-top:.5em}.f-error-form{margin:16px 0 0}.f-toggle{height:100%;color:var(--grey);font-family:var(--font-title);cursor:pointer;background:0 0;border:0;padding:0 16px;font-size:.875rem;font-weight:700;position:absolute;top:0;right:0}.f-toggle:hover{color:var(--offwhite)}.f-other{margin-top:16px;animation:.25s cubic-bezier(.2,.7,.2,1) both f-in-fwd}.f-options{gap:10px;display:grid}.f-opt{cursor:pointer;display:block;position:relative}.f-opt input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.f-opt-body{border:2px solid var(--line-dark);min-height:64px;font-family:var(--font-title);border-radius:4px;align-items:center;gap:14px;padding:14px 16px;font-size:1.0625rem;font-weight:700;line-height:1.25;transition:border-color .15s,background-color .15s,color .15s,transform .1s;display:flex}.f-opt:hover .f-opt-body{border-color:var(--offwhite)}.f-opt:active .f-opt-body{transform:scale(.99)}.f-opt input:focus-visible+.f-opt-body{outline:3px solid var(--amber);outline-offset:3px}.f-mark{border:2px solid var(--grey);color:#0000;flex:none;justify-content:center;align-items:center;width:24px;height:24px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.f-opt-label{flex:1}.f-key{border:1px solid var(--line-dark);width:24px;height:24px;color:var(--grey);flex:none;justify-content:center;align-items:center;font-size:.75rem;display:none}.f-opt input:checked+.f-opt-body{background:var(--amber);border-color:var(--amber);color:var(--black)}.f-opt input:checked+.f-opt-body .f-mark{background:var(--black);border-color:var(--black);color:var(--amber)}.f-opt input:checked+.f-opt-body .f-key{border-color:var(--black);color:var(--black)}.f-scale-read{font-family:var(--font-title);letter-spacing:-.03em;color:var(--amber);margin-bottom:16px;font-size:3.25rem;font-weight:700;line-height:1}.f-scale-read span{color:var(--grey);letter-spacing:0;margin-left:4px;font-size:1.25rem}.f-scale{grid-template-columns:repeat(var(--n), 1fr);align-items:end;gap:4px;height:168px;display:grid}.f-bar{cursor:pointer;flex-direction:column;justify-content:flex-end;height:100%;display:flex;position:relative}.f-bar input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.f-bar-body{height:var(--h);border:2px solid var(--line-dark);color:var(--grey);font-family:var(--font-title);justify-content:center;align-items:flex-end;padding-bottom:6px;font-size:.8125rem;font-weight:700;transition:background-color .18s,border-color .18s,color .18s;display:flex}.f-bar:hover .f-bar-body{border-color:var(--offwhite)}.f-bar input:focus-visible+.f-bar-body{outline:3px solid var(--amber);outline-offset:3px}.f-bar.on .f-bar-body{background:var(--amber);border-color:var(--amber);color:var(--black)}.f-bar.sel .f-bar-body{font-size:.9375rem}.f-scale-legend{color:var(--grey);justify-content:space-between;margin-top:12px;font-size:.875rem;display:flex}.f-actions{z-index:5;padding:16px 20px calc(16px + env(safe-area-inset-bottom));background:var(--black);border-top:1px solid var(--line-dark);gap:12px;margin:auto -20px 0;display:flex;position:sticky;bottom:0}.f-continue{flex:1;gap:10px;height:56px;padding:0 24px;font-size:1.0625rem}.f-back{flex:none;width:56px;height:56px;padding:0}.btn:disabled{border-color:var(--line-dark);color:var(--grey);cursor:not-allowed;background:0 0}.btn:disabled:hover{background:0 0}.f-auth{gap:28px;padding-bottom:48px;display:grid}.f-auth-panel{width:100%;max-width:480px}.f-aside{display:none}.f-auth-form{display:block}.f-submit{gap:12px;width:100%;height:56px;margin-top:24px;font-size:1.0625rem}.f-strength-row{color:var(--grey);align-items:center;gap:12px;margin-top:12px;font-size:.875rem;display:flex}.f-strength{gap:4px;display:flex}.f-strength i{background:var(--line-dark);width:28px;height:6px;transition:background-color .2s;display:block}.f-strength i.on{background:var(--amber)}.f-switch{color:var(--grey);margin-top:28px;font-size:.9375rem}.f-switch .f-link{padding:4px 0;font-size:.9375rem}@keyframes f-pulse{50%{opacity:.3}}.f-spin{background:var(--black);width:14px;height:14px;animation:.8s steps(2,end) infinite f-pulse}.f-gen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding-bottom:64px;display:flex}.f-gen-title{margin-top:32px}.f-gen .f-hint{margin-bottom:32px}.f-gen-symbol{fill:var(--amber)}.f-gen-symbol rect{transform-box:fill-box;transform-origin:bottom;opacity:0}@keyframes f-b1{0%{opacity:0;transform:scale(.6)}10%,85%{opacity:1;transform:none}95%,to{opacity:0;transform:scale(.6)}}@keyframes f-b2{0%,25%{opacity:0;transform:scale(.6)}35%,85%{opacity:1;transform:none}95%,to{opacity:0;transform:scale(.6)}}@keyframes f-b3{0%,50%{opacity:0;transform:scale(.6)}60%,85%{opacity:1;transform:none}95%,to{opacity:0;transform:scale(.6)}}.f-gen-symbol .b1{animation:2.4s ease-out infinite f-b1}.f-gen-symbol .b2{animation:2.4s ease-out infinite f-b2}.f-gen-symbol .b3{animation:2.4s ease-out infinite f-b3}.f-gen-steps{text-align:left;gap:14px;width:100%;max-width:360px;display:grid}.f-gen-steps li{color:var(--grey);align-items:center;gap:14px;transition:color .25s;display:flex}.f-gen-steps li.now,.f-gen-steps li.done{color:var(--offwhite)}.f-gen-mark{border:2px solid var(--line-dark);color:#0000;flex:none;justify-content:center;align-items:center;width:22px;height:22px;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.f-gen-steps li.now .f-gen-mark{border-color:var(--amber);animation:.9s steps(2,end) infinite f-pulse}.f-gen-steps li.done .f-gen-mark{background:var(--amber);border-color:var(--amber);color:var(--black)}@keyframes f-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.f-gen-bar{background:var(--line-dark);width:100%;max-width:360px;height:6px;margin-top:36px;overflow:hidden}.f-gen-bar i{background:var(--amber);transform-origin:0;height:100%;animation:5s linear forwards f-fill;display:block}.f-planview{padding-bottom:56px}.f-plan-head .f-title{margin-top:20px}.f-summary{background:var(--line-dark);border:1px solid var(--line-dark);grid-template-columns:1fr 1fr;gap:1px;margin:0 0 24px;display:grid}.f-summary>div{background:var(--black);padding:16px}.f-summary>div:last-child:nth-child(odd){grid-column:1/-1}.f-summary dt{color:var(--grey);margin-bottom:4px;font-size:.8125rem}.f-summary dd{font-family:var(--font-title);margin:0;font-size:1.0625rem;font-weight:700;line-height:1.25}.f-motnote{border-left:4px solid var(--amber);margin-bottom:32px;padding-left:16px;font-size:1.0625rem}.f-weeks{gap:14px;margin-bottom:40px;display:grid}.f-week{border:1px solid var(--line-dark);padding:22px 20px}.f-week.now{border:2px solid var(--amber)}.f-week-top{align-items:center;gap:12px;margin-bottom:10px;display:flex}.f-week-label{color:var(--grey);font-family:var(--font-title);letter-spacing:.12em;text-transform:uppercase;font-size:.8125rem;font-weight:700}.f-badge{background:var(--amber);color:var(--black);font-family:var(--font-title);padding:3px 8px;font-size:.75rem;font-weight:700}.f-mini-stairs{align-items:flex-end;gap:3px;height:20px;margin-left:auto;display:flex}.f-mini-stairs i{width:6px;height:calc(5px + var(--s) * 4px);background:var(--line-dark);display:block}.f-mini-stairs i.on{background:var(--amber)}.f-week-title{margin-bottom:14px;font-size:1.375rem;line-height:1.2}.f-week ul{gap:10px;display:grid}.f-week li{align-items:flex-start;gap:12px;display:flex}.f-week .bullet-lg{width:10px;height:10px;margin-top:.55em}.f-next{border:1px solid var(--line-dark);padding:24px 20px}.f-next h2{margin-bottom:8px;font-size:1.375rem}.f-next p{color:var(--grey)}.f-next-actions{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:20px;display:flex}.f-home{height:52px;padding:0 24px;font-size:1rem}.f-planview .f-note{margin-top:24px}@media (prefers-reduced-motion:reduce){.f-step,.f-other{animation:none}.f-seg i,.f-opt-body,.f-bar-body{transition:none}.f-gen-symbol rect{opacity:1;animation:none}.f-gen-steps li.now .f-gen-mark,.f-spin{animation:none}}@media (min-width:640px){.f-header-inner,.f-main{padding-inline:32px}.f-main{padding-top:28px}.f-actions{border-top-color:#0000;margin-inline:0;padding-inline:0}.f-summary{grid-template-columns:repeat(3,1fr)}.f-summary>div:last-child:nth-child(odd){grid-column:auto}.f-week{padding:26px 28px}.f-next{padding:28px}}@media (hover:hover) and (min-width:900px){.f-key{display:inline-flex}}@media (min-width:960px){.f-header-inner{height:72px}.f-auth{grid-template-columns:1fr 1fr;align-items:center;gap:96px;padding-block:24px 64px}.f-auth-panel{border:1px solid var(--line-dark);justify-self:end;padding:40px}.f-aside{display:block}.f-stairs{align-items:flex-end;gap:10px;height:150px;margin-bottom:36px;display:flex}.f-stairs i{width:22px;height:calc(22px + var(--i) * 20px);background:var(--amber);transform-origin:bottom;animation:.7s cubic-bezier(.2,.7,.2,1) backwards f-stair;animation-delay:calc(var(--i) * 90ms);display:block}.f-aside-title{max-width:14em;font-family:var(--font-title);letter-spacing:-.025em;margin-bottom:28px;font-size:2.125rem;font-weight:700;line-height:1.12}.f-aside ul{gap:14px;display:grid}.f-aside li{color:var(--offwhite);align-items:center;gap:14px;display:flex}}@keyframes f-stair{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (min-width:960px) and (prefers-reduced-motion:reduce){.f-stairs i{animation:none}}
