:root{--bg: #f7f7f8;--surface: #ffffff;--text: #1a1a1a;--muted: #666670;--border: #d9d9de;--accent: #2f6fed;--accent-text: #ffffff;--danger: #c62828;--chip-bg: #ececf1;--radius: 12px;--nav-h: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light}:root[data-theme=dark]{--bg: #121214;--surface: #1e1e22;--text: #f0f0f2;--muted: #a0a0a8;--border: #333338;--accent: #6f9bff;--accent-text: #0b1020;--danger: #ef5350;--chip-bg: #2a2a30;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:12px 16px;min-height:44px;cursor:pointer}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}button.danger-outline{color:var(--danger);border-color:var(--danger);background:transparent}button.link{background:none;border:none;color:var(--accent);padding:4px 0;min-height:0}button.small{font-size:14px}button:disabled{opacity:.5;cursor:default}.app{padding:16px 16px calc(var(--nav-h) + var(--safe-bottom) + 16px);max-width:640px;margin:0 auto}h1{font-size:20px;margin:0 0 16px}h2{font-size:17px;margin:24px 0 8px}.muted{color:var(--muted)}.error{color:var(--danger);margin:8px 0}.field{display:block;margin:0 0 20px}.field .label,.field>span:first-child{display:block;font-weight:600;margin-bottom:8px}.field.row{display:flex;align-items:center;justify-content:space-between}.field.row>span:first-child{margin:0}input[type=text],input[type=datetime-local]{width:100%;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:44px}input[type=checkbox]{width:24px;height:24px;accent-color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border-radius:999px;padding:8px 14px;background:var(--chip-bg);border-color:transparent;min-height:40px}.chip.selected{background:var(--accent);color:var(--accent-text)}.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.scale-btn{padding:10px 0}.hint-toggle{margin-top:12px}.dimmed{opacity:.4}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.scale-btn.selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.hints{list-style:none;padding:0;margin:8px 0 0;color:var(--muted);font-size:14px}.hints li{margin:2px 0}.collapsible{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;background:var(--surface)}.collapsible-header{width:100%;display:flex;justify-content:space-between;align-items:center;border:none;background:none;border-radius:var(--radius);text-align:left;font-weight:600}.collapsible-body{padding:0 16px 8px}.chevron{transition:transform .15s;display:inline-block}.chevron.open{transform:rotate(180deg)}.bristol{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.bristol-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;text-align:center;font-size:14px}.bristol-card svg{width:64px;height:40px}.bristol-card.selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.bristol-card strong{font-size:16px}.big-buttons{display:grid;gap:16px;margin-top:24px}.big-buttons button{padding:32px 16px;font-size:20px;font-weight:600}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:flex;background:var(--surface);border-top:1px solid var(--border)}.bottom-nav button{flex:1;border:none;border-radius:0;background:none;color:var(--muted);font-size:14px}.bottom-nav button.active{color:var(--accent);font-weight:600}.sheet{position:fixed;inset:0;background:var(--bg);z-index:20;display:flex;flex-direction:column}.sheet-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.sheet-header h1{margin:0;font-size:17px;text-align:center}.sheet-body{flex:1;overflow-y:auto;padding:16px 16px 96px;max-width:640px;width:100%;margin:0 auto}.sheet-footer{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + var(--safe-bottom));background:var(--surface);border-top:1px solid var(--border)}.sheet-footer button{width:100%}.history-day{margin:16px 0 4px;font-weight:600;color:var(--muted);font-size:14px}.history-row{width:100%;display:flex;gap:12px;align-items:center;text-align:left;margin-bottom:8px}.history-row .time{font-variant-numeric:tabular-nums;min-width:48px}.history-row .type{font-weight:600}.history-row .summary{color:var(--muted);font-size:14px}.list-editor ul{list-style:none;padding:0;margin:0}.list-editor li{display:flex;gap:8px;align-items:center;margin-bottom:8px}.list-editor li span{flex:1}.list-editor .add{display:flex;gap:8px;margin-top:8px}.list-editor .add input{flex:1}.icon-btn{padding:0 12px;min-width:44px}.segmented{display:flex;gap:0}.segmented button{flex:1;border-radius:0}.segmented button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.segmented button:last-child{border-radius:0 var(--radius) var(--radius) 0}.segmented button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.settings-actions{display:grid;gap:8px}.settings-advanced{margin-top:32px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-h) + var(--safe-bottom) + 16px);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:999px;z-index:40;font-size:14px}.backdrop{position:fixed;inset:0;background:#00000080;z-index:30}.dialog{position:fixed;left:16px;right:16px;top:50%;transform:translateY(-50%);background:var(--surface);border-radius:var(--radius);padding:20px;z-index:31;max-width:400px;margin:0 auto}.dialog h2{margin:0 0 8px}.dialog p{margin:0 0 16px}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.banner{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--accent);color:var(--accent-text);border:none;border-radius:0}.install-hint{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:16px;display:flex;gap:8px;align-items:center;font-size:14px}.install-hint span{flex:1}
