.book-page{--book-gap:clamp(12px, 2.4vw, 22px);--book-inset:clamp(24px, 5vw, 44px);box-sizing:border-box;--book-green-text:color-mix(in srgb, var(--ft-green) 55%, var(--ft-ink));min-height:100dvh;padding:var(--book-gap);flex-direction:column;justify-content:safe center;display:flex}.book-card{box-sizing:border-box;width:min(100%,600px);padding:var(--book-inset);background:#fff;border-radius:28px;margin:0 auto;box-shadow:0 8px 22px #102c190b}.book-card button:not(:disabled),.book-card select{cursor:pointer}.book-card label:has(input[type=file]){cursor:pointer}.book-card button:disabled{cursor:not-allowed}.book-card .wordmark{font-size:30px}.book-title{letter-spacing:-.04em;margin:26px 0 0;font-size:clamp(30px,6vw,40px);font-weight:800;line-height:1}.book-intro{color:#4f514b;margin:12px 0 30px;font-size:16px;font-weight:500;line-height:1.55}.book-steps{letter-spacing:.08em;text-transform:uppercase;color:var(--ft-muted);grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 26px;padding:0;font-size:11.5px;font-weight:800;list-style:none;display:grid}.book-steps [data-state=now]{color:var(--ft-ink)}.book-steps [data-state=done]{color:var(--book-green-text)}.book-step-bar{background:var(--ft-line);border-radius:999px;height:4px;margin-bottom:9px;display:block;overflow:hidden}.book-step-bar span{background:var(--ft-green);transform-origin:0;height:100%;transition:transform .55s var(--ft-ease);display:block;transform:scaleX(0)}[data-state=done] .book-step-bar span{transform:scaleX(1)}[data-state=now] .book-step-bar span{animation:book-fill .7s var(--ft-ease) .1s both}@keyframes book-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.book-skel{gap:14px;display:grid}.book-skel span{background:linear-gradient(90deg, var(--ft-line) 25%, color-mix(in srgb, var(--ft-line) 45%, #fff) 50%, var(--ft-line) 75%);background-size:200% 100%;border-radius:8px;height:14px;animation:1.2s linear infinite book-shimmer;display:block}.book-skel .is-bar{height:4px;margin-bottom:18px}.book-skel .is-title{width:55%;height:26px}.book-skel .is-line{width:85%}.book-skel .is-box{border-radius:14px;height:50px;margin-top:10px}.book-skel .is-button{border-radius:999px;width:150px;height:44px;margin-top:14px}@keyframes book-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.book-step-bar span,[data-state=now] .book-step-bar span{transition:none;animation:none;transform:scaleX(1)}.book-skel span,.book-photo:not(.is-uploading){animation:none}.book-photo-bar:after{width:100%;animation:none}}.book-who{color:var(--ft-muted);margin:-12px 0 22px;font-size:14px;font-weight:500}.book-who a{color:var(--book-green-text);text-underline-offset:3px;font-weight:600;text-decoration:underline}.book-review{border:1px solid var(--ft-line);background:#fbfcfa;border-radius:16px;padding:16px 18px}.book-review-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.book-review-head h3{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:800}.book-review-change{color:var(--book-green-text);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:14px;font-weight:700;text-decoration:underline}.book-review dl{grid-template-columns:120px minmax(0,1fr);gap:8px 14px;margin:0;font-size:15px;line-height:1.45;display:grid}.book-review dt{color:var(--ft-muted);font-weight:500}.book-review dd{overflow-wrap:anywhere;margin:0;font-weight:600}.book-review-photos{flex-wrap:wrap;gap:8px;display:flex}.book-review-photos .book-photo{border-radius:10px;width:64px;height:64px}@media (max-width:480px){.book-review dl{grid-template-columns:1fr;gap:2px}.book-review dd+dt{margin-top:8px}}.book-card h2{letter-spacing:-.03em;margin:0;font-size:24px;font-weight:800;line-height:1.1}.book-says{color:#4f514b;margin:8px 0 0;font-size:15.5px;font-weight:500;line-height:1.55}.book-fields{gap:22px;margin-top:24px;display:grid}.book-fields-part{gap:22px;display:grid}.book-label{letter-spacing:-.01em;margin-bottom:8px;font-size:14.5px;font-weight:700;display:block}.book-hint{color:var(--ft-muted);margin:7px 0 0;font-size:13px;font-weight:500;line-height:1.45}.book-card .ft-control{border-color:var(--ft-line);background:#fbfcfa;border-radius:14px;padding:13px 14px;font-size:16px}.book-card textarea.ft-control{resize:vertical;min-height:110px;line-height:1.5}.book-choice{border:1px solid var(--ft-line);color:var(--ft-ink);transition:border-color .2s var(--ft-ease), background .2s var(--ft-ease), box-shadow .2s var(--ft-ease), transform .12s var(--ft-ease);background:#fbfcfa;border-radius:14px;font-size:14.5px;font-weight:600}.book-choice:active{transform:scale(.98)}.book-choice:hover{border-color:color-mix(in srgb, var(--ft-ink) 35%, var(--ft-line))}.book-choice[aria-pressed=true]{border-color:var(--ft-green);background:color-mix(in srgb, var(--ft-green) 9%, #fff);box-shadow:inset 0 0 0 1px var(--ft-green)}.book-choice em{font-style:normal}.is-days{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;display:grid}.is-days .book-choice{letter-spacing:.08em;text-transform:uppercase;min-height:66px;color:var(--ft-muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px 4px;font-size:11.5px;font-weight:700;display:flex}.is-days .book-choice em{letter-spacing:-.01em;text-transform:none;color:var(--ft-ink);font-size:16px;font-weight:800}.is-days .book-choice[aria-pressed=true]{color:var(--book-green-text)}.is-times{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;display:grid}.is-times .book-choice{text-align:center;min-height:48px;padding:0 10px}.is-switch{background:color-mix(in srgb, var(--ft-ink) 5%, #fff);border-radius:16px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid;position:relative}.is-switch:before{content:"";width:calc((100% - 8px - (var(--n) - 1) * 4px) / var(--n));transform:translateX(calc(var(--at) * (100% + 4px)));opacity:0;background:#fff;border-radius:12px;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .15s;position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 1px 3px #102c191f}.is-switch[data-chosen]:before{opacity:1}.is-switch .book-choice{min-height:44px;color:var(--ft-muted);background:0 0;border-color:#0000;border-radius:12px;transition:color .2s;position:relative}.is-switch .book-choice:hover{color:var(--ft-ink);border-color:#0000}.is-switch .book-choice[aria-pressed=true]{box-shadow:none;color:var(--ft-ink);background:0 0;border-color:#0000}@media (prefers-reduced-motion:reduce){.is-switch:before{transition:none}}.is-stack{gap:8px;display:grid}.is-stack .book-choice{text-align:left;padding:13px 16px;font-weight:500;line-height:1.45}.book-photos{flex-wrap:wrap;gap:10px;display:flex}.book-photo,.book-photo-add{border-radius:14px;width:92px;height:92px;position:relative;overflow:hidden}.book-photo img{object-fit:contain;background:color-mix(in srgb, var(--ft-ink) 7%, #f7f6f2);width:100%;height:100%;display:block}.book-photo:not(.is-uploading){animation:book-photo-in .35s var(--ft-ease) both}@keyframes book-photo-in{0%{opacity:.5;transform:scale(.96)}}.book-photo.is-uploading img{opacity:.45;filter:saturate(.6)}.book-photo-bar{background:#fff9;border-radius:999px;height:4px;position:absolute;bottom:8px;left:8px;right:8px;overflow:hidden}.book-photo-bar:after{content:"";border-radius:inherit;background:var(--ft-green);width:40%;animation:book-uploading 1.1s var(--ft-ease) infinite;position:absolute;inset:0}@keyframes book-uploading{0%{transform:translate(-100%)}to{transform:translate(250%)}}.book-photo button{color:#fff;cursor:pointer;background:#121212b8;border:none;border-radius:50%;width:26px;height:26px;font-size:15px;line-height:1;position:absolute;top:5px;right:5px}.book-photo-add{border:1.5px dashed var(--ft-line);color:var(--ft-muted);cursor:pointer;background:#fbfcfa;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12.5px;font-weight:700;display:flex}.book-photo-add input{opacity:0;cursor:pointer;position:absolute;inset:0}.book-code{gap:8px;display:flex;position:relative}.book-slot{border:1px solid var(--ft-line);font-variant-numeric:tabular-nums;min-width:0;max-width:52px;height:58px;transition:border-color .2s var(--ft-ease);background:#fbfcfa;border-radius:14px;flex:1 1 0;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.book-slot[data-next=true]{border-color:var(--ft-green);box-shadow:0 0 0 3px color-mix(in srgb, var(--ft-green) 22%, transparent)}.book-code[data-bad=true] .book-slot{border-color:#c9473d}.book-code input{opacity:0;caret-color:#0000;width:100%;font-size:16px;position:absolute;inset:0}.book-actions{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:28px;display:flex}.book-back{cursor:pointer;border-radius:999px;height:44px;padding:0 18px;font-size:14px;font-weight:600}.book-link{color:var(--book-green-text);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:700;text-decoration:underline}.book-problem{color:#b3362c;margin:14px 0 0;font-size:14px;font-weight:600;line-height:1.45}.book-times{color:var(--ft-muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;margin-top:-10px;font-size:13px;font-weight:500;display:flex}.book-times .book-link{font-size:13px}
