:root{--bg:#faf6ec;--card:#fff;--ink:#3a3428;--ink-soft:#6b6252;--green:#5a7a4a;--green-dark:#45613a;--green-soft:#eaf0e3;--brown:#a97c50;--border:#e6dfcd;--error:#b3543f;--radius:16px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif;line-height:1.7}main{max-width:480px;min-height:100dvh;margin:0 auto;padding:20px 16px 48px}.app-header{text-align:center;margin-bottom:20px}.app-header h1{color:var(--green-dark);margin:0 0 4px;font-size:20px}.app-header p{color:var(--ink-soft);margin:0;font-size:13px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:18px 16px}.question-number{background:var(--green-soft);color:var(--green-dark);border-radius:999px;margin-bottom:8px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.question-title{color:var(--ink);margin:0 0 12px;font-size:15px;font-weight:700}.text-input,.textarea-input{border:1px solid var(--border);width:100%;color:var(--ink);background:#fffdf8;border-radius:10px;padding:12px;font-family:inherit;font-size:15px}.textarea-input{resize:vertical;min-height:72px}.text-input:focus,.textarea-input:focus{outline:2px solid var(--green);outline-offset:1px}.option-grid{flex-wrap:wrap;gap:8px;display:flex}.option-pill{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:#fffdf8;border-radius:999px;align-items:center;min-height:44px;padding:10px 16px;font-size:14px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.option-pill.selected{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}.option-pill:active{transform:scale(.98)}.sub-input{margin-top:10px}.error-text{color:var(--error);margin-top:8px;font-size:13px}.primary-button{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;min-height:52px;padding:16px;font-size:16px;font-weight:700}.primary-button:active{background:var(--green-dark)}.secondary-button{width:100%;color:var(--green-dark);border:1.5px solid var(--green);cursor:pointer;background:#fff;border-radius:12px;min-height:48px;padding:14px;font-size:15px;font-weight:700}.ghost-button{width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:10px;font-size:14px;text-decoration:underline}.button-stack{flex-direction:column;gap:10px;margin-top:20px;display:flex}.result-title-card{background:var(--green-soft);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.result-title-card .label{color:var(--green-dark);margin-bottom:4px;font-size:12px;font-weight:700}.result-title-card .title{color:var(--ink);font-size:16px;font-weight:700}.cut-card{border-left:4px solid var(--green);background:var(--card);border-radius:0 12px 12px 0;margin-bottom:12px;padding:14px 14px 14px 16px}.cut-time{color:var(--green-dark);margin-bottom:8px;font-size:13px;font-weight:700}.cut-row{align-items:flex-start;gap:8px;margin-bottom:4px;font-size:14px;display:flex}.cut-row .cut-label{width:84px;color:var(--ink-soft);flex:none;padding-top:2px;font-size:12px}.cut-row .cut-value{flex:1}.cut-caption{font-weight:700}.tips-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff8ec;margin-bottom:16px;padding:16px}.tips-card h2,.extra-card h2{color:var(--brown);margin:0 0 10px;font-size:14px}.tips-card ul,.extra-card ul{margin:0;padding-left:18px;font-size:14px}.tips-card li,.extra-card li{margin-bottom:4px}.extra-card{border:1px solid var(--border);border-radius:var(--radius);background:#f4f4ee;margin-bottom:16px;padding:16px}.copy-feedback{text-align:center;color:var(--green-dark);min-height:18px;margin-top:8px;font-size:13px}.pattern-badge{color:var(--ink-soft);background:#f4f4ee;border-radius:999px;margin-bottom:8px;padding:2px 10px;font-size:11px;display:inline-block}
