:root{--bg-base: #FAF8F4;--bg-card: #FFFFFF;--text-primary: #3D3A36;--text-secondary: #8A857D;--accent: #E8A87C;--accent-soft: #F7E3D3;--border: #EDE9E3;--success: #9CB380;--radius-card: 14px;--radius-input: 10px;--shadow-card: 0 2px 12px rgba(61, 58, 54, .06);--font-sans: ui-sans-serif, system-ui, "PingFang SC", "Hiragino Sans", "Apple SD Gothic Neo", sans-serif;--font-serif: Georgia, "Songti SC", "Noto Serif SC", "Noto Serif JP", serif;--transition-soft: .18s cubic-bezier(.4, 0, .2, 1)}[lang=en]{--font-sans: Inter, system-ui, sans-serif}[lang=ja]{--font-sans: "Hiragino Sans", "Noto Sans JP", sans-serif;--font-serif: Georgia, "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif}[lang=ko]{--font-sans: "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-serif: Georgia, "Nanum Myeongjo", "Noto Serif KR", serif}:root{--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--container-max: 672px;--tap-target: 44px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.7;color:var(--text-primary);background:var(--bg-base)}@media(prefers-color-scheme:dark){body{background:#f2eee7}}button,a,select,input,[role=button],summary{min-height:var(--tap-target)}a{color:var(--accent)}.container{max-width:var(--container-max);margin-inline:auto;padding:40px 16px 32px}@media(min-width:768px){.container{padding:56px 24px}}.site-header{display:flex;flex-direction:column;gap:0}.title{margin:0;font-size:1.375rem;line-height:1.4;letter-spacing:.09em}.subtitle{margin:8px 0 0;font-size:.8125rem;line-height:1.6;color:var(--text-secondary)}.ask{margin:36px 0 16px;font-family:var(--font-serif);font-size:1.25rem;line-height:1.7}@media(min-width:768px){.ask{font-size:1.5rem}}.ask-line{padding:0 2px;background:linear-gradient(to top,var(--accent) 22%,var(--accent-soft) 22% 52%,transparent 52%)}.loading{margin-top:24px;font-size:.9375rem;color:var(--text-secondary)}.greeting{margin:28px 0 10px;font-size:.8125rem;color:var(--text-secondary)}.card{margin-top:20px;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card)}.anon-hint{margin:0 0 12px;font-size:.875rem;line-height:1.8;color:var(--text-secondary)}.card .btn{margin-top:4px}.btn{min-height:var(--tap-target);font-family:inherit;font-size:1rem;padding:10px 18px;border:none;border-radius:var(--radius-input);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;transition:opacity var(--transition-soft)}.btn:hover:not(:disabled){opacity:.88}.btn:disabled{opacity:.45;cursor:default}.input-card{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;margin-top:8px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card)}.input-card.failed{border:1px dashed var(--text-secondary)}@media(min-width:768px){.input-card{box-shadow:var(--shadow-card)}}.input-line{flex:1 1 240px;min-width:0;min-height:var(--tap-target);font-family:inherit;font-size:1rem;line-height:1.7;color:var(--text-primary);background:transparent;border:none;outline:none;padding:6px 2px}.input-line::placeholder{color:var(--text-secondary);opacity:.8}.saved-toast{margin:10px 2px 0;font-size:.8125rem;color:var(--success);animation:ink-in var(--transition-soft)}.note-error{margin:10px 2px 0;font-size:.8125rem;color:var(--text-secondary)}.err-detail{opacity:.75}.section{margin-top:44px}.section-title{margin:0 0 4px;font-size:.8125rem;color:var(--text-secondary)}.entry{padding:14px 2px;border-bottom:1px solid var(--border);animation:ink-in var(--transition-soft)}.entry-text{margin:0;font-size:1rem;line-height:1.7}.entry-time{margin:6px 0 0;font-size:.8125rem;color:var(--text-secondary)}.empty{margin:18px 2px;padding:10px 0;font-size:.875rem;line-height:1.8;color:var(--text-secondary)}.empty-invitation{font-family:var(--font-serif);font-size:1.0625rem}.site-footer{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;margin-top:56px}.footnote{margin:0;max-width:46ch;font-size:.75rem;line-height:1.8;color:var(--text-secondary);opacity:.85}.lang-switch select{font-family:inherit;font-size:.875rem;min-height:var(--tap-target);padding:0 10px;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-input)}@keyframes ink-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sync-box{margin-top:1.5rem;padding:.9rem 1.1rem;border:1px solid rgba(128,128,128,.25);border-radius:12px}.sync-title{margin:0 0 .35rem;font-size:.85rem;letter-spacing:.04em;opacity:.7}.sync-note{margin:0;font-size:.92rem;line-height:1.6}.sync-time{opacity:.65}.sync-btn{margin-top:.55rem;padding:.45rem 1.05rem;border-radius:10px;border:1px solid currentColor;background:none;font-size:.9rem;cursor:pointer}.page-nav{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.8125rem}.page-nav a{color:var(--text-secondary);text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:2px;transition:color var(--transition-soft)}.page-nav a:hover{color:var(--accent)}.btn-quiet{padding:8px 14px;font-size:.875rem;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);display:inline-block;text-decoration:none;line-height:1.4}.btn-quiet:hover:not(:disabled){border-color:var(--accent);color:var(--accent);opacity:1}.empty-invitation-box{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin-top:16px}.timeline-month{margin-top:34px}.timeline-month-title{margin:0 0 2px;font-family:var(--font-serif);font-size:1rem;letter-spacing:.06em;color:var(--text-secondary);padding-bottom:8px;border-bottom:1px solid var(--border)}.studio-gate{margin-top:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.studio-create{margin-top:16px;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:12px;align-items:flex-start}.studio-create-title{margin:0;font-family:var(--font-serif);font-size:1.1rem}.studio-bookbar{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.studio-steps{margin-top:8px;display:flex;flex-direction:column;gap:18px}.studio-step{padding:18px 18px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card)}.studio-step.locked{opacity:.55}.studio-step-title{margin:0 0 10px;font-size:.95rem;letter-spacing:.05em}.studio-locked-note{margin:0 0 8px;font-size:.8125rem;color:var(--text-secondary)}.studio-actions{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;margin:8px 0}.studio-hint{margin:6px 0;font-size:.875rem;line-height:1.7;color:var(--text-secondary)}.input-narrow{flex:0 1 200px;min-height:var(--tap-target);padding:6px 10px;font-family:inherit;font-size:.9rem;color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-input)}.version-picker{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem}.version-label{color:var(--text-secondary)}.version-picker select{min-height:var(--tap-target);padding:0 10px;font-family:inherit;font-size:.875rem;color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-input)}.version-badge{display:inline-block;margin-left:8px;padding:1px 8px;font-size:.75rem;border-radius:999px;background:var(--accent-soft);color:var(--text-primary)}.discover-report{margin-top:6px;display:flex;flex-direction:column;gap:8px}.report-line{margin:0;font-size:.9rem;line-height:1.8;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.report-label{flex:0 0 auto;font-size:.8125rem;color:var(--text-secondary);margin-right:4px}.tag-chip{display:inline-block;padding:2px 10px;font-size:.8125rem;border-radius:999px;background:var(--accent-soft)}.tag-soft{background:var(--bg-base);border:1px solid var(--border)}.arc-line span:last-child{color:var(--text-secondary)}.outline-box{margin-top:6px}.quota-table{margin:10px 0 12px;display:flex;flex-direction:column;gap:2px}.quota-row{display:grid;grid-template-columns:4.5em minmax(0,1fr) minmax(0,1.2fr) 5.5em;gap:8px;align-items:center;padding:6px 4px;border-bottom:1px solid var(--border);font-size:.875rem}.quota-head{font-size:.75rem;color:var(--text-secondary);border-bottom:1px solid var(--text-secondary)}.quota-idx{color:var(--text-secondary)}.quota-intent{color:var(--text-secondary);font-size:.8125rem}.quota-n{text-align:right;color:var(--text-secondary);white-space:nowrap}.title-edit{width:100%;min-height:40px;padding:4px 8px;font-family:inherit;font-size:.9rem;color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-input)}.title-edit:focus{outline:none;border-color:var(--accent)}.chapter-list{display:flex;flex-direction:column;gap:14px}.chapter-row-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.chapter-row-title{margin:0;font-size:.95rem;flex:1 1 auto}.chapter-row-meta{margin:0;font-size:.8125rem;color:var(--text-secondary)}.chapter-preview{margin-top:6px}.chapter-preview summary{cursor:pointer;font-size:.8125rem;color:var(--text-secondary);min-height:40px;display:flex;align-items:center}.citations-line{margin:6px 0 0;font-size:.75rem;color:var(--text-secondary)}.polish-box{margin-top:6px}.polish-label{margin:10px 0 4px;font-size:.8125rem;color:var(--text-secondary)}.polish-text{padding:14px 16px;background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-input);max-height:420px;overflow-y:auto}.proof-box{display:flex;flex-direction:column;gap:18px}.proof-chapter{display:flex;flex-direction:column;gap:4px}.proof-para{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-input);margin-top:8px}.proof-para.deleted{background:var(--bg-base);border-style:dashed}.proof-para.replaced{border-color:var(--accent-soft)}.proof-state{margin:4px 0;font-size:.8125rem;color:var(--text-secondary)}.struck{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--text-secondary)}.muted{color:var(--text-secondary)}.replaced-text{border-left:3px solid var(--accent-soft);padding-left:10px}.proof-edit-form{margin-top:8px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.proof-textarea{width:100%;font-family:inherit;font-size:.95rem;line-height:1.7;color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-input);padding:10px 12px;resize:vertical}.proof-textarea:focus{outline:none;border-color:var(--accent)}.book-paper{margin-top:24px;padding:40px 26px 34px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.book-titlepage{text-align:center;padding:36px 0 44px}.book-title{margin:0;font-family:var(--font-serif);font-size:1.6rem;letter-spacing:.08em;line-height:1.5}.book-subtitle{margin:16px 0 0;font-size:.875rem;color:var(--text-secondary);line-height:1.8}.book-author{margin:26px 0 0;font-family:var(--font-serif);font-size:1rem}.book-partial-note{margin:22px auto 0;max-width:34ch;font-size:.8125rem;line-height:1.8;color:var(--text-secondary)}.book-copyright{border-top:1px solid var(--border);padding:22px 4px 18px;display:flex;flex-wrap:wrap;gap:8px 34px;align-items:center;justify-content:space-between}.book-copyright-line{margin:0;max-width:40ch;font-size:.75rem;line-height:1.8;color:var(--text-secondary)}.book-qr{display:flex;flex-direction:column;align-items:center;gap:8px}.book-qr-box{width:88px;height:88px;border:1px dashed var(--text-secondary);border-radius:8px;background:linear-gradient(135deg,var(--text-primary) 25%,transparent 25%) 0 0 / 16px 16px,linear-gradient(225deg,var(--text-primary) 25%,transparent 25%) 0 0 / 16px 16px,var(--bg-base);opacity:.75}.book-qr-caption{margin:0;font-size:.6875rem;color:var(--text-secondary)}.book-chapter{margin-top:40px}.book-chapter-title{margin:0 0 14px;font-family:var(--font-serif);font-size:1.2rem;letter-spacing:.06em;text-align:center}.book-chapter-no{display:block;margin-bottom:6px;font-family:var(--font-sans);font-size:.75rem;letter-spacing:.2em;color:var(--text-secondary)}.book-para{margin:0 0 1em;font-size:.975rem;line-height:1.9;text-align:justify}.book-no-chapters{text-align:center;padding:20px 0}
