:root{color-scheme:light;--paper:#f7f3ea;--surface:#fffdf8;--secondary:#ede7da;--ink:#1a1a1a;--muted:#6b6358;--subtle:#9a9083;--line:#d8cfbf;--red:#d8232a;--navy:#1f3a52;--orange:#e0781e;font-family:'Helvetica Neue','PingFang SC','Hiragino Sans GB',Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);height:100dvh;overflow:hidden}button,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}textarea::placeholder{color:var(--subtle)}[hidden]{display:none!important}button,textarea{outline-offset:4px}button:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--red)}button{transition:background .18s,color .18s,transform .18s}button:active:not(:disabled){transform:translateY(1px)}.skip-link{position:fixed;left:10px;top:-80px;z-index:10;padding:10px;background:var(--ink);color:var(--paper)}.skip-link:focus{top:10px}
.app-shell{height:100dvh;display:flex;flex-direction:column;max-width:1100px;margin:auto;background:var(--paper)}.accent-strip{flex:none;height:4px;background:var(--red);margin-top:env(safe-area-inset-top)}.app-header{flex:none;height:56px;display:flex;align-items:center;gap:10px;padding:0 16px 0 20px;border-bottom:1.5px solid var(--ink)}.logo{width:30px;height:30px;flex:none;border-radius:6px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font:700 18px Georgia,'Songti SC',serif}.brand{flex:1;min-width:0;line-height:1.2}.brand strong{display:block;font-size:15px;font-weight:800}.brand>span{display:block;font-size:11px;color:var(--muted)}.mode-label{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.mode-label>span{font-size:11px;font-weight:800;border:1.5px solid var(--ink);border-radius:10px;padding:2px 7px}.mode-label small{font-size:10px;color:var(--muted);margin-top:2px}.pill{min-height:44px;padding:0 12px;border:1.5px solid var(--ink);border-radius:22px;background:transparent;font-size:12.5px;font-weight:700;white-space:nowrap}.pill:hover{background:var(--secondary)}.screen{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.compose-inner{padding:22px 22px 28px;margin:auto;max-width:760px}.kicker{font-size:10.5px;font-weight:800;letter-spacing:2.5px;color:var(--red);margin:0}.compose-inner h1{font:700 30px/1.2 Georgia,'Songti SC',serif;margin:8px 0 0;letter-spacing:-.015em}.intro{font-size:14px;line-height:1.6;color:var(--muted);margin:10px 0 0;text-wrap:pretty}.field-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:24px;padding-bottom:8px;border-bottom:1.5px solid var(--ink)}.field-title label{font-size:14px;font-weight:800}.required{font-size:11px;color:var(--red)}.field-title>span,.decision-help>span{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}textarea{width:100%;display:block;border:1.5px solid var(--ink);border-radius:10px;background:var(--surface);padding:12px 14px;font-size:14.5px;line-height:1.6;color:var(--ink);resize:vertical}#question{height:210px;min-height:150px;margin-top:10px}#decision{height:110px;min-height:80px;margin-top:10px}.help{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.5}.decision-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:48px;margin-top:14px;padding:0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.decision-toggle>span:first-child{font-size:14px;font-weight:800}.decision-toggle small{font-size:11px;font-weight:700;color:var(--muted)}#decisionToggleLabel{font-size:13px;font-weight:700;color:var(--red)}.decision-help{display:flex;gap:12px;justify-content:space-between;align-items:baseline}.decision-help>span{margin-top:8px}.section-title{font:700 18px/1.4 Georgia,'Songti SC',serif;margin:28px 0 0;padding-bottom:8px;border-bottom:1.5px solid var(--ink)}.example{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:7px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font-size:14.5px;font-weight:600}.example>span:last-child{font-weight:700;color:var(--red)}.example:hover{color:var(--red)}.howto ol{list-style:none;padding:0;margin:0}.howto li{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.55}.howto li>span{flex:none;font:700 15px Georgia,serif;color:var(--red)}.info-note{display:flex;gap:10px;margin-top:20px;padding:12px 14px;background:var(--secondary);border-radius:10px;font-size:12.5px;line-height:1.55}.info-note>span{flex:none;width:18px;height:18px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:800 11px Georgia,serif}.info-note p{margin:0}.service-status{font-size:11px;color:var(--muted);margin:12px 0 0}.service-status.ready{color:var(--navy)}.compose-actions{flex:none;border-top:1.5px solid var(--ink);padding:10px 20px max(18px,env(safe-area-inset-bottom));background:var(--paper)}.compose-actions>div{max-width:716px;margin:auto}.compose-actions p{font-size:11px;color:var(--muted);text-align:center;margin:0 0 8px}.primary-button{min-height:52px;border:0;border-radius:10px;background:var(--ink);color:var(--paper);font-size:16px;font-weight:800;letter-spacing:1px;padding:10px 20px}.compose-actions .primary-button{width:100%}.primary-button:hover:not(:disabled){background:#35312d}.primary-button:disabled{background:#b3aa9c}.error-note{padding:12px 14px;border-left:3px solid var(--red);background:var(--secondary);border-radius:0 8px 8px 0;color:#7c2c27;font-size:13px;line-height:1.6;margin:16px 0 0}.error-note p{margin:0}.generation-inner{padding:28px 22px;max-width:760px;margin:auto}.generation-inner h1{font:700 28px/1.35 Georgia,'Songti SC',serif;margin:8px 0 20px}.waiting-bar{height:4px;background:var(--secondary);overflow:hidden;position:relative}.waiting-bar::after{content:'';display:block;position:absolute;inset:0;width:35%;background:var(--red);animation:waiting 1.7s ease-in-out infinite}.waiting-label{font-size:13px;color:var(--muted);margin:13px 0 26px}.generation-caption{font-size:11px;color:var(--muted);margin:0 0 6px}.output-list{list-style:none;margin:0;padding:0}.output-list li{display:flex;align-items:center;gap:12px;min-height:48px;border-bottom:1px solid var(--line);font-size:14px}.output-list span{font:700 13px Georgia,serif;color:var(--subtle)}.generation-question{margin:24px 0 0;padding:14px;border:1.5px solid var(--line);border-radius:10px;font-size:13px;color:var(--muted);line-height:1.6;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.error-actions{display:flex;gap:12px;align-items:center;margin-top:14px}.error-actions .primary-button{min-height:44px;font-size:13px;letter-spacing:0}.result-intro{padding:20px 22px 6px;max-width:864px;margin:auto}.result-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px}.result-intro h1{font:700 26px/1.35 Georgia,'Songti SC',serif;margin:8px 0 0;letter-spacing:-.02em;outline:none}.question-summary{width:100%;display:block;margin:14px 0 0;padding:12px 14px;border:0;border-radius:10px;background:var(--secondary);text-align:left}.question-summary>span{font-size:11px;font-weight:800;color:var(--muted)}.question-summary p{font-size:13px;line-height:1.6;white-space:pre-wrap;margin:4px 0 0}.question-summary .clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.section-nav{position:sticky;top:0;z-index:2;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 22px;background:var(--paper);border-bottom:1.5px solid var(--ink)}.section-nav button{min-height:44px;flex:none;padding:0 12px;border-radius:22px;border:1.5px solid var(--ink);background:transparent;font-size:12.5px;font-weight:700}.section-nav button[aria-current=true]{background:var(--ink);color:var(--paper)}.result-content{padding:0 22px 20px;max-width:864px;margin:auto}.analysis-section{padding-top:26px;scroll-margin-top:74px}.chapter-title{display:flex;align-items:baseline;gap:10px;padding-bottom:8px;border-bottom:1.5px solid var(--ink)}.chapter-title>span{font:700 14px Georgia,serif;color:var(--chapter)}.chapter-title h2{font:700 22px/1.35 Georgia,'Songti SC',serif;margin:0}.chapter-title small{margin-left:auto;flex:none;font-size:11.5px;font-weight:400;color:var(--muted)}.chapter-body{padding-top:12px}.chapter-body p,.chapter-body li{font-size:14.5px;line-height:1.7;text-wrap:pretty;overflow-wrap:anywhere}.chapter-body p{margin:0 0 12px;white-space:pre-wrap}.chapter-body p.lead{font:700 19px/1.5 Georgia,'Songti SC',serif}.chapter-body ul{list-style:none;padding:0;margin:0 0 12px}.chapter-body li{position:relative;padding-left:17px;margin-bottom:12px;white-space:pre-wrap}.chapter-body li::before{content:'';position:absolute;width:6px;height:6px;border-radius:50%;left:0;top:10px;background:var(--chapter)}.chapter-body strong{font-weight:800}.chapter-body code{font-family:ui-monospace,SFMono-Regular,monospace;background:var(--secondary);border-radius:3px;padding:1px 3px;font-size:.88em}.chapter-group{margin-bottom:12px}.chapter-group summary{list-style:none;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:800;line-height:1.35;cursor:pointer}.chapter-group summary::-webkit-details-marker{display:none}.chapter-group summary::after{content:'+';font-size:18px;color:var(--muted);font-weight:400}.chapter-group[open] summary::after{content:'−'}.group-body{padding-top:12px}.verification-note,.missing-note{font-size:12px!important;color:var(--muted);padding:10px 12px;background:var(--secondary);border-radius:8px}.check-row{display:flex;align-items:flex-start;gap:11px;min-height:44px;margin:0 0 12px;font-size:14.5px;line-height:1.65;cursor:pointer}.check-row input{appearance:none;flex:none;width:24px;height:24px;margin:1px 0 0;border:1.5px solid var(--ink);border-radius:5px;background:transparent;display:grid;place-items:center}.check-row input:checked{background:var(--navy)}.check-row input:checked::after{content:'✓';color:white;font-size:14px}.check-row input:checked+span{color:var(--muted)}.check-row input:checked+span strong{text-decoration:line-through}.verification-progress{height:4px;background:var(--secondary);border-radius:2px;overflow:hidden;margin:12px 0}.verification-progress span{display:block;width:0;height:100%;background:var(--navy);transition:width .2s}.result-footer{padding:0 22px 28px;max-width:864px;margin:auto}.result-footer p{padding-top:12px;border-top:1.5px solid var(--ink);font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0 6px}.result-footer small{font-size:10px;font-weight:800;letter-spacing:1.5px;color:var(--subtle)}.toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);z-index:5;background:var(--ink);color:var(--paper);font-size:13px;font-weight:700;padding:10px 18px;border-radius:20px;white-space:nowrap}
.chapter-0{--chapter:#d8232a}.chapter-1{--chapter:#1f3a52}.chapter-2{--chapter:#7c2c27}.chapter-3{--chapter:#e0781e}.chapter-4{--chapter:#1f7a8c}
.chapter-body li>strong:first-child,.check-row>span>strong:first-child{display:block}
@keyframes waiting{0%{left:-35%}100%{left:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.waiting-bar::after{left:0;width:100%;opacity:.55}}
@media(min-width:800px){.app-header{padding:0 32px;height:68px}.brand strong{font-size:17px}.compose-inner{padding-top:36px}.compose-inner h1{font-size:38px}.intro{font-size:15px}.compose-actions{padding-bottom:20px}.result-intro{padding-top:28px}.result-intro h1{font-size:32px}.section-nav{justify-content:center}.result-content{padding-bottom:28px}.chapter-title h2{font-size:24px}.chapter-body p,.chapter-body li,.check-row{font-size:15px}.chapter-body p.lead{font-size:22px}}@media(max-width:350px){.app-header{padding-left:14px;padding-right:12px}.compose-inner,.result-intro,.result-content,.result-footer{padding-left:16px;padding-right:16px}.compose-inner h1{font-size:28px}.chapter-title{flex-wrap:wrap}.chapter-title small{margin-left:0}.brand strong{font-size:14px}}

.header-introduction{flex:none;display:inline-flex;align-items:center;min-height:44px;margin-left:8px;color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;text-underline-offset:6px}.header-introduction:hover{text-decoration:underline;text-decoration-color:var(--red)}
@media(max-width:420px){.app-header{display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:2px 10px;height:80px;padding:8px 16px}.app-header .logo{grid-column:1;grid-row:1 / 3}.app-header .brand{grid-column:2;grid-row:1}.app-header .header-introduction{grid-column:3;grid-row:1 / 3;margin-left:0}.app-header .mode-label{grid-column:2;grid-row:2;flex-direction:row;align-items:center;justify-content:flex-start;gap:6px}.app-header .mode-label small{margin:0;font-size:9px}.app-header .mode-label>span{font-size:9px}.app-header .new-analysis{grid-column:2;grid-row:2;min-height:25px;justify-self:start;font-size:10px;padding:0 9px}}
