.generation-float{right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));z-index:100;width:max-content;max-width:calc(100vw - 32px);color:var(--ink);font-family:var(--sans);position:fixed}.generation-toggle{align-items:center;gap:var(--space-3);max-width:100%;min-height:56px;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--sheet);box-shadow:0 4px 20px var(--shade-soft);color:var(--action);font-size:var(--type-control);text-align:left;margin-left:auto;display:flex}.generation-toggle>*{pointer-events:none}.generation-mark{color:var(--accent);flex:0 0 28px;animation:2s ease-in-out infinite forge-working}.generation-symbol{flex:0 0 28px;place-items:center;height:28px;font-size:21px;display:grid}.generation-float[data-state=failed] .generation-symbol{border:1px solid;border-radius:50%}.generation-float[data-state=failed] .generation-toggle{color:var(--danger);background:var(--danger-paper)}.generation-popover{width:min(340px,100vw - 32px);max-height:calc(100dvh - 120px);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius);background:var(--sheet);box-shadow:0 8px 32px var(--shade);animation:.16s ease-out generation-reveal;position:absolute;bottom:calc(100% + 12px);right:0;overflow-y:auto}.generation-popover h2{margin:0 var(--space-6) var(--space-3) 0;font-size:var(--type-card)}.generation-popover p,.generation-popover li,.generation-popover summary{font-size:var(--type-secondary);line-height:var(--line-secondary);overflow-wrap:anywhere}.generation-popover p{margin:var(--space-3) 0}.generation-popover details{margin-bottom:var(--space-4)}.generation-close{background:0 0;border:0;width:44px;height:44px;padding:0;font-size:24px;position:absolute;top:8px;right:8px}.generation-action-error{color:var(--danger)}.generation-request-error+.generation-request-error{border-top:1px solid var(--line);margin-top:var(--space-4);padding-top:var(--space-1)}.generation-request-error .form-actions{flex-wrap:wrap}.book-tool-drawer:has(.generation-float){padding-bottom:112px}@keyframes forge-working{50%{opacity:.5}}@keyframes generation-reveal{0%{opacity:0;transform:translateY(6px)}}@media (width<=540px){.generation-float{right:16px;bottom:max(16px, env(safe-area-inset-bottom))}.generation-popover{padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){.generation-mark,.generation-popover{animation:none}}.commerce-notice,.commerce-purchase{gap:var(--space-3);padding:var(--card-padding);min-width:0;display:grid}.commerce-notice h2,.commerce-purchase h2{font-size:var(--type-card);line-height:var(--line-heading)}.commerce-notice p,.commerce-purchase p{margin:0}.commerce-price{font-size:var(--type-display);font-weight:750;line-height:var(--line-display)}.commerce-price span{font-size:var(--type-body);font-weight:400}.commerce-purchase-inline{gap:var(--space-4);padding:0}.weekly-renewal-controls,.weekly-renewal-row{gap:var(--space-3);min-width:0;display:grid}.weekly-renewal-row p{margin:0}.weekly-renewal-row button{justify-self:start}.commerce-project-purchase,.commerce-collection-preview,.pricing-format{gap:var(--space-4);display:grid}.commerce-project-purchase{margin-block:var(--space-6)}.commerce-collection-preview{max-width:100%;padding:var(--shell-gutter);margin-inline:auto}.commerce-subjects{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.commerce-subjects a{gap:var(--space-2);padding:var(--card-padding);color:var(--ink);text-decoration:none;display:grid}.commerce-subjects a:hover{outline:2px solid var(--focus)}.pricing-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start;display:grid}.pricing-format{padding:var(--card-padding)}.pricing-rate{justify-content:space-between;gap:var(--space-4);border-top:1px solid var(--line);padding-block:var(--space-3);display:flex}.pricing-rate strong{white-space:nowrap}.pricing-format h2{font-size:var(--type-card)}.pricing-page{gap:var(--space-8);padding-block:var(--space-8);display:grid}.pricing-page .subscription-heading{padding-block:var(--space-6)}.pricing-format p,.pricing-format h2{margin:0}.pricing-rate small{color:var(--muted);display:block}.commerce-weekly-profile{gap:var(--space-4);display:grid}.commerce-weekly-profile fieldset{min-width:0}.subscription-personalization:has(.weekly-personalization){padding-bottom:var(--space-12)}.weekly-subscription-summary{gap:var(--space-4);display:grid}.weekly-subscription-status{gap:var(--space-2);display:grid}.weekly-subscription-status p{font-size:var(--type-secondary);margin:0}.weekly-subscription-price strong{font-size:var(--type-card)}.weekly-billing-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.weekly-delivery-controls,.weekly-billing{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line);display:grid}.weekly-delivery-controls h3,.weekly-billing h3,.weekly-delivery-controls p{margin:0}.weekly-delivery-controls h3,.weekly-billing h3{font-size:var(--type-body)}.weekly-delivery-controls p{font-size:var(--type-secondary)}.weekly-delivery-controls>button{justify-self:start}.weekly-personalization{padding:var(--card-padding)}.weekly-personalization header h2{margin:0 0 var(--space-2);font-size:var(--type-card)}.weekly-personalization header p{font-size:var(--type-body);margin:0}.weekly-personalization header p+p{margin-top:var(--space-2);color:var(--muted);font-size:var(--type-secondary)}.weekly-personalization-form{gap:var(--space-4);display:grid}.weekly-character-list{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.weekly-character-row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.weekly-character-choice .checkbox-choice-text{flex:1}.weekly-character-choice .checkbox-choice-state{opacity:1;border:1px solid var(--muted);border-radius:var(--radius-pill)}.weekly-character-choice .checkbox-choice-state svg{opacity:0}.weekly-character-choice:has(input:checked) .checkbox-choice-state{border-color:currentColor}.weekly-character-choice:has(input:checked) .checkbox-choice-state svg{opacity:1}.weekly-character-identity{align-items:center;gap:var(--space-3);grid-template-columns:56px minmax(0,1fr);display:grid}.weekly-character-portrait{border-radius:var(--radius-sm);background:var(--paper);width:56px;height:56px;color:var(--ink);place-items:center;display:grid;overflow:hidden}.weekly-character-portrait .saved-illustration{object-fit:contain;width:100%;height:100%}.weekly-character-initial{font:600 var(--type-card)/var(--line-heading) var(--sans)}.weekly-character-copy{gap:var(--space-1);min-width:0;display:grid}.weekly-character-copy strong{font-size:var(--type-body);font-weight:600}.weekly-character-copy>span{-webkit-line-clamp:2;font-size:var(--type-secondary);color:var(--muted);-webkit-box-orient:vertical;font-weight:400;display:-webkit-box;overflow:hidden}.weekly-character-choice:has(input:checked) .weekly-character-copy>span{color:var(--text-on-dark-muted)}.weekly-character-edit{min-width:var(--control-height);min-height:var(--control-height);place-items:center;display:grid}.weekly-interests-help{font-size:var(--type-secondary);margin:0}.weekly-personalization-options{align-items:end;gap:var(--space-4);flex-wrap:wrap;display:flex}.weekly-personalization-options>label{min-width:0;margin:0}.weekly-personalization-options select{min-width:140px}.weekly-personalization-options .weekly-age-picker{margin:0}.weekly-personalization-options .weekly-age-option{flex:none}.weekly-personalization-options .weekly-age-option>span{white-space:nowrap}.weekly-personalization-form>button{justify-self:start}@media (width<=760px){.weekly-character-list{grid-template-columns:minmax(0,1fr)}.weekly-personalization{padding:var(--space-4)}.weekly-character-row{gap:var(--space-2)}.weekly-character-choice{padding:var(--space-2)}.weekly-character-identity{gap:var(--space-2);grid-template-columns:40px minmax(0,1fr)}.weekly-character-portrait{width:40px;height:40px}}.pricing-page>.commerce-purchase,.pricing-page>.commerce-notice{margin-inline:var(--public-gutter)}
