@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;600;700&family=Lora:ital,wght@0,400;0,500;0,600;1,400&display=swap");:root{color-scheme:light;--paper:#f4efe6;--paper2:#ebe4d6;--panel:#fbf8f1;--ink:#23201c;--muted:#6e655a;--line:#d9cfbe;--oxblood:#56251f;--oxblood-hover:#6b2e26;--foil:#9a7b3f;--seal:#8c3a2e;--seal-hover:#7a3228;--error:#a04a3c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Lora,"Noto Serif TC",Songti TC,Georgia,serif;font-size:17px;line-height:1.85}a{color:inherit}a:hover{color:var(--foil)}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--foil);outline-offset:2px}.shell{width:min(1040px,calc(100% - 32px));margin:0 auto}.shell.narrow{width:min(680px,calc(100% - 32px))}.app-topbar,.topbar{display:flex;min-height:88px;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.kicker{display:block;margin:0 0 18px;font-family:Lora,Georgia,serif;font-size:11px;font-weight:400;letter-spacing:6px;text-transform:uppercase;color:var(--seal)}.auth-box h1,.page-header h1{font-size:clamp(28px,4vw,40px);font-weight:600;line-height:1.4}.brand{display:flex;align-items:center;gap:12px;font-family:Lora,Georgia,serif;font-size:12px;font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:var(--ink);text-decoration:none}.brand:hover{color:var(--seal)}.brand-seal{width:20px;height:20px}.team-message-inbox-link{color:var(--muted);font-size:13px;text-decoration:none}.team-message-banner{border-bottom:1px solid var(--oxblood);background:var(--oxblood);color:var(--paper)}.team-message-banner-inner{display:grid;min-height:72px;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:16px;gap:16px;color:var(--paper);text-decoration:none;transition:background-color .18s ease}.team-message-banner-inner:focus-visible,.team-message-banner-inner:hover{background:rgba(255,255,255,.055);color:var(--paper)}.team-message-banner-inner:focus-visible{outline:2px solid var(--foil);outline-offset:-4px}.team-message-row-seal{display:grid;flex:none;width:32px;height:32px;place-items:center;border:1px solid;font-family:"Noto Serif TC",serif}.team-message-banner-logo{width:26px;height:26px;filter:brightness(0) invert(1);opacity:.88}.team-message-banner span,.team-message-banner strong{display:block}.team-message-banner strong{font-size:14px;font-weight:500}.team-message-banner span{color:#d9cbbd;font-size:13px;line-height:1.45}.team-message-banner-action{border-bottom:1px solid var(--foil);color:var(--paper);font-size:13px;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:10px}.hero{display:grid;min-height:calc(100vh - 76px);align-items:center;padding:56px 0 96px}.hero h1{max-width:720px;margin:0 0 10px;font-size:clamp(34px,6vw,64px);font-weight:600;letter-spacing:1px;line-height:1.15}.hero .hero-zh{margin:0 0 22px;font-size:clamp(20px,3vw,30px);letter-spacing:3px;color:var(--muted)}.hero p{max-width:560px;margin:0 0 32px;color:var(--muted);font-size:19px;line-height:1.65}.button,button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--seal);border-radius:0;padding:14px 42px;background:var(--seal);color:var(--paper);cursor:pointer;font-family:Lora,Georgia,serif;font-size:15px;font-weight:400;letter-spacing:.18em;text-decoration:none;transition:background .2s,color .2s}.button:hover,button:hover{background:transparent;color:var(--seal)}.button.secondary,button.secondary{border-color:var(--line);background:transparent;color:var(--ink)}.button.secondary:hover,button.secondary:hover{background:var(--panel);border-color:var(--foil)}.danger-button{background:var(--seal)}.danger-button:hover{background:var(--error)}.page{padding:24px 0 64px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:40px 0 32px}.page-header.compact{align-items:center}.page-header h1{margin:0 0 8px;font-size:30px;font-weight:600;letter-spacing:1px}.page-header p{margin-bottom:10px}.muted,.page-header p,.plan-pill{color:var(--muted)}.plan-pill{display:inline-flex;min-height:28px;align-items:center;border:1px solid var(--line);padding:0 10px;background:var(--panel);font-size:13px;font-weight:600;text-transform:uppercase}.plan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.text-button{min-height:28px;border-color:var(--line);padding:0 10px;background:transparent;color:var(--muted);font-size:13px;letter-spacing:0}.text-button:hover{border-color:var(--seal);background:var(--panel);color:var(--seal)}.panel{border:1px solid var(--line);border-radius:2px;background:var(--panel)}.team-messages-page .page-header{margin-bottom:24px}.team-message-list{border-top:1px solid var(--line)}.team-message-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:16px;gap:16px;padding:18px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.team-message-row-seal{color:var(--muted)}.team-message-row.is-pending .team-message-row-seal{border-color:var(--seal);color:var(--seal)}.team-message-row small,.team-message-row strong{display:block}.team-message-row strong{font-weight:500;line-height:1.45}.team-message-row small{margin-top:3px;color:var(--muted);font-size:12px}.team-message-state{color:var(--seal);font-size:12px}.team-message-empty{padding:28px;color:var(--muted)}.team-message-card{gap:24px}.team-message-heading{display:grid;grid-gap:18px;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}.team-message-from{display:flex;align-items:center;gap:10px;color:var(--foil);font-size:11px;letter-spacing:.22em;text-transform:uppercase}.team-message-from img{width:22px;height:22px}.team-message-card .team-message-title{margin:0;font-size:clamp(23px,4vw,28px);font-weight:600;line-height:1.5}.team-message-title .lang-en:not(.is-lead){font-size:.72em;font-weight:400;font-style:italic;line-height:1.45;color:var(--muted)}.team-message-video{display:block;width:100%;max-height:430px;margin:0;background:var(--ink)}.team-message-body{padding:0}.team-message-copy{gap:14px}.team-message-copy p.lang-en:not(.is-lead){margin-top:5px}.team-message-form{display:grid;grid-gap:18px;gap:18px;margin-top:0;padding-top:24px;border-top:1px solid var(--line)}.team-message-form>button{justify-self:start;min-width:190px;min-height:44px;padding:10px 22px;font-size:14px;letter-spacing:.07em}.team-message-field{margin:0;border:0;padding:0}.team-message-field legend{margin-bottom:9px;font-weight:500}.team-message-field>input,.team-message-field>textarea{width:100%;border:1px solid var(--line);border-radius:0;padding:11px 13px;background:#fff;color:var(--ink)}.team-message-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px}.team-message-options label{position:relative;display:flex}.team-message-options input{position:absolute;opacity:0}.team-message-options label>span{display:grid;width:100%;min-height:54px;align-content:center;grid-gap:1px;gap:1px;border:1px solid var(--line);padding:9px 12px;cursor:pointer;font-size:15px;line-height:1.4}.team-message-options .team-message-option-primary{display:block;width:auto;min-height:0;border:0;padding:0;font-size:inherit}.team-message-options small{color:var(--muted);font-size:12.5px;font-style:italic;line-height:1.35}.team-message-options input:checked+span{border-color:var(--seal);background:var(--seal);color:var(--paper)}.team-message-options input:checked+span small{color:inherit;opacity:.78}.team-message-rating{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:7px;gap:7px}.team-message-rating label{position:relative}.team-message-rating input{position:absolute;opacity:0}.team-message-rating span{display:grid;min-height:46px;place-items:center;border:1px solid var(--line);cursor:pointer}.team-message-rating input:checked+span{border-color:var(--seal);background:var(--seal);color:var(--paper)}.team-message-thanks{display:grid;grid-gap:3px;gap:3px;margin-top:24px;border-left:2px solid var(--foil);padding:15px 17px;background:var(--paper)}.team-message-thanks span{color:var(--muted);font-size:14px}.team-message-thanks small{color:var(--muted);font-size:12.5px;font-style:italic;line-height:1.45}.team-message-thanks strong+small{margin-top:-2px}.team-message-dismiss{margin-top:14px}.team-message-dismiss .text-button{min-height:36px;padding:5px 10px;font-size:13px;letter-spacing:.02em}@media (max-width:680px){.team-message-banner-inner{min-height:0;grid-template-columns:auto 1fr;padding:13px 0}.team-message-banner-action{grid-column:2;justify-self:start}.team-message-video{width:100%;margin:0}.team-message-options{grid-template-columns:1fr}.team-message-form>button{justify-self:stretch;width:100%}}.upload{display:grid;grid-gap:14px;gap:14px;padding:24px}.file-picker{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.file-input{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.file-picker-button{padding:12px 28px}.file-picker:focus-within .file-picker-button{outline:2px solid var(--foil);outline-offset:2px}.file-picker-photo{display:block;width:56px;height:56px;border:4px solid var(--panel);box-shadow:0 2px 10px rgb(0 0 0/12%);object-fit:cover}.file-picker-said{color:var(--muted);font-size:14px}.action-strip{margin-bottom:12px}.action-strip,.page-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.page-header-actions{align-items:center}.question-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:16px 20px}.question-chips{display:flex;flex:1 1 340px;flex-wrap:wrap;gap:8px}.question-chip{display:inline-flex;min-height:38px;align-items:center;border:1px solid var(--line);border-radius:2px;padding:0 14px;color:var(--muted);font-size:13.5px;letter-spacing:.04em;text-decoration:none;transition:background .2s,border-color .2s,color .2s}.question-chip[aria-current=page]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.custom-question-form label{display:grid;grid-gap:6px;gap:6px;font-size:14px;font-weight:600}.custom-question-form select,.custom-question-form textarea{border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink)}.custom-question-form select{min-height:44px;padding:0 36px 0 12px}.question-list{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.question-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,280px);grid-gap:24px;gap:24px;align-items:center;padding:18px 22px}.question-copy{min-width:0}.question-kicker{margin-bottom:6px;color:var(--muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.question-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.question-recorded{border-color:var(--foil);color:var(--foil)}.question-count{color:var(--muted);font-size:14px;white-space:nowrap}.category-tile-meta .pair-en,.question-count .pair-en{margin-top:0;font-size:1em;opacity:.75}.question-badges span{border:1px solid var(--line);padding:2px 7px;color:var(--muted);font-size:12px;line-height:1.4}.pair-en,.pair-zh{display:block}.pair-en{margin-top:2px;color:var(--muted);font-size:.82em;font-weight:400;letter-spacing:normal}.question-en,.question-zh{margin:0}.question-zh{font-size:22px;font-weight:600}.question-en{margin-top:3px;color:var(--muted);font-size:15px}.question-id{margin-top:10px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.category-browse{margin-top:26px}.life-story-invite{display:block;margin:0 0 26px;padding:22px;border-color:var(--foil);color:var(--ink);text-decoration:none;transition:background .18s ease}.life-story-invite:hover{background:var(--paper);color:var(--ink)}.life-story-invite-title{display:block;font-size:22px;font-weight:600;letter-spacing:1px}.life-story-invite-body{display:block;margin-top:8px;max-width:56ch;color:var(--muted);line-height:1.65}.life-story-invite-enter{display:block;margin-top:14px;color:var(--foil);font-size:13px;letter-spacing:2px;text-transform:uppercase}.life-story-deeper{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;margin:18px 0 0;color:var(--muted);font-size:15px}.life-story-deeper a{color:var(--foil)}.category-browse-label{margin:0 0 14px;color:var(--muted);font-size:12px;letter-spacing:3px;text-transform:uppercase}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:14px;gap:14px}.category-tile{display:flex;flex-direction:column;gap:6px;padding:22px 22px 18px;color:var(--ink);text-decoration:none;transition:border-color .18s ease,background .18s ease}.category-tile:hover{border-color:var(--foil);background:var(--paper);color:var(--ink)}.category-tile-zh{font-size:34px;font-weight:600;line-height:1.3}.category-tile-name{font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase}.category-tile-meta{color:var(--muted);font-size:13px}.question-card.is-answered .question-record-button{border-color:var(--line);background:transparent;color:var(--ink)}.category-tile-progress{display:flex;gap:3px;margin-top:auto;padding-top:8px}.category-tile-progress span{flex:1 1;height:3px;border-radius:999px;background:var(--line)}.category-tile-progress span.filled{background:var(--foil)}.category-context{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin:26px 0 14px}.category-back{color:var(--muted);font-size:14px;text-decoration:none}.category-heading{margin:0;font-size:22px;font-weight:600;letter-spacing:1px}.question-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:8px;min-width:0}.question-share{display:grid;justify-items:stretch;width:100%;grid-gap:6px;gap:6px}.question-share-button:disabled{cursor:not-allowed}.question-share-error{display:grid;justify-items:end;width:min(240px,100%);grid-gap:4px;gap:4px;font-size:13px;text-align:right}.question-share-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.question-share-meta a{color:var(--oxblood)}.question-share-warning{color:var(--ink)}.question-share-manual{overflow-wrap:anywhere;color:var(--ink)}.question-share-error{color:var(--error)}.book-home{display:grid;grid-gap:14px;gap:14px;width:min(560px,100%);margin-inline:auto}.book-hero{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:12px 0 6px;text-align:center}.book-cover{position:relative;width:170px;height:236px;border-radius:2px 6px 6px 2px;background:repeating-linear-gradient(0deg,rgb(0 0 0/5%) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgb(0 0 0/4%) 0 1px,transparent 1px 3px),var(--oxblood);box-shadow:0 2px 10px rgb(0 0 0/12%);color:var(--foil)}.book-cover-frame{position:absolute;inset:9px;border:1px solid rgb(201 162 78/70%)}.book-cover-photo{position:absolute;top:6%;right:10.8%;left:10.8%;width:78.4%;height:44%;border:1px solid rgb(244 239 230/72%);object-fit:cover;object-position:center 42%;box-shadow:0 1px 4px rgb(0 0 0/14%)}.book-cover-photo-identity{position:absolute;top:54.5%;right:9%;left:9%;display:grid;grid-template-columns:minmax(0,1fr);justify-items:end;grid-gap:3px;gap:3px;height:12%;overflow:hidden;text-align:right}.book-cover.has-photo{width:175px;height:auto;aspect-ratio:1010/1456}.book-cover.has-photo .book-cover-frame{inset:0;border:0}.book-cover-name{position:absolute;top:16px;right:14px;max-height:116px;overflow:hidden;font-size:24px;letter-spacing:6px;line-height:1.25;white-space:nowrap;writing-mode:vertical-rl}.book-cover.has-photo .book-cover-name{position:static;width:100%;max-width:100%;max-height:18px;color:var(--foil);line-height:1.2;white-space:nowrap;writing-mode:horizontal-tb}.book-cover-name.is-latin{top:50%;right:14px;left:14px;max-height:none;overflow:visible;transform:translateY(-50%);line-height:1.6;white-space:normal;text-align:center;text-transform:uppercase;writing-mode:horizontal-tb}.book-cover.has-photo .book-cover-name.is-latin{position:static;transform:none;text-align:right}.book-cover-name.is-latin~.book-cover-year{right:18px}.book-cover-year{position:absolute;top:20px;right:52px;font-size:12px;letter-spacing:5px;writing-mode:vertical-rl}.book-cover.has-photo .book-cover-year{position:static;width:100%;font-size:8px;letter-spacing:2px;color:color-mix(in srgb,var(--foil) 72%,var(--paper));white-space:nowrap;writing-mode:horizontal-tb}.book-cover-seal{position:absolute;right:16px;bottom:44px;border:1px solid var(--foil);padding:3px 6px;font-size:13px}.book-cover.has-photo .book-cover-seal{right:50%;bottom:10%;display:grid;place-items:center;width:19px;height:19px;box-sizing:border-box;padding:0;font-size:9px;transform:translateX(50%)}.book-cover-foot{position:absolute;right:0;bottom:14px;left:0;font-size:9px;letter-spacing:3px;text-align:center}.book-cover.has-photo .book-cover-foot{bottom:4.5%;font-size:7px;letter-spacing:2px}@media (max-width:680px){.book-cover.has-photo{width:155px}}.welcome-title{display:grid;justify-items:center;grid-gap:12px;gap:12px;padding:32px 0 64px;text-align:center}.welcome-title .book-cover{margin-bottom:20px}.welcome-title h1{display:grid;grid-gap:4px;gap:4px;margin:0;font-size:clamp(26px,4vw,34px);font-weight:600;line-height:1.4}.welcome-title h1 .pair-en{font-size:.6em;font-weight:400;color:var(--muted)}.welcome-open{display:grid;grid-gap:2px;gap:2px;max-width:34ch;margin:4px 0 0;font-size:17px;line-height:1.6}.welcome-open .pair-en{color:var(--muted);font-size:15px}.welcome-help{display:grid;grid-gap:2px;gap:2px;max-width:40ch;margin:20px 0 0;font-size:13px;line-height:1.55}.welcome-help .pair-en{font-size:1em}.first-question-hero{padding-bottom:8px}.first-question-begun{display:grid;grid-gap:4px;gap:4px;margin:14px 0 0;font-size:clamp(24px,4vw,32px);font-weight:600;line-height:1.4}.first-question-begun .pair-en{font-size:.6em;font-weight:400;color:var(--muted)}.first-question-card{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:18px}.first-question-why{display:grid;grid-gap:2px;gap:2px;margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.first-question-why .pair-en{font-size:1em}.first-question-actions{display:grid;grid-gap:10px;gap:10px;justify-items:start}.first-question-actions form,.first-question-actions form button{width:100%}.book-progress-line{margin:8px 0 0;font-size:15px}.book-progress-line.is-state{display:grid;grid-gap:2px;gap:2px;max-width:34ch;font-size:16px;line-height:1.5}.book-progress-line.is-state .pair-en{color:var(--muted);font-size:14px}.book-progress{display:flex;width:min(100%,240px);gap:3px}.book-progress span{flex:1 1;min-width:2px;height:4px;border-radius:999px;background:var(--line)}.book-progress span.filled{background:var(--foil)}.cover-caption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 14px;margin-top:12px;color:var(--muted);font-size:13px}.cover-caption>*+:before{content:"·";margin-right:14px;color:var(--line)}.cover-caption>.cover-editor{flex-basis:100%}.cover-caption>.cover-editor:before{content:none}.cover-caption:has(.cover-editor){display:block;width:min(720px,calc(100vw - 40px))}.cover-caption:has(.cover-editor)>.cover-open-link{display:none}.book-hero:has(.cover-editor)>.book-cover,.book-hero:has(.cover-editor)>.book-cover-link{display:none}.cover-open-link{color:var(--ink);border-bottom:1px solid var(--foil);padding-bottom:1px;text-decoration:none}.cover-open-link:hover{color:var(--seal)}.cover-name-edit{border:0;padding:0;background:none;color:var(--muted);font-family:inherit;font-size:13px;cursor:pointer}.cover-name-edit:hover{color:var(--ink)}.cover-editor{display:grid;grid-template-columns:230px minmax(0,390px);align-items:start;justify-content:center;grid-gap:48px;gap:48px;margin-top:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0 32px;text-align:left}.cover-editor-preview{display:grid;justify-items:center;padding-top:44px}.cover-editor-preview .book-cover.has-photo{width:205px}.cover-editor-preview .book-cover:not(.has-photo){width:190px;height:264px}.cover-editor-controls{display:grid;grid-gap:0;gap:0;min-width:0}.cover-editor-header{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:12px}.cover-editor-header h2{margin:0;color:var(--ink);font-size:21px;font-weight:600}.cover-editor-close{width:36px;min-height:36px;border:0;padding:0;background:transparent;color:var(--muted);font-family:inherit;font-size:25px;line-height:1;letter-spacing:0}.cover-editor-close:hover{background:transparent;color:var(--ink)}.cover-editor-section{display:grid;grid-gap:8px;gap:8px;border-bottom:1px solid var(--line);padding:20px 0}.cover-editor-section h3{margin:0 0 4px;color:var(--ink);font-size:14px;font-weight:600}.cover-editor-section>label{font-size:13px;font-weight:600}.cover-editor-section>input{min-height:44px;border:1px solid var(--line);border-radius:2px;padding:8px 12px;background:var(--paper);color:var(--ink);font-family:inherit;font-size:16px}.cover-editor-section .field-hint{margin-top:-4px;color:var(--muted);font-size:13px;font-weight:400}.cover-details-form{display:grid}.cover-photo-field{min-width:0}.cover-photo-field input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cover-photo-current{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;grid-gap:14px;gap:14px}.cover-photo-thumb{display:grid;width:78px;height:58px;place-items:center;border:1px solid var(--line);background:var(--oxblood);color:var(--foil);font-size:21px}.cover-photo-thumb img{width:100%;height:100%;object-fit:cover}.cover-photo-controls{min-width:0}.cover-photo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.cover-photo-button,.cover-photo-remove{min-height:38px;padding:8px 14px;font-size:13px;letter-spacing:0}.cover-photo-remove{border:0;background:transparent;color:var(--seal)}.cover-photo-remove:hover{background:transparent;color:var(--error);text-decoration:underline;text-underline-offset:3px}.cover-photo-field .status{min-height:20px;margin:0;font-size:13px}.cover-editor-actions{display:flex;justify-content:flex-end;padding-top:20px}.cover-editor-actions button{min-width:180px}@media (max-width:680px){.cover-caption:has(.cover-editor){width:calc(100vw - 32px)}.cover-editor{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:24px}.cover-editor-preview{padding-top:0}.cover-editor-preview .book-cover.has-photo{width:155px}.cover-editor-preview .book-cover:not(.has-photo){width:155px;height:215px}.cover-editor-actions button{width:100%}}.home-card{display:grid;grid-gap:10px;gap:10px;padding:18px}.home-kicker{color:var(--foil);font-size:11px;letter-spacing:4px;text-transform:uppercase}.home-kicker .pair-zh{letter-spacing:1px;text-transform:none}.home-kicker .pair-en{color:var(--foil);font-size:10px;opacity:.72}.home-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.count-seal{display:grid;width:54px;min-width:54px;height:54px;flex:0 0 auto;place-items:center;border:1.5px solid var(--seal);color:var(--seal);overflow:hidden;line-height:1}.count-seal strong{font-size:26px;font-weight:600;line-height:1}.count-seal>span{margin-top:3px;font-size:11px;letter-spacing:1px;opacity:.85}.count-seal.filled{background:var(--seal);color:var(--paper)}.home-card.is-closing{border:1px solid var(--seal)}.home-question{margin:0;font-size:16px;font-weight:600;line-height:1.55}.home-question-en{margin:-4px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.home-meta{margin:0;color:var(--muted);font-size:13px}.home-actions{justify-content:flex-start}.home-links{margin:4px 0 0;text-align:center;font-size:13px}.home-links a{color:var(--muted)}.home-links a:hover{color:var(--oxblood)}.owner-tabs{position:fixed;z-index:40;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--oxblood);padding:10px 0 max(13px,env(safe-area-inset-bottom))}.owner-tab{display:grid;justify-items:center;grid-gap:3px;gap:3px;color:rgb(244 239 230/60%);font-size:11px;letter-spacing:1px;text-decoration:none}.owner-tab svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.owner-tab.active{font-weight:600}.owner-tab.active,.owner-tab:hover{color:var(--paper)}main.page:has(.owner-tabs){padding-bottom:92px}.category-icon{width:26px;height:26px;margin-bottom:2px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;color:var(--oxblood)}.story-list{display:grid;grid-gap:12px;gap:12px}.story-card{display:grid;grid-gap:10px;gap:10px;padding:18px}.story-question{display:grid;grid-gap:3px;gap:3px}.story-question .question-zh{margin:0;font-size:16px;font-weight:600;line-height:1.55}.story-question .question-en{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.story-take{border-top:1px solid var(--line);padding-top:10px;min-width:0}.story-take .sample-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.story-take-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.story-take-source{color:var(--muted);font-size:12px}.library-head{position:relative;align-items:flex-start}.library-kicker{color:var(--foil);font-size:11px;letter-spacing:.35em;text-transform:uppercase}.library-name{margin-top:6px}.library-written{margin-top:4px}.settings-gear{position:relative}.library-head{flex-wrap:wrap}.library-head>div:first-child{flex:1 1 300px}.library-head-actions{display:flex;flex:0 0 auto;align-items:center;margin-left:auto;gap:10px}.library-head-actions .language-select button{min-width:72px;padding:5px 10px;font-size:13px}.library-signout button{padding:6px 14px;font-size:13px;white-space:nowrap}.album-add{display:grid;grid-gap:10px;gap:10px;border-top:1px solid var(--line);margin-top:4px;padding-top:16px}.album-add.is-alone{border-top:0;margin-top:0;padding-top:0}.album-add .upload{border:0;background:transparent;padding:0}.album-add .upload button[type=submit]{border-color:var(--line);background:transparent;color:var(--ink)}.album-add .upload button[type=submit]:hover{border-color:var(--foil);background:var(--panel)}.record-upload{display:grid;grid-gap:10px;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.record-upload .upload{border:0;background:transparent;padding:0}.record-upload .upload button[type=submit]{border-color:var(--line);background:transparent;color:var(--ink)}.record-upload .upload button[type=submit]:hover{border-color:var(--foil);background:var(--panel)}.record-upload .upload-after{justify-self:start}@media (max-width:680px){.library-head{flex-direction:column-reverse;align-items:stretch;gap:12px}.library-head>div:first-child{flex:0 1 auto}.library-head-actions{flex-wrap:wrap;justify-content:flex-end}}.settings-gear summary{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:2px;background:var(--panel);cursor:pointer;list-style:none}.settings-gear summary::-webkit-details-marker{display:none}.settings-gear summary svg{width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.6;stroke-linecap:round}.settings-gear[open] summary{border-color:var(--foil)}.settings-sheet{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:grid;width:min(420px,calc(100vw - 32px));grid-gap:14px;gap:14px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.12)}.settings-invite-until{display:block;margin-top:8px;color:var(--muted);font-size:14px}.chapter-list{display:grid;grid-gap:18px;gap:18px;margin-top:18px}.chapter-card{display:grid;grid-gap:10px;gap:10px;padding:22px 18px;box-shadow:0 2px 10px rgba(0,0,0,.12)}.chapter-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.chapter-number{color:var(--foil);font-size:11px;letter-spacing:.35em;text-transform:uppercase}.chapter-date{color:var(--muted);font-size:12px}.chapter-question-zh{margin:0;font-size:21px;font-weight:600;line-height:1.45}.chapter-question-en{margin:0;color:var(--muted);font-size:14px}.chapter-prose{display:grid;grid-gap:10px;gap:10px;border-top:1px solid var(--line);margin-top:4px;padding-top:14px}.chapter-prose-title{margin:0;font-size:22px;font-weight:600;letter-spacing:.04em;line-height:1.35}.chapter-prose-title.lang-en:not(.is-lead){margin-top:-4px;font-size:12px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.chapter-prose-body{margin:0;font-size:17px;line-height:1.9}.chapter-prose-body.lang-en:not(.is-lead){font-size:15px;line-height:1.75;color:var(--muted)}.chapter-prose-quote{display:grid;grid-gap:6px;gap:6px;margin:6px 0 0;border-left:2px solid var(--oxblood);padding:4px 0 4px 18px}.chapter-prose-quote .lang-zh{font-size:18px;line-height:1.7}.chapter-prose-quote .lang-en:not(.is-lead){font-size:14px;font-style:italic;color:var(--muted)}.chapter-pending{margin:0;padding-top:12px;font-size:13px;letter-spacing:.06em;color:var(--foil)}.chapter-pending,.chapter-takes{border-top:1px solid var(--line)}.chapter-takes{display:grid;grid-gap:10px;gap:10px;margin-top:4px;padding-top:14px}.chapter-take{display:flex;align-items:center;gap:12px}.chapter-take .chapter-play .icon-button{width:54px;min-width:54px;height:54px;border-color:var(--oxblood);background:var(--oxblood);color:var(--paper)}.chapter-take .chapter-play .icon-button:hover{background:var(--oxblood-hover)}.chapter-wave{min-width:0;height:30px;flex:1 1 auto;stroke:var(--line);stroke-linecap:round;stroke-width:2}.answer-bar{display:flex;width:100%;align-items:center;gap:12px;border:1px solid var(--line);border-radius:2px;padding:8px 12px 8px 8px;letter-spacing:0;text-align:left}.answer-bar,.answer-bar:hover{background:var(--panel);color:var(--ink)}.answer-bar:hover{border-color:var(--foil)}.answer-wave{stroke:var(--foil);opacity:.55}.answer-bar-label{flex:0 0 auto;color:var(--muted);font-size:12px;white-space:nowrap}.answer-play{display:grid;width:48px;min-width:48px;height:48px;flex:0 0 auto;place-items:center;border:0;border-radius:50%;padding:0;background:var(--oxblood);color:var(--paper)}.answer-play svg{width:20px;height:20px;margin-left:2px;fill:currentColor;stroke:none}@media (max-width:680px){.answer-bar-label{display:none}}.chapter-take-date,.chapter-take-length{color:var(--muted);font-size:12px;white-space:nowrap}.chapter-menu{position:relative;margin-left:auto}.chapter-menu summary{display:flex;width:36px;height:44px;align-items:center;justify-content:center;cursor:pointer;list-style:none}.chapter-menu summary::-webkit-details-marker{display:none}.chapter-menu summary svg{width:20px;height:20px;fill:var(--muted)}.chapter-menu-sheet{position:absolute;z-index:20;top:calc(100% + 4px);right:0;display:grid;min-width:180px;grid-gap:2px;gap:2px;padding:8px;box-shadow:0 2px 10px rgba(0,0,0,.12)}.chapter-menu-sheet .chapter-menu-delete,.chapter-menu-sheet a{display:block;width:100%;min-height:0;border:0;padding:10px 12px;background:none;color:var(--ink);font-size:14px;letter-spacing:normal;text-align:left;text-decoration:none}.chapter-menu-sheet .chapter-menu-delete:hover,.chapter-menu-sheet a:hover{background:var(--paper);color:var(--ink)}.chapter-menu-sheet .chapter-menu-delete{color:var(--error)}.confirm-sheet{width:min(420px,calc(100vw - 32px));margin:auto;padding:24px 24px 20px;border:1px solid var(--line);border-radius:2px;background:var(--panel);color:var(--ink)}.confirm-sheet::-webkit-backdrop{background:rgba(35,32,28,.55)}.confirm-sheet::backdrop{background:rgba(35,32,28,.55)}.confirm-sheet-question{margin:0 0 20px;font-size:17px;line-height:1.55}.confirm-sheet-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.confirm-sheet-actions button{padding:12px 22px;letter-spacing:.08em}.chapter-voice{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.chapter-voice-link{color:var(--muted);font-size:12px;text-decoration:underline}.chapter-voice-link:hover,.first-page-card .chapter-number{color:var(--foil)}.first-page-excerpt{display:grid;grid-gap:6px;gap:6px;margin:0;border-top:1px solid var(--line);padding-top:12px}.first-page-excerpt p{margin:0;line-height:1.7}.first-page-excerpt-dedication{font-size:14px;letter-spacing:.04em;color:var(--muted)}.first-page-excerpt-body{display:-webkit-box;overflow:hidden;font-size:16px;-webkit-box-orient:vertical;-webkit-line-clamp:3}.first-page-lead{display:grid;grid-gap:2px;gap:2px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}.first-page-door{margin-top:4px}.chapter-waiting{display:grid;grid-gap:6px;gap:6px;border:1px dashed var(--line);border-radius:2px;margin-top:18px;padding:20px 18px}.chapter-waiting p{margin:0;color:var(--muted)}.chapter-waiting:not(:last-child){margin-bottom:18px}.chapter-waiting.is-notice{border-style:solid;border-color:var(--oxblood);background:var(--oxblood)}.chapter-waiting.is-notice .pair-zh,.chapter-waiting.is-notice p{color:var(--paper)}.chapter-waiting.is-notice p:first-child .pair-zh{font-weight:600}.chapter-waiting.is-notice .pair-en{color:var(--paper);opacity:.78}.chapter-next{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:2px;margin-top:18px;padding:20px 22px;background:var(--panel);color:var(--ink);text-decoration:none;transition:border-color .2s,background .2s}.chapter-next:not(:last-child){margin-bottom:18px}.chapter-next:hover{border-color:var(--foil);background:var(--paper2)}.chapter-next-text{display:grid;grid-gap:9px;gap:9px}.chapter-next-lead{display:block;font-size:18px;line-height:1.35}.chapter-next-lead .pair-en{margin-top:1px;color:var(--ink);font-size:.76em;opacity:.75}.chapter-next-sub{display:block;color:var(--muted);font-size:13px;line-height:1.45}.chapter-next-sub .pair-en{margin-top:1px;font-size:1em}.chapter-next-arrow{flex:0 0 auto;color:var(--foil);font-size:20px;line-height:1;transition:transform .2s}.chapter-next:hover .chapter-next-arrow{transform:translateX(3px)}.chapter-next.is-gift{border-color:var(--oxblood);background:var(--oxblood);color:var(--paper)}.chapter-next.is-gift:hover{border-color:var(--oxblood-hover);background:var(--oxblood-hover)}.chapter-next.is-gift .chapter-next-lead .pair-en,.chapter-next.is-gift .chapter-next-sub,.chapter-next.is-gift .chapter-next-sub .pair-en,.chapter-next.is-gift .chapter-next-sub .pair-zh{color:var(--paper)}.chapter-next.is-gift .chapter-next-sub{opacity:.85}.book-home>.chapter-next:first-child{margin-top:0;margin-bottom:22px}.chapter-next .chapter-number{margin-bottom:2px}.settings-block{display:grid;grid-gap:14px;gap:14px;margin-top:18px;padding:18px}.settings-block h2{margin:0;color:var(--muted);font-size:11px;font-weight:400;letter-spacing:4px;text-transform:uppercase}.settings-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px}.settings-label{font-size:15px}.settings-value{margin-top:2px;color:var(--muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.settings-invite{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.settings-invite-actions{display:flex;align-items:center;gap:8px}.sample-row{display:flex;align-items:center;gap:10px}.sample-row-name{color:var(--ink);font-size:14px;white-space:nowrap}.sample-row-download{margin-left:auto;color:var(--muted);font-size:12px}.sample-row-end{display:flex;align-items:center;gap:4px;margin-left:auto}.sample-row-end .chapter-menu,.sample-row-end .sample-row-download{margin-left:0}.sample-row-download-icon{display:flex;width:36px;height:44px;align-items:center;justify-content:center;color:var(--muted);text-decoration:none;transition:color .15s ease}.sample-row-download-icon:focus-visible,.sample-row-download-icon:hover{color:var(--foil)}.sample-row-download-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.first-answer{display:grid;grid-gap:10px;gap:10px;margin-top:14px;padding:16px 18px}.first-answer .sample-row,.record-answers .sample-row{flex-wrap:wrap;gap:8px 10px}.first-answer .answer-bar,.record-answers .answer-bar{flex:1 1 220px}.record-answers{display:grid;grid-gap:8px;gap:8px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}.question-voice{display:grid;width:min(260px,100%);justify-items:stretch;justify-self:end;grid-gap:6px;gap:6px}.question-voice-ask,.share-link-tile{display:flex;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;padding:10px 8px;font-size:13px;letter-spacing:.04em}.question-voice-ask-label{display:block;min-width:0;text-align:center}.question-voice-ask svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.question-voice-ask.recording{border-color:var(--seal);color:var(--seal)}.question-voice-dot{width:9px;height:9px;border-radius:50%;background:var(--seal)}.question-voice-review{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.question-voice .question-share-error{width:100%;text-align:right}.prompt-preview{display:grid;justify-items:end;grid-gap:8px;gap:8px}.attachment{position:relative;display:inline-flex}.attachment-remove{position:absolute;z-index:2;top:-9px;right:-9px;display:grid;place-items:center;width:26px;min-width:26px;height:26px;min-height:26px;border:1px solid var(--line);border-radius:50%;padding:0;background:var(--panel);color:var(--seal);box-shadow:0 1px 4px rgb(0 0 0/12%)}.attachment-remove svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}.attachment-remove:hover{background:var(--panel);color:var(--error)}.envelope-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.envelope-row,.share-mode{align-items:stretch;width:100%}.share-mode{display:inline-flex;gap:2px;border:1px solid var(--line);border-radius:2px;padding:2px;background:var(--panel)}.share-mode button{flex:1 1;min-height:36px;border:0;border-radius:2px;background:transparent;color:var(--muted);font:inherit;font-size:13px;line-height:1;letter-spacing:normal;padding:9px 10px;white-space:nowrap;text-align:center;transition:color .16s ease,background-color .16s ease}.share-mode button:hover{color:var(--ink)}.share-mode button[aria-pressed=true]{color:var(--ink);background:var(--paper);box-shadow:inset 0 -2px 0 var(--foil)}.share-mode button:disabled{cursor:not-allowed;opacity:.6}.envelope-row .question-voice{display:grid;width:100%;height:112px;align-content:stretch;justify-items:stretch}.envelope-row .attachment,.envelope-row .prompt-preview,.envelope-row .question-voice{grid-template-rows:100%;min-width:0;min-height:0}.envelope-row .attachment,.envelope-row .prompt-preview,.envelope-row .question-voice-ask{width:100%;height:100%}.envelope-row .prompt-preview{display:grid;justify-items:stretch;grid-gap:0;gap:0}.envelope-row .attachment{display:grid}.envelope-row .voice-chip-group{width:100%;height:100%}.envelope-row .photo-chip{width:100%;height:100%;min-height:0;justify-self:stretch;overflow:hidden;border-width:3px}.envelope-row .photo-chip img{width:100%;height:100%;min-height:0;object-fit:cover}.envelope-row .attachment-remove{top:-8px;right:-8px;width:22px;min-width:22px;height:22px;min-height:22px}.envelope-row .voice-chip{flex-direction:column;justify-content:center;gap:3px;padding:6px 8px;text-align:center}.envelope-row .voice-chip-play{width:26px;min-width:26px;height:26px;min-height:26px}.envelope-row .voice-chip-label{display:block;min-width:0;font-size:13px}.envelope-row .voice-chip-duration{font-size:11px}.voice-chip-group{display:flex;width:264px;max-width:100%;align-items:stretch;border:1px solid var(--line);border-radius:2px;background:var(--panel)}.voice-chip-group .voice-chip{flex:1 1;min-width:0;border:none;border-radius:0}.voice-chip-redo{display:grid;place-items:center;width:42px;min-width:42px;border:none;border-left:1px solid var(--line);border-radius:0;padding:0;background:transparent;color:var(--muted)}.voice-chip-redo svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.7}.voice-chip-group:focus-within,.voice-chip-group:hover{border-color:var(--foil)}.voice-chip-redo:hover{background:transparent;color:var(--oxblood)}.attachment-redo{position:absolute;z-index:2;bottom:-9px;left:-9px;display:grid;place-items:center;width:26px;min-width:26px;height:26px;min-height:26px;border:1px solid var(--line);border-radius:50%;padding:0;background:var(--panel);color:var(--muted);box-shadow:0 1px 4px rgb(0 0 0/12%)}.attachment-redo svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.attachment-redo:hover{background:var(--panel);color:var(--oxblood)}.share-actions{display:grid;justify-items:stretch;grid-gap:8px;gap:8px}.share-actions>.edit-link{justify-self:end}.share-primary{display:grid;grid-template-columns:1fr 1fr;width:100%;grid-gap:8px;gap:8px}.share-primary:has(>:only-child){grid-template-columns:1fr}.share-link-tile:not(.secondary) .pair-en{color:var(--paper);opacity:.75}.share-primary>*{min-width:0;padding-right:16px;padding-left:16px}.question-card .question-actions{justify-content:stretch}.question-card .question-actions>.question-share{flex:1 1 100%}.question-card .question-share,.question-card .share-actions{justify-items:stretch}.edit-link{display:flex;width:36px;height:34px;align-items:center;justify-content:center;border:none;padding:0;background:none;color:var(--muted)}.edit-link svg{width:20px;height:20px;fill:var(--muted)}.edit-link:hover{background:none}.edit-link:hover svg{fill:var(--oxblood)}.edit-drawer{display:grid;width:100%;justify-items:stretch;grid-gap:12px;gap:12px}.edit-drawer,.edit-link-row{border-top:1px solid var(--line);padding-top:12px}.edit-link-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.edit-link-label{color:var(--muted);font-size:12.5px}.edit-link-buttons{display:flex;gap:8px}.edit-link-buttons .text-button{display:inline-flex;align-items:center;min-height:42px;border:1px solid var(--line);padding:0 16px;background:transparent;font-size:13px;text-decoration:none}.edit-done{min-height:44px}.voice-chip{display:flex;width:100%;align-items:center;gap:9px;min-height:46px;border:1px solid var(--line);border-radius:2px;padding:5px 12px 5px 5px;background:var(--panel);color:var(--ink);font-size:13px;letter-spacing:0}.voice-chip-duration{margin-left:auto}.voice-chip:hover{border-color:var(--foil);background:var(--panel);color:var(--ink)}.voice-chip-play{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--oxblood)}.voice-chip-play svg{width:13px;height:13px;margin-left:1px;fill:var(--paper)}.voice-chip-duration{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.photo-chip{display:block;justify-self:end;border:4px solid var(--panel);box-shadow:0 2px 10px rgb(0 0 0/12%)}.photo-chip img{display:block;width:76px;height:76px;object-fit:cover}.photo-thumb{display:block;flex:0 0 auto;border:4px solid var(--panel);box-shadow:0 2px 10px rgba(0,0,0,.12);padding:0;background:none;cursor:pointer}.photo-thumb img,.photo-thumb-blank{display:block;width:64px;height:64px;background:var(--paper);object-fit:cover}.media-player img{display:block;width:auto;max-width:100%;height:auto;max-height:70vh;max-height:70dvh;margin-inline:auto;object-fit:contain}.question-photo-preview{width:48px;height:48px;border:1px solid var(--line);border-radius:2px;object-fit:cover}.record-photo{display:grid;place-items:center;margin:0 0 10px;padding:10px}.record-photo img{max-width:100%;max-height:min(30vh,340px);border:5px solid var(--panel);box-shadow:0 2px 10px rgba(0,0,0,.12)}.camera-preview.with-photo .camera-photo-main{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.camera-preview.with-photo .camera-preview-message{border-radius:2px;padding:22px 20px;background:rgb(17 17 15/82%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.camera-preview:has(.camera-preview-message) .camera-preview-question{display:none}.camera-preview.with-photo:has(.camera-preview-message) video{display:none}.camera-preview.with-photo video{position:absolute;inset:auto 14px 190px auto;width:96px;height:128px;border:2px solid rgb(255 255 255/85%);border-radius:2px;object-fit:cover;box-shadow:0 10px 36px rgb(0 0 0/38%);z-index:3}.countdown-overlay .countdown-cancel-hint{color:rgb(255 255 255/60%);font-size:13px;letter-spacing:.08em}.question-voice-review audio{width:100%;height:30px}.question-voice-status{width:100%;color:var(--muted);font-size:13px;text-align:right}.voice-question{display:flex;width:100%;align-items:center;gap:14px;margin-bottom:10px;padding:14px 16px;color:var(--ink);text-align:left;letter-spacing:0}@media (hover:hover){.question-chip:hover{border-color:var(--foil);color:var(--ink)}.question-chip[aria-current=page]:hover{border-color:var(--ink);color:var(--paper)}.voice-question:hover{border-color:var(--foil);background:var(--panel);color:var(--ink)}.voice-question:hover .voice-question-play{background:var(--oxblood-hover)}}.voice-question-play{display:grid;place-items:center;width:64px;min-width:64px;height:64px;border-radius:50%;background:var(--oxblood)}.voice-question-play svg{width:26px;height:26px;margin-left:3px;fill:var(--paper)}.voice-question-copy{display:grid;width:100%;grid-gap:8px;gap:8px}.voice-question-copy .bilingual span{font-size:17px;font-weight:600}.voice-question-copy .bilingual small{color:var(--muted);font-size:13px}.voice-question-track{display:block;height:3px;border-radius:999px;background:var(--line);overflow:hidden}.voice-question-track>span{display:block;height:100%;background:var(--foil);transition:width .2s linear}.voice-question-duration{color:var(--muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.guest-preview{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.guest-preview-title{margin:0;font-size:14px;font-weight:600}.guest-preview-steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;max-width:420px}.guest-preview-step{display:grid;grid-gap:6px;gap:6px;margin:0}.guest-preview-step img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:2px;background:var(--paper);box-shadow:0 2px 10px rgb(0 0 0/12%)}.guest-preview-step figcaption{font-size:12px;line-height:1.5}.guest-preview-body{margin:0;font-size:13px;line-height:1.6}.guest-preview-toggle{align-self:start;width:-moz-fit-content;width:fit-content;margin-top:8px;white-space:nowrap}.question-takes{display:grid;grid-column:1/-1;grid-gap:10px;gap:10px;margin-top:14px}.answer-all{display:grid;grid-gap:6px;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}.answer-all .answer-bar-label{color:var(--ink);font-size:13px}.answer-all-seams{display:flex;gap:3px;height:4px}.answer-all-seams i{background:var(--foil);opacity:.55}.answer-all-seams i:first-child{opacity:1;border-top:1px solid var(--line);padding-top:14px}.question-takes .sample-row{flex-wrap:wrap;gap:8px 10px}.question-takes .answer-bar{flex:1 1 220px}.question-takes .sample-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.question-empty{padding:24px;color:var(--muted)}.custom-question{display:grid;grid-gap:18px;gap:18px;margin-top:28px;padding:24px;scroll-margin-top:24px}.custom-question h2{margin:0 0 4px;font-size:24px}.custom-question p{margin:0}.custom-question-grid{display:grid;max-width:46ch;grid-gap:28px;gap:28px;align-items:start}.custom-question-form{display:grid;grid-gap:12px;gap:12px}.custom-question-form textarea{width:100%;min-height:64px;padding:10px 12px;resize:vertical}.custom-question-form button{justify-self:start}.custom-question-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.coach-hints{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.coach-hint{border-left:2px solid var(--foil);padding-left:10px;color:var(--muted);font-size:14px;line-height:1.55}.question-plan-note{border-top:1px solid var(--line);padding-top:14px}.record-question{margin-bottom:18px;padding:20px 24px}.guest-answered{display:grid;grid-gap:10px;gap:10px;margin-bottom:18px;padding:18px 20px}.guest-answered-head{display:flex;gap:10px;align-items:center}.guest-answered-head svg{flex:none;width:24px;height:24px;fill:none;stroke:var(--seal);stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.guest-answered-head strong{font-size:18px;font-weight:500}.guest-answered p{margin:0}.guest-answered-hint{font-size:14px}.recorder-finished .guest-answered{width:100%;margin:0;padding:0;justify-items:center}.recorder-finished .guest-answered-head{flex-direction:column;gap:8px}.recorder-finished .guest-answered .bilingual{color:var(--ink)}.recorder .guest-answered:has(+.recorder-primer){margin-bottom:14px;border:1px solid var(--line);border-radius:2px}.recorder-sending{gap:10px;padding:18px 0 6px;text-align:center}.recorder-sending .upload-ring{width:88px;height:88px;transform:rotate(-90deg)}.recorder-sending .upload-ring circle{fill:none;stroke-width:5}.recorder-sending .upload-ring-track{stroke:var(--line)}.recorder-sending .upload-ring-fill{stroke:var(--foil);stroke-linecap:round;transition:stroke-dasharray .3s ease}.recorder-sending strong{font-size:20px;font-weight:500}.recorder-sending .bilingual{color:var(--muted);font-size:14px}.recording-shell{width:min(1080px,calc(100% - 32px))}.guest-record,.record-screen{padding-top:6px}.guest-record .record-question,.record-screen .record-question{margin-bottom:14px;padding:16px 18px}.guest-record .record-question:has(+.voice-question){margin-bottom:0;border-bottom:0}.guest-record .record-question+.voice-question{margin-bottom:14px;border-top:0}.guest-record .question-zh,.record-screen .question-zh{font-size:19px;line-height:1.6}.guest-record .question-en,.record-screen .question-en{margin-top:2px;font-size:15px;line-height:1.5}.guest-record .recorder-primer,.record-screen .recorder-primer{padding:26px 20px}.guest-record .invite-expiry{margin-top:12px;font-size:12px}.recorder{display:grid;grid-gap:22px;gap:22px;justify-items:center;padding:32px 24px}.recorder.video-mode{position:relative;display:block;overflow:hidden;border-color:#292825;padding:0;background:#11110f}.recorder.audio-mode{width:min(680px,100%);margin-inline:auto}.recording-mode{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;color:var(--muted);font-size:15px}.camera-preview{position:relative;width:100%;height:min(72vh,720px);height:min(72dvh,720px);min-height:520px;overflow:hidden;background:radial-gradient(circle at 50% 34%,rgb(255 255 255/9%),transparent 42%),#11110f;color:#fff;isolation:isolate}.camera-preview video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}.camera-preview:after{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgb(0 0 0/48%) 0,transparent 24%),linear-gradient(0deg,rgb(0 0 0/82%) 0,transparent 42%);content:"";pointer-events:none}.camera-preview-message{position:absolute;z-index:2;top:42%;left:50%;display:grid;width:min(340px,calc(100% - 48px));justify-items:center;grid-gap:7px;gap:7px;transform:translate(-50%,-50%);text-align:center}.camera-preview-message .upload-ring{width:108px;height:108px;margin-bottom:10px;transform:rotate(-90deg)}.camera-preview-message .upload-ring circle{fill:none;stroke-width:5}.camera-preview-message .upload-ring-track{stroke:rgb(255 255 255/16%)}.camera-preview-message .upload-ring-fill{stroke:var(--foil);stroke-linecap:round;transition:stroke-dasharray .3s ease}.camera-preview-message svg{width:50px;height:50px;margin-bottom:8px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;opacity:.84}.camera-preview-message strong{font-size:20px;font-weight:500}.camera-preview-message span{color:rgb(255 255 255/68%);font-size:14px}.bilingual{display:grid;grid-gap:2px;gap:2px}.bilingual small{color:var(--muted);font-size:.82em;line-height:1.5}.camera-preview .bilingual small{color:rgb(255 255 255/62%)}.onboarding-form{display:grid;grid-gap:18px;gap:18px;padding:24px}.onboarding-form>label{display:grid;grid-gap:6px;gap:6px;font-size:14px;font-weight:600}.custom-question-form>label .field-hint,.onboarding-form>label .field-hint{font-weight:400}.custom-question-form>label .field-hint{color:var(--muted);font-size:13px}.onboarding-form input,.onboarding-form textarea{min-height:44px;border:1px solid var(--line);border-radius:2px;padding:8px 12px;background:var(--paper);color:var(--ink);font-size:16px}.onboarding-focus{display:grid;grid-gap:10px;gap:10px;margin:0;border:0;padding:0}.onboarding-focus legend{padding:0;font-size:14px;font-weight:600}.onboarding-focus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.onboarding-focus-option input{position:absolute;opacity:0;pointer-events:none}.onboarding-focus-option>span{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:2px;padding:10px 12px;cursor:pointer;font-size:15px}.onboarding-focus-option .onboarding-focus-zh{border:0;padding:0;color:var(--seal);font-size:17px}.onboarding-path-option{display:block;margin-bottom:14px}.onboarding-path-option>span{display:grid;grid-gap:3px;gap:3px;border-color:var(--foil);padding:10px 12px}.onboarding-path-title{display:block;font-size:15px;font-weight:600}.onboarding-path-hint{display:block;color:var(--muted);font-size:12px;line-height:1.5}.onboarding-path-option .pair-en{display:block;margin-top:2px;font-size:.86em;font-weight:400;letter-spacing:normal}.onboarding-focus-option input:checked+span{border-color:var(--seal);box-shadow:inset 0 0 0 1px var(--seal)}.onboarding-focus-option input:focus-visible+span{outline:2px solid var(--seal);outline-offset:2px}.onboarding-error{margin:0;color:var(--error);font-size:14px}.onboarding-step-count{margin:0;color:var(--muted);font-size:12px;letter-spacing:.2em}.onboarding-step{display:grid;grid-gap:18px;gap:18px}.onboarding-step[hidden]{display:none}.onboarding-focus legend.onboarding-step-title,.onboarding-step-title{margin:0;padding:0;font-size:22px;font-weight:600;line-height:1.5}.onboarding-step-title .pair-en{display:block;margin-top:2px;font-size:15px;font-style:italic;font-weight:400;color:var(--muted)}.onboarding-step-cover{justify-items:center;text-align:center}.onboarding-cover{display:grid;justify-items:center;padding:10px 0 0}.onboarding-cover .book-cover{transform:scale(1.15);transform-origin:top center;margin-bottom:36px}.onboarding-form .onboarding-cover-field{width:min(100%,340px);min-height:52px;padding:12px 14px;font-size:20px;text-align:center}.onboarding-form .onboarding-cover-field::placeholder{color:#b8ad9a}.onboarding-hint{display:block;margin-top:4px;max-width:44ch;font-size:13px;font-weight:400}.onboarding-step textarea{width:100%;box-sizing:border-box}.onboarding-step-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}.onboarding-step-actions button{white-space:nowrap}.onboarding-step-actions button:not(.text-button){padding-inline:28px}.onboarding-step-pair{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}.onboarding-privacy{display:grid;grid-gap:18px;gap:18px;padding:28px 24px}.onboarding-privacy h2{margin:0;font-size:22px;font-weight:600}.onboarding-privacy ul{display:grid;grid-gap:14px;gap:14px;margin:0;padding:0;list-style:none}.onboarding-privacy li{border-left:2px solid var(--seal);padding-left:14px}.onboarding-privacy a{color:var(--seal);font-size:15px}.onboarding-privacy-tick{display:flex;align-items:center;gap:12px;cursor:pointer;border:1px solid var(--line);border-radius:2px;padding:12px 14px}.onboarding-privacy-tick input{width:22px;height:22px;flex-shrink:0;accent-color:var(--seal);cursor:pointer}.onboarding-privacy button:disabled{cursor:not-allowed;opacity:.45}.recorder-primer{display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:40px 24px;text-align:center}.recorder-permission-primer{max-width:30ch;margin:2px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.recorder-permission-primer small{display:block;margin-top:3px;font-size:.86em}.recorder-primer strong{font-size:clamp(20px,4vw,25px);font-weight:600;line-height:1.5}.recorder-primer p{max-width:34ch;margin:0;font-size:15px}.recorder-primer button{margin-top:10px;padding:16px 52px;font-size:17px}.recorder-primer.minimal{width:100%;padding:0}.guest-record .recorder,.guest-record .recorder.arrival,.record-screen .recorder,.record-screen .recorder.arrival{position:-webkit-sticky;position:sticky;z-index:5;bottom:10px;padding:16px;box-shadow:0 2px 10px rgb(0 0 0/12%)}.guest-record,.guest-record .recording-shell,.record-screen,.record-screen .recording-shell{overflow:visible}.first-page-read-screen .recorder.is-recording .recording-mode,.guest-record .recorder.is-recording .recording-mode{display:none}.first-page-read-screen .recorder.is-recording .recorder-display,.guest-record .recorder.is-recording .recorder-display{gap:12px}.first-page-read-screen .recorder.is-recording .audio-meter,.guest-record .recorder.is-recording .audio-meter{height:48px}.guest-record .record-question,.record-screen .record-question{margin-bottom:10px}.recorder-primer.minimal button{width:100%;min-height:64px;margin-top:0;padding:16px 24px;font-size:19px;letter-spacing:4px}.countdown-overlay{position:absolute;z-index:4;inset:0;display:grid;width:100%;height:100%;align-content:center;justify-items:center;grid-gap:10px;gap:10px;border:0;padding:0}.countdown-overlay,.countdown-overlay:hover{background:rgb(17 17 15/45%);color:#fff}.countdown-overlay strong{max-width:22ch;color:#fff;font-size:17px;font-weight:500;text-align:center;text-shadow:0 2px 14px rgb(0 0 0/70%);text-wrap:balance}.countdown-overlay span{font-size:clamp(96px,30vw,170px);font-weight:600;line-height:1;text-shadow:0 4px 30px rgb(0 0 0/60%);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.countdown-overlay small{color:rgb(255 255 255/76%);font-size:15px;letter-spacing:.2em;text-shadow:0 2px 14px rgb(0 0 0/70%)}.build-stamp{margin-top:18px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.04em;text-align:right;opacity:.55}.recorder-finished{display:grid;width:min(340px,100%);justify-items:center;grid-gap:8px;gap:8px;margin-inline:auto;border:1px solid var(--line);padding:22px 24px;text-align:center}.recorder.finished-mode{position:fixed;z-index:60;inset:0;display:grid;width:100%;place-items:center;border:0;border-radius:0;padding:24px;background:rgb(35 32 28/72%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior:contain}.finished-mode .recorder-finished{width:min(400px,100%);max-height:100%;overflow-y:auto;border:1px solid var(--line);border-radius:2px;padding:28px 24px;background:var(--panel);box-shadow:0 2px 10px rgb(0 0 0/12%)}.recorder-finished .recorder-actions{margin-top:10px}.record-again-hint{margin:0;color:var(--muted);font-size:13px}.page-header.record-return{justify-content:flex-end}@media (min-width:681px){.camera-preview-question{display:none}}.recorder-finished svg{width:34px;height:34px;fill:none;stroke:var(--seal);stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.recorder-finished strong{font-size:18px;font-weight:500}.recorder-finished span{color:var(--muted);font-size:14px}.recorder-finished .recorder-actions:has(.text-button){flex-direction:column}.recorder-finished .text-button{border:0;text-decoration:underline;text-underline-offset:3px}.recorder-finished .button{margin-top:8px}.camera-preview-question{position:absolute;z-index:2;top:max(70px,calc(env(safe-area-inset-top) + 62px));right:14px;left:14px;max-height:28vh;overflow-y:auto;border-radius:2px;padding:12px 14px;background:rgb(17 17 15/52%);color:#fff;text-shadow:0 1px 10px rgb(0 0 0/60%)}.camera-preview-question p{margin:0;font-size:clamp(19px,5.2vw,26px);font-weight:600;line-height:1.5}.camera-preview-question small{display:block;margin-top:4px;color:rgb(255 255 255/72%);font-size:clamp(14px,3.6vw,16px);line-height:1.45}.camera-preview-topbar{position:absolute;z-index:3;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:22px}.recording-chip{display:inline-flex;min-height:38px;align-items:center;gap:9px;border:1px solid rgb(255 255 255/15%);border-radius:999px;padding:0 14px;background:rgb(15 15 14/62%);box-shadow:0 8px 28px rgb(0 0 0/18%);color:#fff;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.02em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.recording-chip>span{width:8px;height:8px;border-radius:50%;background:rgb(255 255 255/52%)}.recording-chip.active>span{background:#ef4b4b;box-shadow:0 0 0 4px rgb(239 75 75/18%);animation:recording-pulse 1.8s ease-in-out infinite}@keyframes recording-pulse{50%{opacity:.58}}.video-mode .camera-button{width:46px;min-width:46px;min-height:46px;border:1px solid rgb(255 255 255/18%);border-radius:50%;padding:0;background:rgb(15 15 14/62%);box-shadow:0 8px 28px rgb(0 0 0/18%);color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.video-mode .camera-button:hover{border-color:rgb(255 255 255/34%);background:rgb(255 255 255/18%);color:#fff}.video-mode .camera-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.camera-preview-footer{position:absolute;z-index:3;right:0;bottom:0;left:0;display:grid;justify-items:center;grid-gap:12px;gap:12px;padding:72px 24px max(26px,env(safe-area-inset-bottom))}.recorder-display{display:grid;width:min(420px,100%);grid-gap:18px;gap:18px;justify-items:center}.recording-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:clamp(44px,13vw,72px);font-weight:600;line-height:1}.countdown-lead{margin:0;color:var(--muted);font-size:15px;text-align:center;text-wrap:balance}.audio-meter{display:grid;width:min(360px,100%);height:72px;grid-template-columns:repeat(18,1fr);align-items:center;grid-gap:5px;gap:5px}.audio-meter span{display:block;height:calc(12% + (var(--level) * 88%));min-height:6px;border-radius:999px;background:var(--line);transition:height 80ms linear,background .18s ease}.audio-meter.active span{background:var(--foil)}.audio-meter.compact{display:inline-grid;width:46px;height:16px;grid-template-columns:repeat(12,1fr);gap:2px;vertical-align:middle}.audio-meter.compact span{min-height:2px;border-radius:1px}.recorder-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.audio-mode .recorder-actions button{min-width:148px}.audio-mode .record-button-symbol{display:none}.video-mode .audio-meter{width:min(210px,58vw);height:44px;gap:3px;filter:drop-shadow(0 2px 5px rgb(0 0 0/45%))}.video-mode .audio-meter span{min-height:3px;background:rgb(255 255 255/38%)}.video-mode .audio-meter.active span{background:rgb(255 255 255/88%)}.video-mode .status{min-height:20px;max-width:min(620px,calc(100% - 32px));color:rgb(255 255 255/78%);font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;line-height:1.4;text-align:center;text-shadow:0 1px 8px rgb(0 0 0/70%)}.video-mode .status.error{color:#ffd3ce}.video-mode .retry-link{color:#fff}.video-mode .record-button{display:grid;width:76px;min-width:76px;min-height:76px;place-items:center;grid-gap:0;gap:0;border:3px solid rgb(255 255 255/92%);border-radius:50%;padding:0;background:rgb(255 255 255/16%);box-shadow:0 10px 36px rgb(0 0 0/38%);color:#fff;letter-spacing:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-mode .record-button:hover{border-color:#fff;background:rgb(255 255 255/26%);color:#fff;transform:scale(1.03)}.video-mode .record-button-symbol{width:52px;height:52px;border-radius:50%;background:#e54848;transition:border-radius .18s ease,transform .18s ease}.video-mode .record-button.recording .record-button-symbol{width:31px;height:31px;border-radius:8px}.video-mode .record-button-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.video-mode .download-samples{position:absolute;left:calc(50% + 54px);min-height:42px;border-color:rgb(255 255 255/20%);border-radius:999px;padding:0 16px;background:rgb(15 15 14/58%);color:#fff;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.video-mode .download-samples:hover{border-color:rgb(255 255 255/36%);background:rgb(255 255 255/18%);color:#fff}.record-button.recording{background:var(--seal)}.record-button.recording:hover{background:var(--error)}.file-input{width:100%;border:1px dashed var(--line);border-radius:2px;padding:20px;background:var(--paper)}.status{min-height:22px;color:var(--muted)}.status.error{color:var(--error)}.upload-progress progress::-moz-progress-bar{border-radius:999px;background:var(--foil)}.retry-link{min-height:0;border:0;padding:0;background:transparent;color:currentColor;font:inherit;letter-spacing:0;text-decoration:underline;text-underline-offset:2px}.retry-link:hover{background:transparent;color:var(--seal)}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:rgba(35,32,28,.36)}.subscription-modal{display:grid;width:min(480px,100%);grid-gap:22px;gap:22px;padding:28px;box-shadow:0 24px 70px rgba(35,32,28,.22)}.subscription-modal h2{margin:0 0 8px;font-size:26px;font-weight:600}.subscription-modal p{margin:0}.modal-actions{display:flex;flex-wrap:wrap;gap:10px}.modal-actions form{display:flex}.checkout,.invite-panel,.upgrade-panel{display:grid;grid-gap:20px;gap:20px;padding:24px}.upgrade-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center}.checkout h1,.invite-panel h2,.upgrade-panel h2{margin:0 0 8px;font-size:24px;font-weight:600}.benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 24px;gap:8px 24px;margin:14px 0 0;padding-left:20px}.invite-panel{margin-top:24px}.invite-panel p{margin:0}.inline-form label{display:grid;grid-gap:8px;gap:8px;font-weight:600;font-size:15px}.inline-form input{min-height:44px;border:1px solid var(--line);border-radius:2px;padding:0 12px;background:var(--paper);color:var(--ink)}.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.inline-form input{width:160px}.invite-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.invite-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center;border-top:1px solid var(--line);padding-top:16px}.invite-row:first-child{border-top:0;padding-top:0}.invite-copy{min-width:0}.invite-url{display:block;min-width:0;overflow-wrap:anywhere;color:var(--oxblood);font-size:15px}.invite-actions{display:flex;align-items:center;gap:8px}.invite-actions form{display:flex}.icon-button{width:44px;min-width:44px;padding:0}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.icon-button svg .play-icon-fill{fill:currentColor;stroke:none}.icon-button.danger{background:var(--seal)}.icon-button.danger:hover{background:var(--error)}.checkout{width:min(560px,calc(100% - 32px));margin:12vh auto 0}.checkout form{display:grid}.order-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.invite-expiry{margin-top:16px}.file-list{margin-top:24px;overflow:hidden}.file-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:16px;gap:16px;align-items:center;padding:18px 24px;border-top:1px solid var(--line)}.file-row:first-child{border-top:0}.file-name{min-width:0;overflow-wrap:anywhere;font-weight:600}.file-meta{color:var(--muted);font-size:14px}.file-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.file-actions form{display:flex}.media-player-dialog{width:min(760px,calc(100% - 32px));border:1px solid var(--line);padding:0;background:var(--panel);color:var(--ink)}.media-player-dialog::-webkit-backdrop{background:rgb(35 32 28/68%)}.media-player-dialog::backdrop{background:rgb(35 32 28/68%)}.media-player{display:grid;grid-gap:20px;gap:20px;padding:24px}.media-player-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.media-player audio{display:block;width:100%;background:transparent}.media-player-failed{margin:0;color:var(--error);font-size:14px;line-height:1.6}.media-player-failed a{color:var(--error)}.media-player video{display:block;width:auto;max-width:100%;height:auto;max-height:70vh;max-height:70dvh;margin-inline:auto;background:var(--ink);object-fit:contain}.media-player-parts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:14px}.media-player-progress{color:var(--muted);font-size:13px}.media-player-minutes{display:flex;flex-wrap:wrap;gap:6px}.media-player-minute{min-width:30px;min-height:30px;border:1px solid var(--line);border-radius:2px;padding:0 6px;background:var(--paper);color:var(--muted);font-family:inherit;font-size:13px;cursor:pointer}.media-player-minute.current{border-color:var(--foil);color:var(--ink)}.media-player-parts .sample-row-download{margin-left:auto}.story-download-all{border:0;padding:0;background:none;color:var(--muted);font-family:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.story-download-all:hover{color:var(--ink)}.story-take-length{color:var(--muted);font-size:12px}.auth-box{width:min(440px,calc(100% - 32px));margin:48px auto 64px;padding:32px}.auth-box h1{margin:0 0 8px;font-weight:600;letter-spacing:1px}.form{display:grid;grid-gap:16px;gap:16px;margin-top:24px}.oauth-buttons{display:grid;grid-gap:10px;gap:10px}.oauth-button{position:relative;width:100%}.oauth-mark{position:absolute;left:16px;display:inline-grid;width:22px;height:22px;place-items:center;font-family:Arial,sans-serif;font-size:18px;font-weight:700;letter-spacing:0;line-height:1}.oauth-mark.google{color:#4285f4}.oauth-mark.facebook{color:#1877f2}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;text-transform:uppercase}.auth-divider:after,.auth-divider:before{height:1px;flex:1 1;background:var(--line);content:""}.form label{display:grid;grid-gap:8px;gap:8px;font-weight:600;font-size:15px}.form input{min-height:44px;border:1px solid var(--line);border-radius:2px;padding:0 12px;background:var(--paper);color:var(--ink)}.auth-password-field{display:grid;grid-gap:8px;gap:8px}.auth-reset-link{min-height:0;justify-self:end;border:0;padding:0;background:transparent;color:var(--muted);font-size:13px;letter-spacing:0;text-decoration:underline;text-underline-offset:3px}.auth-reset-link:hover{background:transparent;color:var(--ink)}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.segmented.is-restricted{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented button{min-width:0;padding:10px;white-space:normal}.auth-mode-label{display:grid;grid-gap:2px;gap:2px;line-height:1.35}.auth-mode-label .pair-zh{letter-spacing:0;white-space:nowrap}.auth-mode-label .pair-en{margin-top:0;letter-spacing:1px}.segmented button:not(.secondary) .pair-en{color:var(--paper);opacity:.78}.auth-recovery{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.auth-recovery .pair-en{margin-top:2px;font-size:1em}.auth-recovery a{color:inherit;text-decoration:underline;text-underline-offset:3px}.auth-recovery a:hover{color:var(--ink)}.kicker .pair-zh{display:block;letter-spacing:1px;text-transform:none}.kicker .pair-en{display:block;margin-top:2px;color:inherit;font-size:1em;letter-spacing:6px}button:disabled{cursor:wait;opacity:.6}@media (max-width:680px){.recording-shell{width:100%}.recording-shell>.invite-expiry,.recording-shell>.page-header,.recording-shell>.record-question{width:calc(100% - 32px);margin-right:auto;margin-left:auto}.recording-shell>.page-header{padding-top:8px}.recorder.video-mode{position:fixed;z-index:50;inset:0;width:100%;height:100vh;height:100dvh;border-right:0;border-left:0;border-radius:0;overscroll-behavior:contain}.camera-preview{height:100vh;height:100dvh;min-height:0;max-height:none}.camera-preview-topbar{padding:max(18px,env(safe-area-inset-top)) 16px 18px}.camera-preview-footer{gap:10px;padding-right:16px;padding-bottom:max(22px,env(safe-area-inset-bottom));padding-left:16px}.video-mode .record-button{width:72px;min-width:72px;min-height:72px}.video-mode .record-button-symbol{width:48px;height:48px}.video-mode .download-samples{left:calc(50% + 50px);max-width:calc(50% - 66px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.benefits,.file-row,.invite-row,.page-header,.question-card,.upgrade-panel{grid-template-columns:1fr}.invite-actions{justify-content:flex-start}.modal-actions,.modal-actions form{display:grid}.file-row{gap:10px}.action-strip,.file-actions,.question-actions{justify-content:flex-start}.question-toolbar{align-items:flex-start;flex-direction:column}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-tile{padding:16px 16px 14px}.category-tile-zh{font-size:28px}.custom-question-grid{max-width:none;gap:18px}.custom-question-form button{width:100%;min-height:44px}.question-chips{flex:0 0 auto;flex-wrap:nowrap;width:100%;overflow-x:auto;padding-bottom:2px}.question-chip{flex:0 0 auto}}@media (prefers-reduced-motion:reduce){.recording-chip.active>span{animation:none}}.admin-shell{width:min(1380px,calc(100% - 32px))}.admin-table-panel{overflow:hidden}.admin-choice{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-gap:10px 24px;gap:10px 24px;margin:0;padding:18px 22px 22px;font-size:15px}.admin-choice dt{color:var(--muted);font-size:13px;letter-spacing:.04em}.admin-choice dd{margin:0}.admin-choice-links{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.admin-choice-links li{display:grid;grid-gap:2px;gap:2px}.admin-choice-links small{color:var(--muted);font-size:12.5px}.admin-table-intro{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px;padding:18px 20px;border-bottom:1px solid var(--line)}.admin-table-panel>h2,.admin-table-panel>p{margin:0;padding:18px 20px 0}.admin-table-panel>p:last-child{padding-bottom:18px}.admin-answer{display:grid;grid-gap:10px;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}.admin-answer:last-child{border-bottom:0}.admin-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1px;gap:1px;background:var(--line)}.admin-photo-card{display:grid;grid-template-columns:112px minmax(0,1fr);grid-gap:16px;gap:16px;min-width:0;padding:18px 20px;background:var(--panel)}.admin-photo-image{display:block;width:112px;height:112px;overflow:hidden;border:1px solid var(--line);background:var(--paper)}.admin-photo-image img{display:block;width:100%;height:100%;object-fit:cover}.admin-photo-copy{display:grid;align-content:start;justify-items:start;grid-gap:5px;gap:5px;min-width:0}.admin-photo-copy>a,.admin-photo-copy>strong{color:var(--ink);font-size:15px;font-weight:600;line-height:1.45}.admin-photo-copy p,.admin-photo-copy small{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.admin-photo-state{display:inline-block;border:1px solid var(--line);padding:1px 6px;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.admin-photo-state.is-ready{border-color:#91b89a;color:#2f7a3d}@media (max-width:520px){.admin-photo-card{grid-template-columns:88px minmax(0,1fr)}.admin-photo-image{width:88px;height:88px}}.admin-answer-question .question-en,.admin-answer-question .question-zh{margin:2px 0 0}.admin-answer .sample-row{flex-wrap:wrap}.admin-answer .sample-row-download{margin-left:0;border:1px solid var(--line);padding:2px 8px}.admin-answer .sample-row-download:first-of-type{margin-left:auto}.admin-table-intro h2,.admin-table-intro p{margin:0}.admin-table-intro h2{font-size:21px}.admin-table-intro p{margin-top:2px;font-size:13px}.admin-table-scroll{overflow-x:auto}.admin-table{width:100%;min-width:1180px;border-collapse:collapse;font-size:13px;line-height:1.45}.admin-table td,.admin-table th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-table th{background:var(--paper2);color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:var(--paper)}.admin-table td small,.admin-table td strong{display:block}.admin-table td strong{max-width:250px;overflow:hidden;text-overflow:ellipsis}.admin-table td small{margin-top:3px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.admin-plan-paid{border-color:var(--foil);color:var(--foil)}.admin-stamp{display:inline-block;margin-left:8px;border:1.5px solid var(--seal);border-radius:2px;padding:0 6px;color:var(--seal);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;transform:rotate(-4deg)}.admin-reset-banner{margin:0 0 18px;padding:14px 18px;font-size:15px}.admin-reset-banner.error{border-color:var(--error);color:var(--error)}.admin-reset{display:grid;grid-gap:8px;gap:8px;max-width:260px}.admin-link-create{margin-bottom:18px}.admin-link-form{display:grid;align-items:end;grid-gap:12px;gap:12px}.admin-link-create-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px 20px}.admin-link-asset-field{grid-column:1/-1}.admin-link-field{display:grid;min-width:0;grid-gap:5px;gap:5px}.admin-link-check>span,.admin-link-field>span{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.admin-link-field input,.admin-link-field select{width:100%;min-width:0;min-height:40px;border:1px solid var(--line);border-radius:2px;padding:7px 10px;background:var(--paper);color:var(--ink);font-size:13px}.admin-link-check{display:flex;min-height:40px;align-items:center;gap:8px;white-space:nowrap}.admin-link-check input{width:18px;height:18px;accent-color:var(--seal)}.admin-link-create-form>button,.admin-link-edit-form>button{min-height:40px;padding:7px 18px;font-size:12px;white-space:nowrap}.admin-links-panel{overflow:hidden}.admin-link-row{border-bottom:1px solid var(--line)}.admin-link-row:last-child{border-bottom:0}.admin-link-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:16px 20px;background:var(--paper2)}.admin-link-heading h3,.admin-link-heading p{margin:0}.admin-link-heading h3{min-width:0;overflow:hidden;font-size:17px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.admin-link-heading p{margin-top:2px;color:var(--muted);font-size:12px}.admin-link-title-line{display:flex;min-width:0;align-items:center;gap:10px}.admin-missing{color:var(--seal)}.admin-link-status{flex:0 0 auto;border:1px solid var(--line);padding:1px 7px;color:var(--muted);font-size:10px;letter-spacing:.08em;line-height:1.7;text-transform:uppercase}.admin-link-status.live{border-color:#55735e;color:#365c43}.admin-link-status.scheduled{border-color:var(--foil);color:#755c2d}.admin-link-status.error,.admin-link-status.expired{border-color:var(--error);color:var(--error)}.admin-link-sync{display:grid;flex:0 0 auto;justify-items:end;color:var(--muted);font-size:11px;line-height:1.5}.admin-link-sync small{font-size:10px}.admin-link-error{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;border-top:1px solid var(--error);border-bottom:1px solid var(--error);color:var(--error);font-size:12px}.admin-link-error button{border-color:var(--error);color:var(--error)}.admin-link-body{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:24px;gap:24px;padding:20px}.admin-link-qr{display:grid;align-content:start;justify-items:center;grid-gap:10px;gap:10px}.admin-link-qr canvas{width:184px;height:184px;border:1px solid var(--line);background:var(--panel)}.admin-link-qr-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;font-size:12px}.admin-link-qr-actions a{display:inline-flex;min-height:28px;align-items:center;padding:0 8px}.admin-link-management{min-width:0}.admin-link-url{display:block;margin-bottom:14px;overflow:hidden;color:var(--seal);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-link-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-link-permanent{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.admin-link-permanent summary{width:-moz-fit-content;width:fit-content;color:var(--muted);cursor:pointer;font-size:12px}.admin-link-permanent>div{display:flex;flex-wrap:wrap;gap:24px;margin-top:10px}.admin-link-permanent form{display:flex;align-items:center;gap:10px}.admin-link-permanent p{max-width:270px;margin:0;color:var(--muted);font-size:11px;line-height:1.45}.admin-link-permanent button{min-height:34px;padding:5px 14px;font-size:11px;white-space:nowrap}.admin-links-empty{margin:0;padding:28px 20px;color:var(--muted)}@media (max-width:960px){.admin-link-body{grid-template-columns:1fr}}@media (max-width:720px){.admin-link-body,.admin-link-heading{grid-template-columns:1fr}.admin-link-heading{display:grid}.admin-link-sync{justify-items:start}.admin-link-create-form,.admin-link-edit-form{grid-template-columns:1fr}.admin-link-asset-field{grid-column:auto}.admin-link-permanent form,.admin-link-permanent>div{align-items:flex-start;flex-direction:column}}.onboarding-account{flex-direction:column;align-items:flex-end;gap:8px}.onboarding-language{display:grid;justify-items:end;grid-gap:4px;gap:4px}.onboarding-language-label{color:var(--foil);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.onboarding-account .signed-in-email{font-size:12px;overflow-wrap:normal;word-break:keep-all;white-space:nowrap}.onboarding-account form button{white-space:nowrap}@media (max-width:680px){.onboarding-head{flex-direction:column;align-items:stretch}.onboarding-head .onboarding-account{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.onboarding-head .signed-in-email{order:3;flex-basis:100%;text-align:left}.onboarding-head .language-select button{min-width:80px}.onboarding-head .onboarding-account form button{padding:12px 22px}}.signed-in-email{color:var(--muted);font-size:14px;overflow-wrap:anywhere;text-align:right}.language-select{display:inline-flex;align-items:stretch;gap:2px;border:1px solid var(--line);border-radius:2px;padding:2px;background:var(--panel)}.language-select button{border:0;border-radius:2px;background:transparent;color:var(--muted);font:inherit;font-size:14px;line-height:1;min-width:96px;padding:7px 14px;white-space:nowrap;text-align:center;cursor:pointer;transition:color .16s ease,background-color .16s ease}.language-select button:hover{color:var(--ink)}.language-select button[aria-pressed=true]{color:var(--ink);background:var(--paper);box-shadow:inset 0 -2px 0 var(--foil)}.book-controls{display:flex;flex-direction:column;gap:10px;margin:0 auto 28px;max-width:72ch}.book-registers{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.book-register{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:2px;background:var(--panel);padding:12px 24px;text-decoration:none;color:var(--ink);transition:border-color .16s ease,background .16s ease}.book-register:hover{border-color:var(--foil)}.book-register.active{border-color:var(--oxblood);background:var(--oxblood);color:var(--paper)}.book-register-zh{font-size:18px;letter-spacing:.08em}.book-controls .book-registers+.book-registers .book-register{padding:9px 20px}.book-controls .book-registers+.book-registers .book-register-zh{font-size:15px}.book-register-en{white-space:nowrap;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.book-register.active .book-register-en{color:var(--paper);opacity:.75}.book-preview{margin-inline:auto;max-width:72ch;width:100%;border:1px solid var(--line);border-radius:2px;background:var(--panel);padding:clamp(40px,6vw,72px) clamp(24px,6vw,76px) 56px}.book-preview-cover{padding:16px 0 52px;text-align:center}.book-preview-name{margin:0;font-size:clamp(30px,4vw,40px);font-weight:600;letter-spacing:.22em;text-indent:.22em}.book-preview-year{margin:18px 0 0;font-size:12px;letter-spacing:.5em;text-indent:.5em;color:var(--foil)}.book-preview-front{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0;text-align:center}.book-preview-front-title{margin:0 0 24px;font-size:16px;letter-spacing:.14em;color:var(--foil)}.book-preview-front-sub{margin:0;font-size:17px;line-height:1.95}.book-preview-front-sub.lang-en{margin-top:16px;font-size:15px;font-style:italic;line-height:1.8;color:var(--muted)}.book-preview-front-sub.lang-en.is-lead{margin-top:0;font-size:17px;font-style:normal;line-height:1.9;color:var(--ink)}.book-preview-front-ded{margin:32px 0 0;font-size:14px;letter-spacing:.1em;color:var(--muted)}.book-preview-chapter{border-bottom:1px solid var(--line);padding:52px 0}.book-preview-letter{display:grid;grid-gap:18px;gap:18px;border-bottom:1px solid var(--line);padding:44px 0}.book-preview-letter p{margin:0;font-size:17px;line-height:2}.book-preview-letter-voice{display:flex;align-items:center;gap:14px;margin-top:8px;font-size:13px;color:var(--muted)}.book-preview-chapter:last-of-type{border-bottom:0;padding-bottom:24px}.book-preview-num{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--foil)}.book-preview-num-zh{font-size:13px;letter-spacing:.1em}.book-preview-num-sep{letter-spacing:0;opacity:.65}.book-preview-title{margin:20px 0 28px;font-weight:400}.book-preview-title>span{display:block}.book-preview-title-zh{font-size:clamp(24px,3vw,30px);font-weight:600;letter-spacing:.04em;line-height:1.35}.book-preview-title-en{margin-top:10px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.book-preview-title-en.is-lead{margin-top:0;font-size:clamp(20px,2.4vw,25px);font-weight:600;letter-spacing:.06em;line-height:1.3;text-transform:none;color:var(--ink)}.book-preview-body{margin:0}.book-preview-body.lang-zh{font-size:18px;line-height:2}.book-preview-body.lang-en{margin-top:20px;font-size:15.5px;line-height:1.8;color:var(--muted)}.book-preview-body.lang-en.is-lead{margin-top:0;font-size:17px;line-height:1.85;color:var(--ink)}.book-preview-quote{display:flex;flex-direction:column;gap:10px;margin:34px 0 0;border-left:2px solid var(--oxblood);padding:6px 0 6px 24px}.book-preview-quote .lang-zh{font-size:19px;line-height:1.75}.book-preview-quote .lang-en{font-size:14px;font-style:italic;color:var(--muted)}.book-preview-quote .lang-en.is-lead{font-size:17px;font-style:normal;line-height:1.7;color:var(--ink)}.book-preview-voice{display:flex;align-items:center;gap:14px;margin:32px 0 0;border-top:1px solid var(--line);padding-top:18px}.book-preview-qr{flex:none;width:34px;height:34px;border:1px solid var(--line);border-radius:2px;background:linear-gradient(var(--line) 0 0) 6px 6px /9px 9px no-repeat,linear-gradient(var(--line) 0 0) 21px 6px /9px 9px no-repeat,linear-gradient(var(--line) 0 0) 6px 21px /9px 9px no-repeat}.book-preview-voice-text{display:flex;flex-direction:column;gap:4px}.book-preview-voice-label{font-size:14px;color:var(--ink)}.book-preview-voice-note{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.book-preview-flag{border:1px solid var(--line);border-radius:2px;padding:2px 8px;font-size:11px;letter-spacing:.08em;text-transform:none;color:var(--muted)}.book-layout{display:grid;grid-template-columns:306px minmax(0,1fr);grid-gap:34px;gap:34px;align-items:start}.book-rail{position:-webkit-sticky;position:sticky;top:18px;border:1px solid var(--line);border-radius:2px;background:var(--panel);padding:16px 0 10px}.book-rail-head{margin:0;border-bottom:1px solid var(--line);padding:0 18px 12px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--foil)}.book-rail-list{margin:0;padding:8px 0 0;list-style:none;max-height:calc(100vh - 96px);overflow-y:auto}.book-rail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:6px;gap:6px;padding-right:10px}.book-rail-link{cursor:-webkit-grab;cursor:grab}.book-rail-row.is-dragging .book-rail-link{cursor:-webkit-grabbing;cursor:grabbing}.book-rail-row:hover{background:var(--paper)}.book-rail-row.is-dragging{opacity:.45}.book-rail-row.is-over{box-shadow:inset 0 2px 0 var(--oxblood)}.book-rail-link{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:baseline;grid-gap:8px;gap:8px;min-width:0;padding:7px 4px 7px 14px;color:inherit;text-decoration:none}.book-rail-n{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--foil)}.book-rail-t{min-width:0}.book-rail-t>span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.book-rail-title-zh{font-size:15px;line-height:1.35}.book-rail-title-en{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.book-rail-dot{align-self:center;width:6px;height:6px;border-radius:50%;background:var(--foil)}.book-rail-move{display:flex;gap:3px;opacity:0;transition:opacity .14s ease}.book-rail-move:focus-within,.book-rail-row:hover .book-rail-move{opacity:1}.book-rail-move input{width:40px;min-height:0;border:1px solid var(--line);border-radius:2px;padding:3px 4px;background:var(--paper);font-family:inherit;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);text-align:center}.book-rail-move button{display:grid;place-content:center;width:24px;height:24px;min-height:0;border:1px solid var(--line);border-radius:2px;padding:0;background:var(--paper);color:var(--muted);cursor:pointer;transition:border-color .16s ease,color .16s ease}.book-rail-move button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.book-rail-move button:hover{border-color:var(--oxblood);background:var(--paper);color:var(--oxblood)}.book-rail-move button:focus-visible,.book-rail-move input:focus-visible{outline:2px solid var(--foil);outline-offset:1px}.book-preview-chapter{scroll-margin-top:24px}@media (max-width:1080px){.book-layout{grid-template-columns:minmax(0,1fr)}.book-rail{position:static}.book-rail-list{max-height:40vh}}.book-chapter-moves{display:flex;gap:4px;margin-left:auto}.book-chapter-move{display:grid;place-content:center;min-height:0;width:26px;height:26px;border:1px solid var(--line);border-radius:2px;padding:0;background:var(--paper);color:var(--muted);cursor:pointer;transition:border-color .16s ease,color .16s ease}.book-chapter-move svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.book-chapter-move:hover:not(:disabled){border-color:var(--oxblood);background:var(--paper);color:var(--oxblood)}.book-chapter-move:disabled:hover{background:var(--paper);color:var(--muted)}.book-chapter-move:disabled{opacity:.3;cursor:default}.book-chapter-edit{margin:26px 0 0;border-top:1px solid var(--line);padding-top:16px}.book-chapter-edit summary{cursor:pointer;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);transition:color .16s ease}.book-chapter-edit summary:hover{color:var(--oxblood)}.book-chapter-edit[open] summary{margin-bottom:22px;color:var(--oxblood)}.book-chapter-fields{display:flex;flex-direction:column;gap:14px;margin:0 0 22px;border:1px solid var(--line);border-radius:2px;padding:18px 20px 22px}.book-chapter-fields legend{padding:0 8px;font-size:13px;letter-spacing:.1em;color:var(--foil)}.book-chapter-fields label{display:flex;flex-direction:column;gap:6px}.book-chapter-fields label>span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.book-chapter-fields input,.book-chapter-fields textarea{width:100%;border:1px solid var(--line);border-radius:2px;background:var(--paper);padding:10px 12px;font-family:inherit;font-size:16px;line-height:1.7;color:var(--ink);resize:vertical}.book-chapter-fields input:focus-visible,.book-chapter-fields textarea:focus-visible{outline:2px solid var(--foil);outline-offset:1px}.book-chapter-edit-note{margin:0 0 18px;font-size:13px;line-height:1.6;color:var(--muted)}.book-preview-end{margin:44px 0 0;text-align:center;font-size:20px;letter-spacing:.4em;text-indent:.4em;color:var(--muted)}.book-column{min-width:0}.book-rail.is-moving{opacity:.7;pointer-events:none}.first-page-shell{display:grid;grid-gap:28px;gap:28px}.first-page-saved{margin:0;padding:12px 16px;font-size:15px}.first-page-you-wrote{display:grid;grid-gap:6px;gap:6px}.first-page-you-wrote p{margin:0;font-size:15px}.first-page-you-wrote blockquote{margin:0;padding-left:16px;border-left:1px solid var(--line);font-size:16px;line-height:1.8}.first-page{display:grid;grid-gap:0;gap:0}.first-page input,.first-page textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--ink);padding:4px 0;transition:border-color .2s}.first-page input::placeholder,.first-page textarea::placeholder{color:var(--muted);opacity:1}.first-page textarea::placeholder{line-height:inherit}.first-page input:hover,.first-page textarea:hover{border-bottom-color:var(--line)}.first-page input:focus,.first-page textarea:focus{outline:none;border-bottom-color:var(--foil)}.first-page-dedication{padding:0 0 36px;border-bottom:1px solid var(--line);text-align:center}.first-page-dedication input{border-bottom-color:var(--line);font-size:16px;letter-spacing:.14em;text-align:center;color:var(--foil)}.first-page-letter{display:grid;grid-gap:16px;gap:16px;padding:40px 0 12px}.first-page-hint{display:grid;grid-gap:2px;gap:2px;margin:0 0 8px;color:var(--muted);font-size:14px;line-height:1.5}.first-page-dedication .first-page-hint{text-align:center}.first-page-sign .first-page-hint{text-align:right}.first-page-hint .pair-en{font-size:13px}.first-page-sign{display:grid;justify-items:end;padding:8px 0 0}.first-page-sign input{width:min(100%,360px);border-bottom-color:var(--line);text-align:right}.first-page-label{display:block;margin-bottom:8px;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--muted)}.first-page-letter textarea{min-height:12em;padding:0;resize:vertical;font-size:16px;line-height:2;white-space:pre-wrap;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(2em - 1px),var(--line) calc(2em - 1px),var(--line) 2em);background-attachment:local;field-sizing:content}.first-page-actions{display:flex;justify-content:flex-end;padding-top:24px}.first-page-read{display:grid;grid-gap:14px;gap:14px;padding:24px 22px;border-color:var(--foil)}.first-page-read .kicker{margin:0;color:var(--foil)}.first-page-read p{margin:0}.first-page-read-lead{font-size:16px;font-weight:600;line-height:1.7}.first-page-read .button,.first-page-read .text-button{justify-self:start}.first-page-her-words{display:grid;grid-gap:14px;gap:14px}.first-page-her-words .kicker{margin:0;color:var(--foil)}.first-page-her-words .text-button{justify-self:start}.first-page-prompter{display:grid;grid-gap:18px;gap:18px;padding:28px 24px;margin-bottom:24px}.first-page-prompter-head{display:grid;grid-gap:4px;gap:4px;padding-bottom:18px;border-bottom:1px solid var(--line)}.first-page-prompter-head .kicker{margin:0 0 10px}.first-page-prompter-head h1{margin:0;font-size:26px;font-weight:600;letter-spacing:1px;line-height:1.4}.first-page-prompter-head p{font-size:15px;line-height:1.7}.first-page-prompter>p{margin:0;font-size:20px;line-height:1.9}.first-page-read-screen .recorder.audio-mode{gap:12px;padding:14px 16px}.first-page-read-screen .recorder .recorder-display{gap:10px}.first-page-read-screen .recorder .recording-time{font-size:36px}.first-page-read-screen .recorder .audio-meter{height:36px}.first-page-read-screen .camera-preview{height:240px;min-height:200px}@media (max-width:680px){.first-page-read-screen .recorder.video-mode{position:-webkit-sticky;position:sticky;z-index:5;inset:auto;bottom:10px;width:100%;height:auto}.first-page-read-screen .camera-preview{height:200px;min-height:180px}}.reading{padding-bottom:48px}.book-reader.is-spread .reading-spread{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;align-items:start;width:min(1400px,calc(100% - 48px));margin:0 auto}.book-reader.is-spread .reading-leaf>.page.reading{padding-bottom:0}.book-reader.is-spread .reading-leaf .shell.narrow{width:100%}.book-reader.is-spread .reading-leaf:nth-child(2) .reading-bar{visibility:hidden}.book-reader.is-spread .reading-leaf .reading-turn{display:none}.book-reader.is-spread .reading-leaf.is-blank{min-height:1px}.reading-mode-switch{position:relative;z-index:2;display:flex;justify-content:flex-end;gap:4px;width:min(1400px,calc(100% - 48px));margin:22px auto -52px}.book-reader:not(.is-spread) .reading-mode-switch{width:min(680px,calc(100% - 32px))}.reading-mode-switch .text-button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.reading-hint{width:min(680px,calc(100% - 32px));margin:22px auto -10px;color:var(--muted);font-size:13px;letter-spacing:.04em;text-align:center}.book-reader.is-spread .reading-hint{width:min(1400px,calc(100% - 48px));margin:-40px auto 40px}.reading-spread-turn{display:flex;justify-content:space-between;width:min(1400px,calc(100% - 48px));margin:0 auto;padding:20px 0 48px}.reading-spread-turn .reading-bar-link{border:0;background:none;font-family:inherit;font-size:22px;cursor:pointer}.reading-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 0 20px}.reading-bar-link{font-size:13px;color:var(--muted)}.reading-bar-link:hover{color:var(--ink)}.reading-bar-count{font-size:11px;letter-spacing:3px;color:var(--muted)}.reading-page{display:grid;grid-gap:22px;gap:22px;border:1px solid var(--line);border-radius:2px;background:var(--panel);padding:clamp(32px,6vw,56px) clamp(22px,6vw,48px) 40px}.reading-page p{margin:0}.reading-cover-screen{display:grid;justify-items:center;grid-gap:16px;gap:16px;padding:24px 0 40px}.reading-cover-screen .book-cover{transform:scale(1.3);transform-origin:top center;margin:16px 0 86px}.reading-cover-screen form button{min-width:220px;padding:16px 40px;font-size:18px;letter-spacing:4px}.reading-cover{padding:8px 0 28px;border-bottom:1px solid var(--line);text-align:center}.reading-cover-name{font-size:clamp(26px,4vw,34px);font-weight:600;letter-spacing:.22em;text-indent:.22em}.reading-cover-year{margin-top:12px;font-size:12px;letter-spacing:.5em;text-indent:.5em;color:var(--foil)}.reading-kicker{font-size:11px;letter-spacing:5px;text-transform:uppercase;color:var(--foil)}.reading-rest-coming{display:grid;grid-gap:2px;gap:2px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}.reading-rest-coming-end{text-align:center;margin-bottom:8px}.reading-nothing-yet{display:grid;grid-gap:4px;gap:4px;margin:0;color:var(--muted);font-size:16px;line-height:1.6}.reading-contents{margin:0;padding:0;list-style:none}.reading-contents li{border-bottom:1px solid var(--line)}.reading-contents a{display:flex;align-items:baseline;gap:14px;padding:14px 0;font-size:16px;text-decoration:none}.reading-contents a:hover{color:var(--ink);background:linear-gradient(to right,var(--paper),transparent)}.reading-contents-state{margin-top:4px;font-size:12px;font-style:normal;letter-spacing:.04em;color:var(--muted)}.reading-contents li.is-writing a{color:var(--muted)}.reading-contents li.is-writing .reading-contents-number{color:var(--line)}.reading-today{display:flex;align-items:center;gap:14px;width:min(100%,420px);border:1px solid var(--foil);border-radius:2px;padding:14px 16px;background:var(--panel);text-align:left}.reading-today-text{display:grid;grid-gap:2px;gap:2px;min-width:0}.reading-today-kicker{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--seal)}.reading-today-question{margin:0;font-size:15px;font-weight:600;line-height:1.5}.reading-so-far{margin:0;color:var(--muted);font-size:13px;line-height:1.7;text-align:center}.reading-ruled{display:grid;grid-gap:14px;gap:14px;padding:8px 0}.reading-ruled span{display:block;height:1px;background:#e6dfd0}.reading-writing-lead{margin:0;color:var(--muted);font-size:15px;line-height:1.8;text-align:center}.reading-contents-number{flex-shrink:0;font-size:12px;letter-spacing:2px;color:var(--foil)}.reading-contents-title{display:flex;flex-direction:column;gap:2px}.reading-contents-title .lang-en,.reading-title .lang-en{font-size:.85em;font-style:italic;color:var(--muted)}.reading-resume{margin-top:8px;font-size:13px;color:var(--muted);text-align:center}.reading-resume a{text-decoration:underline;text-underline-offset:3px}.reading-title{display:flex;flex-direction:column;gap:4px;margin:-10px 0 0;font-size:24px;font-weight:600;line-height:1.5}.reading-voice{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--line);background:var(--paper)}.reading-voice-text{display:flex;flex-direction:column;gap:2px;font-size:15px;font-weight:600}.reading-voice-text .pair-en{font-size:12.5px;font-weight:400;font-style:italic;color:var(--muted)}.reading-photo{display:grid;grid-gap:8px;gap:8px;margin:0}.reading-photo img{display:block;width:100%;max-height:60vh;object-fit:contain;border-radius:2px;background:var(--paper);box-shadow:0 2px 10px rgb(0 0 0/12%)}.reading-photo-invite{display:grid;justify-items:center;grid-gap:8px;gap:8px;width:100%;min-height:160px;border:1px dashed var(--line);border-radius:2px;padding:28px 20px;background:var(--paper);color:var(--muted);font-family:inherit;font-size:15px;line-height:1.5;text-align:center;cursor:pointer;transition:border-color .2s,color .2s}.reading-photo-invite:hover{border-color:var(--foil);color:var(--ink)}.reading-photo-invite svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.reading-photo-invite .pair-en{font-size:13px;font-style:italic}.reading-photo-actions{display:flex;justify-content:flex-end;gap:6px}.reading-photo-status{font-size:13px;color:var(--muted);text-align:right}.reading-photo.is-busy .reading-photo-invite,.reading-photo.is-busy img{opacity:.6}.reading-body{display:grid;grid-gap:16px;gap:16px}.reading-body p{font-size:17px;line-height:2}.reading-body p.lang-en{font-size:15.5px;line-height:1.8;color:var(--muted)}.reading-body p.lang-en:first-child{font-size:17px;line-height:1.85;color:var(--ink)}.reading-quote{display:grid;grid-gap:6px;gap:6px;margin:4px 0 0;padding-left:16px;border-left:1px solid var(--foil);font-size:16px;line-height:1.9;color:var(--muted)}.reading-signature{margin:4px 0 0;font-size:17px;text-align:right}.reading-dedication{padding-bottom:28px;border-bottom:1px solid var(--line);font-size:16px;letter-spacing:.14em;text-align:center;color:var(--foil)}.reading-turn{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding-top:20px;border-top:1px solid var(--line);font-size:13px}.reading-turn a:first-child{color:var(--muted)}.reading-turn a:hover{color:var(--ink)}.yours-page{gap:6px}.yours-mark{margin:0 0 22px;text-align:center}.yours-title{margin:0;font-size:clamp(24px,6vw,30px);font-weight:500;line-height:1.25}.yours-title .pair-en{display:block;font-size:18px;margin-top:2px}.yours-lede{margin:6px 0 22px;color:var(--muted);font-size:15px}.yours-way,.yours-ways{display:grid}.yours-way{grid-template-columns:minmax(0,1fr) auto;grid-gap:4px 16px;gap:4px 16px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}.yours-way:last-child{border-bottom:1px solid var(--line)}.yours-way-text{display:grid;grid-gap:2px;gap:2px;font-size:18px}.yours-way-text .pair-en{font-size:14px}.yours-way-sub{grid-column:1/-1;display:grid;grid-gap:2px;gap:2px;color:var(--muted);font-size:14px}.yours-way-sub .pair-en{font-size:13px}.yours-button{min-height:44px;padding:8px 22px;letter-spacing:.06em;white-space:nowrap}.yours-offer{display:grid;justify-items:end;grid-gap:6px;gap:6px}.yours-price{color:var(--foil);font-size:14px;white-space:nowrap}.yours-preparing{display:grid;grid-gap:2px;gap:2px;max-width:170px;color:var(--muted);font-size:14px;line-height:1.5;text-align:right}.yours-preparing .pair-en{font-size:13px}.yours-wrong{margin-top:26px;font-size:15px}.yours-wrong summary{display:inline;cursor:pointer;color:var(--muted);text-decoration:underline;text-underline-offset:4px;list-style:none}.yours-wrong summary::-webkit-details-marker{display:none}.yours-wrong[open] summary{display:none}.yours-wrong-form{display:grid;justify-items:start;grid-gap:10px;gap:10px;margin-top:12px}.yours-wrong-form textarea{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:16px;padding:10px 12px;resize:vertical}.yours-wrong-form textarea:focus{outline:none;border-color:var(--foil)}.yours-sent{margin-top:26px;color:var(--muted);font-size:15px}.print-form{display:grid;grid-gap:16px;gap:16px;margin-top:4px}.print-field{display:grid;grid-gap:4px;gap:4px;margin:0;border:0;padding:0}.print-label{font-size:14px;color:var(--muted)}.print-field input,.print-field textarea{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:16px;padding:10px 12px;border-radius:0}.print-field textarea{resize:vertical}.print-field input:focus,.print-field textarea:focus{outline:none;border-color:var(--foil)}.print-qty{display:flex;gap:8px;margin-top:2px}.print-qty label{flex:1 1;display:grid;place-items:center;min-height:48px;border:1px solid var(--line);background:var(--paper);font-size:18px;cursor:pointer}.print-qty label.is-on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.print-qty label:focus-within{outline:2px solid var(--foil);outline-offset:2px}.print-qty input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.print-quiet{display:grid;grid-gap:1px;gap:1px;color:var(--muted);font-size:13px}.print-total{display:grid;grid-template-columns:auto 1fr;grid-gap:0 14px;gap:0 14px;align-items:baseline;margin-top:8px;padding-top:14px;border-top:1px solid var(--line)}.print-total-label{display:grid;grid-gap:1px;gap:1px;font-size:15px;white-space:nowrap}.print-total-sum{display:grid;justify-items:end;grid-gap:2px;gap:2px;text-align:right}.print-total-sum b{font-weight:500;font-size:22px}.print-submit{width:100%;margin-top:4px;min-height:52px;font-size:17px;letter-spacing:.1em}.print-error{margin:0;color:var(--error)}.this-book{width:min(100%,420px);margin:10px auto 0;text-align:left;border:1px solid var(--line);border-radius:2px;background:var(--panel);padding:18px 22px 22px}.this-book-title{margin:0 0 6px;font-size:12px;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--muted)}.this-book-final{margin:0 0 6px;font-size:14px;color:var(--ink)}.this-book-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:2px 14px;gap:2px 14px;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:15px}.this-book-text{display:grid;grid-gap:1px;gap:1px}.this-book-text .pair-en{font-size:13px}.this-book-act{color:var(--seal);font-size:14px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.this-book-pay{grid-column:1/-1;justify-self:start;margin-top:4px}.this-book-date{white-space:nowrap}.this-book-date,.this-book-sub{color:var(--muted);font-size:13px}.this-book-sub{grid-column:1/-1;display:grid;grid-gap:1px;gap:1px}.this-book-offer{display:grid;justify-items:end;grid-gap:4px;gap:4px}.this-book-steps{grid-column:1/-1;display:flex;gap:4px;margin-top:8px}.this-book-steps i{flex:1 1;height:4px;background:var(--line)}.this-book-steps i.is-on{background:var(--ink)}.this-book-steps i.is-now{background:var(--foil)}.pdf-editions{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}.pdf-edition{color:var(--seal);font-size:13px;text-decoration:underline;text-underline-offset:3px}.pdf-editions-note{color:var(--muted);font-size:12.5px}.this-book-door{display:grid;grid-gap:1px;gap:1px;margin-top:12px;color:var(--muted);font-size:14px;text-decoration:none}.this-book-door .pair-zh{text-decoration:underline;text-underline-offset:4px}.this-book-door:hover{color:var(--ink)}.this-book-again{display:block;margin-top:14px;text-align:center;font-size:15px}.reading-edit{margin:4px 0 0;text-align:right;font-size:13px}.reading-align{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;justify-content:flex-end;margin:10px 0 0;font-size:13px}.reading-align-form{display:inline}.reading-align-button{min-height:0;padding:0;border:0;background:none;color:var(--seal);font-size:13px;letter-spacing:0;text-decoration:underline;text-underline-offset:3px}.reading-align-button:hover{background:none;color:var(--ink)}.edit-lang.is-other{padding-top:10px;border-top:1px dashed var(--line)}.edit-form{display:grid;grid-gap:18px;gap:18px}.edit-lang{display:grid;grid-gap:10px;gap:10px}.edit-lang-name{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--foil)}.edit-field{display:grid;grid-gap:4px;gap:4px}.edit-field label{font-size:13px;color:var(--muted)}.edit-field input,.edit-field textarea{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:16px;line-height:1.7;padding:10px 12px;border-radius:0}.edit-field textarea{min-height:260px;resize:vertical}.edit-field input:focus,.edit-field textarea:focus{outline:none;border-color:var(--foil)}.edit-actions{display:flex;align-items:center;gap:18px}.reading-saved{color:var(--muted);font-size:13px}.finish-note{margin:0;font-size:14px}.finish-block{width:100%;margin:8px 0 14px;text-align:left}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.first-page-closed{display:grid;grid-gap:16px;gap:16px}.reading-end{align-content:center;justify-items:center;min-height:50vh;text-align:center}.reading-end-mark{font-size:28px;letter-spacing:.3em;text-indent:.3em}.book-cover-link{position:relative;display:inline-block;border-radius:2px 6px 6px 2px;perspective:900px;text-decoration:none}.book-cover-link .book-cover{box-shadow:1px 1px 0 #efe6d6,2px 2px 0 #e6dccb,3px 3px 0 #efe6d6,4px 4px 0 #e2d7c4,5px 5px 0 #efe6d6,6px 6px 0 #ddd1bb,8px 10px 18px rgb(0 0 0/22%);transform-origin:left center;transition:transform .25s ease,box-shadow .25s ease}.book-cover-link:focus-visible .book-cover,.book-cover-link:hover .book-cover{transform:rotateY(-14deg);box-shadow:1px 1px 0 #efe6d6,2px 2px 0 #e6dccb,3px 3px 0 #efe6d6,4px 4px 0 #e2d7c4,5px 5px 0 #efe6d6,6px 6px 0 #ddd1bb,16px 14px 26px rgb(0 0 0/26%)}.book-cover-link:focus-visible{outline:2px solid var(--foil);outline-offset:10px}@media (prefers-reduced-motion:reduce){.book-cover-link .book-cover{transition:none}.book-cover-link:hover .book-cover{transform:none}}.reading-staff-note{padding:10px 14px;border:1px dashed var(--line);font-size:13px;color:var(--muted)}.reading-contents .book-preview-flag,.reading-kicker .book-preview-flag{margin-left:10px;letter-spacing:0;text-transform:none}.book-chapter-status{display:inline-flex;margin-left:10px}.pipeline-panel .admin-table-intro{align-items:center}.pipeline-pulse{flex:none;width:12px;height:12px;border-radius:50%;background:var(--muted)}.pipeline-pulse.is-alive{background:#2f7a3d;box-shadow:0 0 0 4px rgba(47,122,61,.15)}.pipeline-pulse.is-down{background:#a83a2c;box-shadow:0 0 0 4px rgba(168,58,44,.15)}.pipeline-commands{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.pipeline-command-buttons{display:flex;flex-wrap:wrap;gap:8px}.pipeline-update{align-items:center;margin:8px 0 16px}.pipeline-command-list{margin:0;padding-left:18px;font-size:13px}.pipeline-job.is-failed .pipeline-status{color:#a83a2c}.pipeline-job.is-running .pipeline-status,.pipeline-job.is-waiting .pipeline-status{color:#2f7a3d}.pipeline-recent{max-height:260px;overflow-y:auto}.pipeline-log-link{margin-left:14px;font-size:13px;font-weight:400;color:var(--muted)}.pipeline-error-more,.pipeline-log-link{text-decoration:underline;text-underline-offset:3px}.pipeline-error-more{display:block;margin-top:4px;color:var(--seal)}.pipeline-error{max-width:360px;font-size:12px;color:var(--muted);white-space:pre-wrap;word-break:break-word}.runs-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.runs-overview>div{display:grid;grid-gap:5px;gap:5px;padding:18px 20px;border-right:1px solid var(--line)}.runs-overview>div:last-child{border-right:0}.runs-overview span{color:var(--muted);font-size:12px}.runs-overview strong{font-size:24px;font-weight:500}.runs-notice{margin:0 0 18px;padding:13px 16px;border:1px solid #d8b56a;border-radius:6px;background:#fff8e8;color:#6f5120;font-size:14px}.runs-list{display:grid;grid-gap:22px;gap:22px}.runs-history-note{margin:-5px 0 18px;color:var(--muted);font-size:12px}.runs-history-note a{color:inherit;text-underline-offset:3px}.run-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 8px 28px rgb(44 35 28/5%)}.run-card.is-running{border-color:#91b89a}.run-card.is-slow{border-color:#d8a735}.run-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}.run-card-head h2{margin:3px 0 2px;font-size:26px;font-weight:500}.run-card-head h2 a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}.run-card-head p{margin:0;color:var(--muted);font-size:13px}.run-card-kicker{color:#2f7a3d;font-size:10px;font-weight:700;letter-spacing:.16em}.run-card:not(.is-running) .run-card-kicker{color:var(--muted)}.run-state-pill,.run-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#ece8e0;color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap}.run-card.is-running .run-status{background:#e3f1e6;color:#245e30}.run-card.is-slow .run-status{background:#fff1cf;color:#755619}.run-card.is-failed .run-status{background:#f7e5e2;color:#8f2f24}.run-card.is-waiting .run-status{background:#fff1cf;color:#755619}.run-now{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);grid-gap:12px 28px;gap:12px 28px;padding:20px 24px 16px}.run-now strong{font-size:18px;font-weight:500}.run-now span{color:var(--muted);font-size:14px;line-height:1.5}.run-progress{height:8px;margin:0 24px;overflow:hidden;border-radius:999px;background:#e7e1d8}.run-progress span{display:block;height:100%;border-radius:inherit;background:var(--seal);transition:width .25s ease}.run-card.is-running .run-progress span{background:#2f7a3d}.run-counts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;margin:15px 24px 0;border:1px solid var(--line);border-radius:5px;background:var(--line);overflow:hidden}.run-counts>div{display:grid;grid-gap:2px;gap:2px;padding:12px 14px;background:var(--panel)}.run-counts strong{font-size:20px;font-weight:500}.run-counts span{color:var(--muted);font-size:12px}.run-stages{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin:18px 24px 22px;padding:0;list-style:none}.run-stages li{padding-top:9px;border-top:3px solid #ddd7ce;color:var(--muted);font-size:12px}.run-stages li.is-done{border-color:#2f7a3d;color:var(--ink)}.run-stages li.is-running{border-color:var(--foil);color:var(--ink);font-weight:600}.run-stages li.is-attention{border-color:#a83a2c;color:#8f2f24}.run-asr{margin:-4px 24px 22px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.run-asr-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid var(--line)}.run-asr-head strong{font-size:14px;font-weight:600}.run-asr-head span{color:var(--muted);font-size:12px}.run-asr-engines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.run-asr-engine{min-width:0;padding:12px 14px 14px;border-right:1px solid var(--line)}.run-asr-engine:last-child{border-right:0}.run-asr-engine>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.run-asr-engine strong{font-size:13px;font-weight:600}.run-asr-engine p,.run-asr-engine>div:first-child span{color:var(--muted);font-size:11px}.run-asr-engine p{margin:5px 0 9px}.run-asr-engine.is-running>div:first-child span{color:#2f7a3d;font-weight:600}.run-asr-engine.is-done>div:first-child span{color:var(--ink)}.run-asr-bar{height:5px;overflow:hidden;border-radius:999px;background:#e7e1d8}.run-asr-bar span{display:block;height:100%;border-radius:inherit;background:#aaa298}.run-asr-engine.is-done .run-asr-bar span,.run-asr-engine.is-running .run-asr-bar span{background:#2f7a3d}.run-error{margin:0 24px 22px;padding:12px 14px;border:1px solid #e3c2bd;border-radius:5px;background:#fff5f3}.run-error summary{cursor:pointer;color:#8f2f24;font-size:13px;font-weight:600}.run-error pre{overflow:auto;margin:12px 0 0;color:#5e332d;font:12px/1.55 ui-monospace,monospace;white-space:pre-wrap}.run-chapter-error{display:grid;grid-gap:12px;gap:12px}.run-chapter-error-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.run-chapter-error-head span{color:#8f2f24;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.run-chapter-error-head h3{margin:3px 0 0;color:var(--ink);font-size:19px;font-weight:500}.run-chapter-error p{display:grid;grid-gap:3px;gap:3px;margin:0;color:#5e332d;font-size:13px;line-height:1.5}.run-chapter-error p strong{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.run-chapter-link{flex:none;padding:7px 11px;border:1px solid var(--seal);border-radius:3px;color:var(--seal);font-size:12px;font-weight:600;text-decoration:none}.run-chapter-link:hover{background:var(--seal);color:var(--panel)}.run-chapter-error>details{padding-top:8px;border-top:1px solid #e3c2bd}.run-chapter-error>details summary{cursor:pointer;color:#8f2f24;font-size:12px}.run-saved-head{display:flex;justify-content:space-between;gap:20px;padding:20px 24px 14px;border-top:1px solid var(--line)}.run-saved-head h3{margin:0 0 3px;font-size:18px;font-weight:500}.run-saved-head p,.run-saved-head>span{margin:0;color:var(--muted);font-size:12px}.run-saved-head>span{white-space:nowrap}.run-drafts{display:grid;grid-gap:10px;gap:10px;padding:0 24px 24px}.run-draft{padding:16px 18px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.run-draft.is-needs_review{border-left:4px solid #d8a735}.run-draft.is-validated{border-left:4px solid #4d8c59}.run-draft-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.run-draft-number{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.run-draft h4{margin:3px 0 0;font-size:17px;font-weight:500}.run-draft.is-needs_review .run-state-pill{background:#fff1cf;color:#755619}.run-draft.is-validated .run-state-pill{background:#e3f1e6;color:#245e30}.run-draft-meta{margin:9px 0 0;color:var(--muted);font-size:12px}.run-findings{display:grid;grid-gap:5px;gap:5px;margin:12px 0 0;padding:11px 14px 11px 30px;border-radius:4px;background:#fff8e8;color:#6f5120;font-size:13px}.run-draft-reading{margin-top:13px;border-top:1px solid var(--line);padding-top:11px}.run-draft-reading summary{cursor:pointer;color:var(--seal);font-size:13px;font-weight:600}.run-draft-editions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px;gap:22px;margin-top:15px}.run-draft-editions section{min-width:0;padding:14px;border:1px solid var(--line);background:var(--panel)}.run-draft-editions h5{margin:0 0 10px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.run-draft-editions p{margin:0 0 10px;font-size:14px;line-height:1.65}.run-draft-editions p:last-child{margin-bottom:0}.run-empty{margin:0;padding:18px 24px 24px;color:var(--muted);font-size:14px}@media (max-width:760px){.runs-overview{grid-template-columns:repeat(2,1fr)}.runs-overview>div:nth-child(2){border-right:0}.runs-overview>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.run-card-head,.run-chapter-error-head,.run-draft-head{align-items:stretch;flex-direction:column}.run-state-pill,.run-status{align-self:flex-start}.run-now{grid-template-columns:1fr}.run-stages{grid-template-columns:repeat(2,1fr)}.run-asr-engines{grid-template-columns:repeat(2,minmax(0,1fr))}.run-asr-engine:nth-child(2){border-right:0}.run-asr-engine:nth-child(-n+2){border-bottom:1px solid var(--line)}.run-draft-editions{grid-template-columns:1fr}}.book-confirm{margin:20px 0 0;border-top:1px solid var(--line);padding-top:14px;display:grid;grid-gap:14px;gap:14px}.book-confirm-item{display:grid;grid-gap:8px;gap:8px;border-left:2px solid var(--foil);padding-left:14px}.book-confirm-item.is-answered,.book-confirm-item.is-dismissed{border-left-color:var(--line);color:var(--muted)}.book-confirm-head{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:15px}.book-confirm-key,.book-confirm-kind{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--foil)}.book-confirm-body{margin:0;font-size:14px;line-height:1.7;white-space:pre-line}.book-confirm-ask{margin:0;font-size:15px;font-weight:600}.book-confirm-answer,.book-confirm-form{display:grid;grid-gap:10px;gap:10px}.book-confirm-answer{grid-template-columns:1fr auto;align-items:center;font-size:14px}.book-confirm-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.book-confirm-option,.book-confirm-sentence{font-size:15px;color:var(--ink)}.book-confirm-option{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:40px;padding:6px 12px}.book-confirm-labs{font-size:11px;letter-spacing:1px;color:var(--muted)}.book-confirm-typed{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.book-confirm-typed input{flex:1 1 220px;min-height:36px;border:1px solid var(--line);border-radius:2px;padding:6px 10px;background:var(--paper);font-size:14px}.book-confirm-file{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.book-confirm-file summary{cursor:pointer;color:var(--muted);font-size:14px}.book-confirm-file pre{margin:14px 0 0;max-height:70vh;overflow:auto;white-space:pre-wrap;font-size:13px;line-height:1.6}.book-preview-sources{margin:28px 0 0;border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:12px}.book-preview-source-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.book-preview-source{display:flex;align-items:center;gap:12px;font-size:13px}.book-preview-source-text{display:flex;flex-direction:column;gap:2px}.book-preview-source-q{color:var(--ink)}.book-preview-source-note{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.book-preview-unsaid{border-left:2px solid var(--line);padding:4px 0 4px 14px;display:flex;flex-direction:column;gap:4px}.book-preview-unsaid p{margin:0;font-style:italic}.book-preview-unsaid-en{font-size:13px;color:var(--muted)}.book-preview-unsaid-judge{display:flex;gap:16px;margin-top:4px}.book-preview-unsaid.is-kept{border-left-color:#2f7a3d}