:root{color-scheme:light;--bg:#f4f6f8;--surface:#fff;--text:#26343d;--muted:#667783;--line:#d7e0e4;--accent:#8c704b;--tech:#367d86;--soft:#edf3f4}:root[data-theme=night]{color-scheme:dark;--bg:#10191f;--surface:#19252e;--text:#e8edf1;--muted:#a0acb5;--line:#32414b;--accent:#c6ac7e;--tech:#82bdc6;--soft:#22323c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.8 -apple-system,BlinkMacSystemFont,'PingFang TC',sans-serif}a{color:var(--tech)}.page{max-width:1040px;margin:auto;padding:max(20px,env(safe-area-inset-top)) 18px max(32px,env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:20px;border-bottom:1px solid var(--line)}header h1{font-size:24px;margin:0}.back{text-decoration:none;white-space:nowrap}.theme{display:flex;padding:3px;border-radius:8px;background:var(--line)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--tech);outline-offset:3px}.theme button{min-height:36px;padding:3px 9px;border:0;background:transparent;color:var(--muted)}.theme button[aria-pressed=true]{background:var(--surface);color:var(--text)}.intro{padding:24px 0 16px;color:var(--muted);margin:0}.surface{padding:22px;margin:0 0 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}h2{font-size:22px;margin:0 0 12px}h3{font-size:18px;margin:18px 0 8px}p{margin:8px 0 14px}.muted,small{color:var(--muted)}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--bg);font-size:16px}label{display:block;margin:10px 0}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.primary{background:var(--tech);color:var(--bg);border-color:var(--tech);font-weight:600}.actions,.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.chips button{padding:5px 12px}.result{border-top:3px solid var(--tech)}.glyph{font:76px/1.4 'Songti TC',serif;color:var(--accent);text-align:center}.parts{display:flex;justify-content:center;gap:16px;font:36px/1.5 serif;padding:18px;background:var(--soft);border-radius:10px}.eyebrow{font-size:13px;letter-spacing:.15em;color:var(--tech)}.tag{display:inline-block;padding:3px 12px;background:var(--soft);border:1px solid var(--line);border-radius:30px;color:var(--tech)}.error{color:#b64747}.six{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0}.six button{min-height:86px}.six strong,.six span{display:block}.six span{font-size:13px;color:var(--muted)}.six button[aria-pressed=true]{outline:2px solid var(--tech);background:var(--soft)}.steps{padding-left:24px}.steps li{margin-bottom:6px}.dream-card{border-top:1px solid var(--line);padding:16px 0}.dream-card:first-child{border-top:0}.dream-card blockquote{margin:12px 0;padding:10px 14px;border-left:3px solid var(--accent);background:var(--soft)}.dream-card button{margin-right:8px}.diary-row{border-top:1px solid var(--line);padding:12px 0}.diary-row p{white-space:pre-wrap;overflow-wrap:anywhere}.method{font-size:14px;color:var(--muted);margin:24px 0}summary{cursor:pointer;padding:8px 0}footer{margin-top:28px;font-size:13px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:420px){.surface{padding:16px}.form-grid{gap:8px}header h1{font-size:22px}.back{font-size:14px}.page{padding-left:14px;padding-right:14px}}

/* v191: preserve readable form controls and reachable theme actions. */
header h1{min-width:0;overflow-wrap:anywhere}.theme{flex-shrink:0}.theme button{min-width:44px;min-height:44px}.form-grid>label{min-width:0}.parts{overflow-wrap:anywhere;white-space:normal;min-width:0}
input[type=date],input[type=time]{min-height:48px;max-width:100%;-webkit-appearance:none;appearance:none}
@media(max-width:480px){.form-grid{grid-template-columns:minmax(0,1fr)}.parts{font-size:28px;padding:12px}.actions>button{flex:1;min-width:0;white-space:normal}}
@media(max-width:360px){header{flex-wrap:wrap}header h1{flex:1;text-align:center}.theme{margin-left:auto}}
