:root{--paper:#f7f3ea;--surface:#fbf8f1;--ink:#221f1a;--muted:#97917f;--pine:#3c4a36;--on-pine:#f7f3ea;--vermilion:#a23b2a;--vermilion-wash:#f6e1db;--pine-wash:#e4e8dc;--hairline:#e3dccb;--chip:#ede7d8;--highlight:#f3e2a6;--serif:"EB Garamond", Georgia, "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--jp:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--mono:ui-monospace, "SFMono-Regular", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0}body{font-family:var(--serif);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.5}button,input,textarea{font:inherit;color:inherit}a{color:inherit}.screen{max-width:760px;min-height:100vh;margin:0 auto;padding:16px 20px 32px}.screen.with-bottombar{padding-bottom:160px}.topbar{justify-content:space-between;align-items:center;min-height:28px;margin-bottom:8px;display:flex}.kicker,.label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:11px}.label{margin:20px 0 8px;display:block}.label.red,.red{color:var(--vermilion)}.link{text-decoration:none}.link:hover{color:var(--ink)}.ja{font-family:var(--jp);color:var(--muted);letter-spacing:0;text-transform:none;margin-left:4px;font-size:.8em}.muted{color:var(--muted)}.small{font-size:14px}.italic{font-style:italic}.grow{flex:1}.grow-right{margin-left:auto}.title h1{margin:8px 0 0;font-size:34px;font-weight:500;line-height:1.15}.subtitle{font-family:var(--jp);color:var(--muted);margin:4px 0 16px;font-size:14px}.notice{background:var(--surface);border:1px solid var(--hairline);color:var(--muted);border-radius:8px;padding:10px 14px;font-size:14px}.notice a{color:var(--pine)}.empty{text-align:center;color:var(--muted);padding:48px 0}.empty .button{margin-top:16px}.button{border:1px solid var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:14px 18px;font-size:17px;text-decoration:none;display:inline-flex}.button.primary{background:var(--ink);color:var(--surface)}.button.primary .ja{color:#b9b19c}.button.accept{background:var(--pine);border-color:var(--pine);color:var(--on-pine)}.button.accept .ja{color:#c5ccb9}.button.secondary{background:var(--surface);border-color:var(--hairline)}.button.danger{border-color:var(--vermilion);color:var(--vermilion);background:0 0}.button.wide{width:100%}.button.selected{outline:2px solid var(--ink);outline-offset:2px}.button:disabled{opacity:.45;cursor:default}.text-button{cursor:pointer;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--hairline);text-decoration-color:var(--hairline);background:0 0;border:none;padding:0;font-size:14px}.text-button.red{color:var(--vermilion)}.text-button.center{margin:0 auto 10px;display:block}.text-button.kicker{text-decoration:none}.bottombar{background:linear-gradient(to bottom, #f7f3ea00, var(--paper) 24px);padding:28px 20px calc(16px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.bottombar-inner{gap:10px;max-width:720px;margin:0 auto;display:flex}.stack{width:100%}.conversation-list{margin:0;padding:0;list-style:none}.conversation-row{border-bottom:1px solid var(--hairline);position:relative}.conversation-link{gap:14px;padding:16px 36px 16px 0;text-decoration:none;display:flex}.conversation-body{flex:1;min-width:0}.row-head{justify-content:space-between;gap:8px;display:flex}.name{font-family:var(--jp);font-size:17px}.when{font-family:var(--mono);color:var(--muted);font-size:11px}.note{font-family:var(--jp);color:var(--muted);font-size:12px}.preview{font-family:var(--jp);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:14px;overflow:hidden}.row-tags{align-items:center;gap:10px;margin-top:6px;display:flex}.reply-needed{color:var(--vermilion);font-size:13px;font-style:italic}.row-menu-button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:20px;position:absolute;top:40px;right:0}.row-menu{z-index:5;background:var(--surface);border:1px solid var(--hairline);border-radius:8px;flex-direction:column;min-width:190px;display:flex;position:absolute;top:72px;right:0;box-shadow:0 8px 24px #221f1a1f}.row-menu button{text-align:left;cursor:pointer;background:0 0;border:none;padding:12px 16px}.row-menu button+button{border-top:1px solid var(--hairline)}.row-menu .danger{color:var(--vermilion)}.fab{background:var(--ink);width:56px;height:56px;color:var(--surface);border-radius:50%;justify-content:center;align-items:center;font-size:28px;text-decoration:none;display:flex;position:fixed;bottom:28px;right:max(20px,50vw - 260px);box-shadow:0 6px 18px #221f1a40}.avatar{background:var(--chip);width:40px;height:40px;color:var(--ink);font-family:var(--jp);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.avatar.small{width:26px;height:26px;font-size:12px}.chip{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--hairline);background:var(--surface);color:var(--muted);border-radius:4px;padding:3px 8px;font-size:10px;display:inline-block}.chip.red{border-color:var(--vermilion);color:var(--vermilion)}.chip.red.solid{background:var(--vermilion);color:var(--surface)}.person{align-items:center;gap:14px;margin:8px 0 16px;display:flex}.person-name{font-family:var(--jp);margin:0;font-size:22px;font-weight:500}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:16px 18px}.card-head{font-family:var(--jp);border-bottom:1px solid var(--hairline);align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;font-size:14px;display:flex}.card-head .when{margin-left:auto}.key-facts-head{cursor:pointer;background:0 0;border:none;justify-content:space-between;width:100%;padding:0;display:flex}.key-facts-head .label{margin:0}.key-facts dl{margin:10px 0 0}.fact{border-top:1px solid var(--hairline);grid-template-columns:120px 1fr;gap:12px;padding:10px 0;display:grid}.fact dt{margin:0}.fact dd{font-family:var(--jp);margin:0;font-size:15px}.preference{background:var(--vermilion-wash);border-left:3px solid var(--vermilion);border-radius:6px;margin:20px 0 0;padding:10px 14px;font-weight:500}.preference .label{color:var(--vermilion);margin:0 0 4px}.preference .mentions-toggle{color:var(--vermilion);background:#fff9;font-weight:400}.fact-note{color:var(--muted);margin-top:4px;font-size:13px;display:block}.fact-group{border-top:1px solid var(--hairline);padding:6px 0 0}.fact-group .label{margin:10px 0 0}.fact-group+.fact{border-top:none}.mentioned+.mentioned{margin-top:10px}.chevron{border-bottom:1.5px solid;border-right:1.5px solid;flex:none;width:7px;height:7px;transition:transform .15s;display:inline-block;transform:translateY(-2px)rotate(45deg)}.chevron.up{transform:translateY(1px)rotate(-135deg)}.mentions-toggle{background:var(--pine-wash);color:var(--pine);font-family:var(--serif);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:7px;margin-top:4px;padding:3px 10px 3px 9px;font-size:13px;display:inline-flex}.mentions-toggle:hover{background:#d8decd}.quotes{border-left:2px solid var(--pine-wash);margin:8px 0 0;padding:0 0 0 12px;list-style:none}.quotes li+li{margin-top:8px}.quote{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:2px 0;display:block}.quote:hover .quote-text{text-decoration:underline;-webkit-text-decoration-color:var(--hairline);text-decoration-color:var(--hairline);text-underline-offset:3px}.quote-text{font-size:14px;display:block}.quote-meta{color:var(--pine);font-size:12px;font-family:var(--serif);display:block}.text-button.developer{color:var(--muted);margin-top:8px}mark.highlight{background:var(--highlight);color:inherit;border-radius:3px;padding:0 1px}.bubble{border-radius:14px;max-width:85%;padding:14px 16px}.bubble.reply{background:var(--pine);color:var(--on-pine);align-self:flex-end}.bubble.reply.big{max-width:100%}.jp{font-family:var(--jp);white-space:pre-wrap;word-break:break-word;margin:0;font-size:16px;line-height:2.2}.jp rt{color:var(--muted);letter-spacing:.02em;font-size:.55em}.bubble.reply rt{color:#b6bfa9}.gloss{color:var(--muted);margin:8px 0 0;font-size:15px;font-style:italic}.form{flex-direction:column;gap:4px;display:flex}.form label,.form-field{display:block}input,textarea{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;width:100%;padding:12px 14px;font-size:16px}textarea{resize:vertical;font-family:var(--jp);line-height:1.9}input:focus,textarea:focus{outline:2px solid var(--pine);outline-offset:1px}textarea.paper{min-height:180px}.detected{align-items:center;gap:12px;margin-top:20px;display:flex}.detected .label{margin:0}.detected .chip{font-family:var(--jp);letter-spacing:0;text-transform:none;color:var(--ink);background:var(--chip);border:none;font-size:13px}.error{border:1px solid var(--vermilion);background:var(--vermilion-wash);border-radius:8px;margin-top:14px;padding:10px 14px}.error p{color:var(--vermilion);margin:0 0 6px}.error-actions{gap:18px;display:flex}.legend{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);align-items:center;gap:16px;margin-bottom:10px;font-size:11px;display:flex}.legend .red{text-transform:none;letter-spacing:0;font-family:var(--serif);font-size:13px}.swatch{vertical-align:middle;width:16px;height:2px;margin-right:4px;display:inline-block}.swatch.was{background:var(--vermilion)}.swatch.use{background:var(--pine)}.diff-text{margin:0;line-height:2.5}.phrase{cursor:pointer;border-radius:2px}.phrase:focus-visible{outline:2px solid var(--pine);outline-offset:2px}.phrase .was{background:var(--vermilion-wash);color:var(--vermilion);text-decoration:line-through;-webkit-text-decoration-color:var(--vermilion);text-decoration-color:var(--vermilion)}.phrase .use{background:var(--pine-wash);border-bottom:2px solid var(--pine)}.phrase.kept .kept-text{border-bottom:1px dashed var(--muted)}.phrase.accepted .use{background:0 0}.phrase .arrow{color:var(--muted);margin:0 2px}.progress{font-family:var(--mono);color:var(--muted);align-items:center;gap:12px;margin-top:16px;font-size:11px;display:flex}.progress-bar{background:var(--hairline);flex:1;height:2px}.progress-bar div{background:var(--pine);height:100%;transition:width .2s}.all-good{text-align:center;padding:36px 18px}.all-good .big{margin:0;font-size:20px}.sheet-backdrop{z-index:20;background:#221f1a59;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:560px;padding:20px 22px calc(22px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;max-height:85vh;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;display:flex}.close{border:1px solid var(--hairline);cursor:pointer;width:30px;height:30px;color:var(--muted);background:0 0;border-radius:50%}.was-use>div{align-items:baseline;gap:16px;margin-top:10px;display:flex}.was-use .label{width:36px;margin:0}.was-use .big{font-size:22px}.was-use .was{color:var(--vermilion);text-decoration:line-through}.was-use .use{border-bottom:2px solid var(--pine)}.why{border-top:1px solid var(--hairline);padding-top:4px}.why .text-button{margin:8px 0 0;text-decoration:none}.sheet-actions{gap:10px;margin-top:16px;display:flex}.done-head{text-align:center;margin:8px 0 12px}.done-head h1{margin:10px 0 0;font-size:30px;font-weight:500}.done-head p{margin:2px 0}.check-badge{background:var(--pine);width:44px;height:44px;color:var(--on-pine);border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.round{margin:0;padding:0;list-style:none}.round li{border-bottom:1px solid var(--hairline);align-items:center;gap:12px;padding:10px 0;display:flex}.round-icon{border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:inline-flex}.round-icon.accepted{background:var(--pine);color:var(--on-pine)}.round-icon.kept{border:1px solid var(--vermilion);color:var(--vermilion)}.settings-section{border-top:1px solid var(--hairline);padding:8px 0 16px}.toggle{cursor:pointer;align-items:center;gap:12px;padding:10px 0;display:flex}.toggle input{width:20px;height:20px;accent-color:var(--pine)}.row-buttons{flex-wrap:wrap;gap:10px;display:flex}@media (width>=700px){.screen{padding-top:32px}}textarea.paper.tall{min-height:320px}.import-summary p{margin:8px 0}.import-list{flex-direction:column;gap:14px;margin:12px 0 0;padding:0;list-style:none;display:flex}.import-item{padding:14px 16px}.import-item textarea{margin:8px 0;font-size:15px}.import-item-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-item-head .label{margin:0}.import-meta{font-family:var(--jp);word-break:break-all;margin:6px 0 0}.segmented{border:1px solid var(--hairline);border-radius:6px;display:inline-flex;overflow:hidden}.segmented button{background:var(--paper);cursor:pointer;font-family:var(--jp);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border:none;max-width:160px;padding:6px 12px;font-size:14px;overflow:hidden}.segmented button+button{border-left:1px solid var(--hairline)}.segmented button.on{background:var(--pine);color:var(--on-pine)}.message-list{border-top:1px solid var(--hairline);margin:0;padding:0;list-style:none}.message-row{border-bottom:1px solid var(--hairline)}.message-head{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:12px 0 2px;display:flex}.message-head .when{margin-left:auto}.message-head .chevron{color:var(--muted);margin:0 4px 0 2px}.message-row.expanded{background:var(--surface);border-radius:8px;margin:0 -12px;padding:0 12px}.message-row.expanded .message-head .chevron{color:var(--ink)}.text-button.collapse{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.message-who{font-family:var(--jp);align-items:center;gap:8px;font-size:15px;display:inline-flex}.message-who .dot{background:var(--hairline);border:1px solid var(--muted);border-radius:50%;width:8px;height:8px}.message-row.mine .message-who .dot{background:var(--pine);border-color:var(--pine)}.message-row.mine .message-who{color:var(--pine)}.message-preview{text-align:left;cursor:pointer;width:100%;font-family:var(--jp);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;margin:0;padding:0 0 12px 16px;font-size:14px;line-height:1.6;display:block;overflow:hidden}.message-body{padding:2px 0 14px 16px}.message-body .jp{font-size:16px}.message-actions{gap:16px;margin-top:4px;display:flex}.message-actions .collapse{margin-left:auto}.message-actions .delete{color:var(--muted)}@media (width>=900px){.screen.wide{max-width:1160px}.screen.wide>.key-facts{margin:4px 0 8px}.compose-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:36px;display:grid}.compose-mine{position:sticky;top:16px}.compose-mine textarea.paper{min-height:420px}.screen.wide .bottombar-inner{justify-content:flex-end;max-width:1120px}.screen.wide .bottombar .button.wide{width:calc(50% - 18px)}}.conversation-side{margin-bottom:4px}@media (width>=1100px){.screen.conversation{max-width:1160px}.screen.conversation .bottombar-inner{max-width:1120px}.conversation-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:36px;display:grid}.conversation-side{grid-area:1/2;margin-top:20px}.conversation-side.sticky{position:sticky;top:16px}.conversation-main{grid-area:1/1}.conversation-side .fact{grid-template-columns:112px 1fr;gap:10px}}.key-facts-bar{background:var(--chip);border:none;border-top:1px solid var(--hairline);width:calc(100% + 36px);font-family:var(--serif);color:var(--ink);cursor:pointer;border-radius:0 0 10px 10px;justify-content:center;align-items:center;gap:8px;margin:12px -18px -16px;padding:9px 0;font-size:14px;display:flex}.key-facts-bar:hover{background:#e6dfcd}.reply-box{position:relative}.reply-box.checking textarea{color:var(--muted);background:var(--paper);cursor:progress}.reply-overlay{pointer-events:all;cursor:progress;background:#f7f3ea8c;border-radius:8px;justify-content:center;align-items:center;gap:10px;font-size:15px;display:flex;position:absolute;inset:0}.spinner{border:2px solid var(--hairline);border-top-color:var(--pine);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.ask{border-top:1px solid var(--hairline);margin-top:12px;padding-top:2px}.ask .label{margin:10px 0 8px}.ask-thread{flex-direction:column;gap:10px;margin:0 0 10px;padding:0;list-style:none;display:flex}.ask-q{font-family:var(--jp);color:var(--pine);margin:0;font-size:15px}.ask-a{border-left:2px solid var(--pine-wash);white-space:pre-wrap;margin:4px 0 0;padding-left:12px;font-size:15px}.ask-form{gap:8px;display:flex}.ask-form input{flex:1;padding:10px 12px;font-size:15px}.ask-form .button{min-width:64px;padding:10px 16px;font-size:15px}.home{flex-direction:column;gap:16px;max-width:640px;padding-top:10vh;display:flex}.home .title h1{font-size:40px}.home p{margin:0}.home-lead{font-size:22px;line-height:1.35}.home>.button{align-self:flex-start}.home .error{color:var(--vermilion)}.home section{border-top:1px solid var(--hairline);margin-top:8px;padding-top:16px}.home section .label{margin-bottom:8px}.home-steps{flex-direction:column;gap:10px;margin:0;padding-left:20px;display:flex}.home-steps strong{font-weight:500}.home-footer{border-top:1px solid var(--hairline);margin-top:16px;padding-top:16px}.home-footer a{color:var(--pine)}.allowance{margin:8px 0 0}.usage-notice{margin:12px 0}.allowance-list{margin:4px 0 12px;padding-left:18px}.allowance-list li{margin:2px 0}.card.safety{margin:12px 0}.card.safety p{margin:0 0 10px}.card.safety .big{font-size:20px}.backup-line{margin-top:16px}.app-footer{border-top:1px solid var(--hairline);margin-top:32px;padding-top:12px}.app-footer p{margin:0 0 4px}.app-footer a{color:var(--pine)}.report-toggle{color:var(--muted);margin-top:14px;display:block}.report{border-top:1px solid var(--hairline);flex-direction:column;gap:8px;margin-top:12px;display:flex}.report .label{margin:10px 0 0}.report fieldset{border:none;flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.report legend{margin-bottom:4px;padding:0}.report>input{padding:10px 12px;font-size:15px}.report p{margin:0}.legal{max-width:640px}.legal h1{margin:8px 0 4px;font-size:34px;font-weight:500;line-height:1.15}.legal h2{margin:28px 0 8px;font-size:22px;font-weight:500}.legal p,.legal li{font-size:16px}.legal a{color:var(--pine)}
