:root{color:#201629;font-synthesis:none;text-rendering:optimizelegibility;background:#fff8ee;font-family:Inter,Hiragino Sans,Yu Gothic UI,Yu Gothic,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{color:#201629;cursor:pointer;background:#ffcf3d;border:2px solid #201629;border-radius:8px;min-height:2.75rem;padding:0 1rem;font-weight:700;transition:transform .14s,box-shadow .14s,background .14s;box-shadow:0 4px #201629}.button-link{color:#201629;background:#6ee7f5;border:2px solid #201629;border-radius:8px;justify-content:center;align-items:center;min-height:2.75rem;padding:0 1rem;font-weight:800;text-decoration:none;transition:transform .14s,box-shadow .14s,background .14s;display:inline-flex;box-shadow:0 4px #201629}button:hover,.button-link:hover{transform:translateY(-1px);box-shadow:0 5px #201629}button:active,.button-link:active{transform:translateY(3px);box-shadow:0 1px #201629}button:disabled{cursor:not-allowed;opacity:.45}button.secondary{color:#201629;background:#fff}button.ghost{color:#6a5777;box-shadow:none;background:0 0;border-color:#0000}a{color:#d92866}.app-shell{background:linear-gradient(#ffffffa6,#fff8eeeb),linear-gradient(135deg,#fff0ae 0%,#d8fbff 42%,#ffe4eb 100%);min-height:100vh;padding:1rem}.hero,.panel,.report{width:min(58rem,100%);margin:0 auto}.hero{align-items:center;min-height:calc(100vh - 2rem);display:flex}.hero-content,.panel,.report{background:#fffffff0;border:2px solid #201629;border-radius:8px;padding:1.25rem;box-shadow:0 12px #2016292e}.eyebrow,.step-label{color:#d92866;letter-spacing:0;margin:0 0 .75rem;font-size:.78rem;font-weight:800}h1,h2,h3{margin:0;line-height:1.2}h1{color:#201629;font-size:3rem}h2{font-size:1.7rem}h3{font-size:1rem}.lead{color:#31243c;margin:1rem 0 0;font-size:1.1rem;line-height:1.7}.sublead,.notice,.hint,.counter,.progress-text{color:#6a5777;line-height:1.7}.processed-by{color:#8b7d93;text-align:right;overflow-wrap:anywhere;margin:.25rem 0 .75rem;font-size:.74rem;line-height:1.5}.feature-grid,.summary-grid,.tone-grid,.preview-grid{gap:.75rem;display:grid}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));margin:1.25rem 0}.feature-grid span,.info-card,.tone-card,.question-card,.report-section,.share-card{background:#fff;border:2px solid #201629;border-radius:8px}.feature-grid span{background:#fff7dc;padding:.8rem;font-weight:700;box-shadow:0 4px #20162924}.actions,.share-actions,.modal-actions,.anchor-row{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.share-actions{margin-top:.75rem}.share-target-controls{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;margin-top:.9rem;display:grid}.share-target-controls label{gap:.35rem;font-weight:800;display:grid}.share-target-controls span{color:#6a5777;font-size:.78rem}.share-target-controls input,.share-target-controls select{color:#201629;background:#fffdf7;border:2px solid #201629;border-radius:8px;width:100%;min-height:2.6rem;padding:0 .75rem}.modal-backdrop{background:#20162985;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:#fff;border:2px solid #201629;border-radius:8px;width:min(34rem,100%);max-height:calc(100vh - 2rem);padding:1.25rem;overflow:auto;box-shadow:0 12px #20162933}.modal li{margin:.5rem 0;line-height:1.7}.privacy-note{color:#201629;background:#ecfbff;border:2px solid #201629;border-radius:8px;margin-top:1rem;padding:.85rem;font-size:.9rem;line-height:1.75}.policy-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem .75rem;display:flex}.policy-head span{color:#6a5777;font-size:.78rem;font-weight:700}.privacy-note p{margin:.6rem 0 0}.privacy-note section{border-top:1px solid #2016292e;margin-top:.85rem;padding-top:.85rem}.privacy-note h3{margin:0;font-size:.95rem}.privacy-note ul{margin:.5rem 0 0;padding-left:1.1rem}.check-row,.option-row{align-items:flex-start;gap:.6rem;display:flex}.check-row{margin-top:1rem}.segmented{background:#fff4c8;border:2px solid #201629;border-radius:8px;grid-template-columns:1fr 1fr;gap:.4rem;margin:1rem 0;padding:.35rem;display:grid}.segmented button{color:#6a5777;box-shadow:none;background:0 0;border:0}.segmented button.active{color:#201629;background:#ffcf3d;box-shadow:inset 0 0 0 2px #201629}textarea{color:#201629;resize:vertical;background:#fffdf7;border:2px solid #201629;border-radius:8px;width:100%;min-height:15rem;padding:.9rem}.short-text{min-height:8rem}.upload-box{background:#ecfbff;border:2px dashed #201629;border-radius:8px;padding:1rem}.upload-box input{max-width:100%}.error-text{color:#bd1f4f;font-weight:700}.preview{color:#31243c;white-space:pre-wrap;background:#fff7dc;border:2px solid #201629;border-radius:8px;max-height:10rem;padding:.85rem;line-height:1.6;overflow:auto}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:1rem 0}.info-card{background:#fffdf7;padding:1rem;box-shadow:0 4px #2016291f}.info-card span,.tone-card span{color:#6a5777;line-height:1.6;display:block}.info-card strong{margin-top:.3rem;font-size:1.2rem;display:block}.preview-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.question-card{background:#fffdf7;margin:1rem 0 0;padding:1rem}.viewer-panel{background:#fffdf7;border:2px solid #201629;border-radius:8px;gap:.75rem;margin:1rem 0;padding:1rem;display:grid}.speaker-choice{cursor:pointer;background:#fff;border:2px solid #201629;border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:.2rem .7rem;padding:.8rem;display:grid;box-shadow:0 3px #2016291f}.speaker-choice input{grid-row:span 2;margin-top:.25rem}.speaker-choice span{color:#6a5777;line-height:1.5}.speaker-choice.selected{background:#ffcf3d;box-shadow:0 5px #20162933}.name-correction{background:#ecfbff;border:2px dashed #201629;border-radius:8px;gap:.45rem;padding:.8rem;display:grid}.name-correction label{font-weight:800}.name-correction input{background:#fff;border:2px solid #201629;border-radius:8px;width:100%;min-height:2.75rem;padding:0 .8rem}.question-card legend{padding:0 .25rem;font-weight:800}.option-row{margin-top:.8rem}.tone-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin-top:1rem}.tone-card{cursor:pointer;background:#fffdf7;padding:1rem;box-shadow:0 4px #2016291f}.tone-card input{margin-right:.5rem}.tone-card.selected{background:#ffcf3d;border-color:#201629;box-shadow:0 5px #20162940,inset 0 0 0 2px #201629}.loading-panel{text-align:center}.spinner{border:.35rem solid #fff0ae;border-top-color:#d92866;border-radius:50%;width:3rem;height:3rem;margin:0 auto 1rem;animation:1s linear infinite spin}.loading-list{text-align:left;line-height:1.9;display:inline-block}.rank{color:#201629;background:#ffcf3d;border-radius:8px;margin:1rem 0 0;padding:.45rem .7rem;font-weight:800;display:inline-flex}.result-hero{grid-template-columns:1fr auto;align-items:start;gap:1rem;display:grid}.result-summary-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin-top:1rem;display:grid}.anchor-row a{color:#201629;background:#fff;border:2px solid #201629;border-radius:8px;padding:.55rem .75rem;font-weight:700;text-decoration:none;box-shadow:0 3px #20162929}.anchor-row a:hover{background:#6ee7f5}.report-section,.share-card{margin-top:1rem;padding:1rem}.section-heading,.person-head,.technique-item>div,.timeline-list li>div{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.section-heading span,.technique-item span,.timeline-list span,.confidence-chip{color:#6a5777;font-size:.82rem;font-weight:700}.section-lead{color:#6a5777;margin:.55rem 0 0;line-height:1.7}.type-line,.tag-list{flex-wrap:wrap;gap:.45rem;margin:.8rem 0;display:flex}.type-line span,.tag-list span{color:#201629;background:#ecfbff;border:1px solid #201629;border-radius:8px;padding:.35rem .55rem;font-size:.86rem;font-weight:700}.type-line strong{color:#201629;background:#ffcf3d;border:1px solid #201629;border-radius:8px;padding:.35rem .55rem;font-size:.86rem}.score-list{gap:.75rem;margin-top:.8rem;display:grid}.score-card{background:#fffdf7;border:2px solid #201629;border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:.8rem;padding:.85rem;display:grid;box-shadow:0 4px #2016291f}.score-card strong,.person-card h4,.technique-item strong{margin:0 0 .25rem;display:block}.score-card span,.score-card p,.technique-item p,.person-card p,.timeline-list p,.x-post{color:#4a3a56;margin:.25rem 0 0;line-height:1.6}.rank-badge{color:#201629;text-align:center;background:#ffcf3d;border:2px solid #201629;border-radius:8px;place-items:center;width:4.25rem;min-height:4.25rem;padding:.45rem;display:grid}.rank-badge span{color:#5f4b12;font-size:.68rem;line-height:1.2}.rank-badge strong{font-size:1.6rem}.rank-S,.rank-A{color:#fff;background:#d92866}.rank-S span,.rank-A span{color:#ffffffdb}.rank-C{background:#6ee7f5}.rank-D{color:#fff;background:#6a5777}.rank-D span{color:#ffffffdb}.technique-list,.person-list{gap:.75rem;margin-top:.8rem;display:grid}.technique-item,.person-card{background:#fffdf7;border:2px solid #201629;border-left:.45rem solid #6ee7f5;border-radius:8px;padding:.9rem;box-shadow:0 4px #2016291f}.severity-high{border-left-color:#d92866}.severity-medium{border-left-color:#ff8a34}.severity-low{border-left-color:#23a776}.timeline-list{gap:.75rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.timeline-list li{background:#fffdf7;border:2px solid #201629;border-radius:8px;padding:.9rem;box-shadow:0 4px #2016291f}details{background:#ecfbff;border:1px solid #201629;border-radius:8px;margin-top:.75rem;padding:.8rem}summary{cursor:pointer;font-weight:800}.evidence-box{background:#ecfbff}.evidence-list{gap:.6rem;margin-top:.75rem;display:grid}blockquote{background:#fff;border-left:.25rem solid #201629;margin:0;padding:.75rem}blockquote p{color:#31243c;margin:0;line-height:1.6}blockquote footer{color:#6a5777;margin-top:.45rem;font-size:.82rem}.person-head h4{font-size:1.1rem}.person-card h5{color:#201629;margin:.9rem 0 .35rem;font-size:.92rem}.person-subtitle{font-weight:800}.person-core{background:#fff7dc;border:2px solid #201629;border-radius:8px;margin-top:.75rem;padding:.8rem;box-shadow:0 3px #2016291a}.person-core h5{margin-top:0}.person-core p{color:#31243c;margin:.25rem 0 0;line-height:1.65}.person-insight-grid{grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:.75rem;margin-top:.75rem;display:grid}.person-insight-grid section{background:#fff;border:1px solid #201629;border-radius:8px;padding:.75rem}.person-insight-grid h5{margin-top:0}.person-accordion-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.65rem;margin-top:.8rem;display:grid}.person-detail{background:#ecfbff;margin-top:0}.person-detail ul{color:#31243c;gap:.45rem;margin:.7rem 0 0;padding-left:1.15rem;line-height:1.55;display:grid}.person-detail.score-detail{background:#fffdf7;grid-column:1/-1}.person-detail .score-list{margin-top:.75rem}.person-head span:first-child{color:#d92866;margin-bottom:.2rem;font-size:.85rem;font-weight:800;display:inline-block}.confidence-chip{white-space:nowrap;background:#fff7dc;border:1px solid #201629;border-radius:8px;padding:.35rem .5rem}.advice-list{gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.advice-list li{color:#31243c;background:#ecfbff;border:1px solid #201629;border-radius:8px;padding:.75rem;line-height:1.6}.caution-section{box-shadow:none;background:#fffaf0;border-color:#e3d7be}.caution-section h3,.caution-section p,.caution-section li{font-size:.9rem}.caution-section .advice-list li{background:#fffdf7;border-color:#eadfc8}.generated-share-card{border:2px solid #201629;border-radius:8px;width:min(18rem,100%);margin-top:.75rem;display:block;box-shadow:0 8px #2016292e}.x-post{overflow-wrap:anywhere;background:#fffdf7;border:2px solid #201629;border-radius:8px;padding:.75rem}.empty-text{color:#6a5777;margin:.75rem 0 0}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:640px){.app-shell{padding:.75rem}.hero{align-items:flex-start;min-height:calc(100vh - 1.5rem);padding-top:1.5rem}h1{font-size:2.35rem}h2{font-size:1.45rem}.actions button,.actions .button-link,.share-actions button,.share-actions .button-link{width:100%}.hero-content,.panel,.report{padding:1rem}textarea{min-height:12rem}.anchor-row a{text-align:center;flex:8rem}.result-hero,.score-card{grid-template-columns:1fr}.rank-badge{grid-template-columns:1fr auto;justify-items:start;width:100%;min-height:auto}.section-heading,.person-head,.technique-item>div,.timeline-list li>div{display:grid}}