@import url("../ui/a11y.css");
:root{color-scheme:light;--ink:#182d39;--muted:#475e69;--line:#9dafb8;--accent:#165a58;--paper:#fff;--wash:#f3f6f4;font-family:system-ui,"Microsoft JhengHei",sans-serif;color:var(--ink);background:var(--wash);font-size:16px}*{box-sizing:border-box}body{margin:0}#mode-banner{position:sticky;top:0;z-index:2;background:#e4efe9;border-bottom:1px solid #8da79a;color:#244e3d;padding:10px 20px;font-size:14px;text-align:center}header{max-width:960px;margin:auto;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:14px}a{color:var(--accent);text-underline-offset:4px}header a,.eyebrow,button,.action-link{display:inline-flex;align-items:center;gap:8px}header span,.eyebrow{color:var(--muted);font-size:14px}svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}main{max-width:780px;margin:20px auto 80px;padding:0 24px}h1{font-size:clamp(28px,5vw,40px);font-weight:650;letter-spacing:.05em;margin:14px 0 28px}h2{font-size:22px;margin:0 0 20px}h3{font-size:18px}p{line-height:1.8;margin:12px 0}#screen{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:30px}#notice:not(:empty){background:#e8f0ef;border-left:3px solid var(--accent);padding:12px 16px;margin-bottom:18px;line-height:1.7}form{display:grid;gap:22px}.row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:grid;gap:9px;font-size:16px}input,select,textarea,button{font:inherit;color:inherit}input:not([type=checkbox]),select,textarea{width:100%;min-height:46px;padding:10px;border:1px solid #758d99;border-radius:8px;background:white}input[type=checkbox]{width:21px;height:21px;accent-color:var(--accent)}label.check{display:flex;align-items:center;gap:10px;min-height:44px}fieldset{border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0}legend{padding:0 8px}button,.action-link{min-height:46px;border-radius:8px;border:1px solid var(--accent);padding:10px 16px;background:var(--accent);color:white;justify-content:center;text-decoration:none;cursor:pointer;font-weight:550}button.secondary,.action-link.secondary{background:white;color:var(--accent)}button:disabled{background:#e4e9e8;border-color:#879d9b;color:#465b5b;cursor:default}.row button{flex:0 1 auto}details{border-top:1px solid #becbc7;padding-top:12px;margin-top:20px}summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--accent)}details details{margin:8px 0}.balance{background:#f1f5f2;border-radius:10px;padding:16px;display:grid;gap:10px}.balance strong{font-size:18px}.muted{color:var(--muted);font-size:14px;line-height:1.7}.cost{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #baccc6;padding-bottom:12px;margin-bottom:6px}ul{padding-left:22px;line-height:1.8}li{padding:5px 0;overflow-wrap:anywhere}.stem{font-size:21px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}.options{display:grid;gap:12px;margin:22px 0}.option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:14px;min-height:54px}.option:has(input:checked){background:#e7f1ec;border-color:var(--accent)}.option input{width:20px;height:20px;accent-color:var(--accent)}.feedback{background:#edf4f0;padding:16px;border-radius:10px;line-height:1.8}.timer{font-variant-numeric:tabular-nums;color:var(--muted);margin-bottom:20px}.navigation{justify-content:space-between;margin-top:24px}.unit{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #c4cfca;padding:16px 0}.unit span{flex:1}.unit strong{font-weight:550}.scratch{width:100%;height:200px;touch-action:none;display:block;border:1px solid var(--line);border-radius:8px;background:#fafbf9;margin-bottom:12px}textarea{min-height:90px;margin-top:12px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #1749a2;outline-offset:4px}[hidden]{display:none!important}@media(max-width:520px){header{padding:18px 16px}header span{font-size:12px}main{margin-top:10px;padding:0 16px}#screen{padding:20px 16px;border-radius:12px}.fields{grid-template-columns:1fr}.unit{flex-direction:column;gap:5px}.row{gap:10px}.row button{flex-grow:1}.stem{font-size:20px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
