:root{
  --purple:#7B4FC4; --accent:#7B4FC4; --head:#7B4FC4;
  --bg:#FAF7FF; --surface:#fff; --card:#fff; --ink:#222; --mute:#6b6678; --line:#E7E0F3;
  --soft:#EFE8FB; --soft2:#F2EBFD; --helpbg:#FFF1F1; --navbg:#fff;
  --red:#D32F2F; --amber:#E69500; --green:#2E9E44;
  --safe-t:var(--safe-area-inset-top,env(safe-area-inset-top,0px)); --safe-b:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));
  color-scheme:light;
}
:root[data-theme=dark]{
  --purple:#7B4FC4; --accent:#BBA4F2; --head:#2B1F4A;
  --bg:#14101D; --surface:#1E1830; --card:#1E1830; --ink:#EDE8F7; --mute:#A99FC2; --line:#352C4D;
  --soft:#2C2342; --soft2:#33284F; --helpbg:#2D1A22; --navbg:#1A1429;
  --red:#EF5350; --amber:#F0A92A; --green:#4CB562;
  color-scheme:dark;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:18px;line-height:1.4}
header{position:fixed;top:0;left:0;right:0;padding:calc(var(--safe-t) + 10px) 12px 10px 14px;
  background:var(--head);color:#fff;z-index:5;display:flex;align-items:center;gap:10px}
#hl{flex:1;min-width:0}
#sub{font-weight:700;font-size:21px;line-height:44px;min-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#more{border:0;background:rgba(255,255,255,.18);color:#fff;height:44px;padding:0 16px;border-radius:14px;font-size:17px;font-weight:600;flex:none}
#more.on{background:rgba(255,255,255,.34)}
main{position:absolute;top:calc(var(--safe-t) + 68px);bottom:calc(var(--safe-b) + 66px);left:0;right:0;
  overflow-y:auto;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y;padding:14px 14px 28px;-webkit-overflow-scrolling:touch}
nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--navbg);border-top:1px solid var(--line);
  padding-bottom:var(--safe-b);z-index:5}
nav button{flex:1;border:0;background:none;padding:0;height:58px;color:var(--mute);display:flex;align-items:center;justify-content:center}
nav button span{display:block;line-height:0}
nav button.on{color:var(--accent)}
h2{font-size:21px;margin:18px 0 8px}
h3{font-size:18px;margin:0 0 6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px}
.row{display:flex;align-items:center;gap:10px}
.sp{flex:1}
.mute{color:var(--mute);font-size:15px}
.btn{border:0;border-radius:14px;background:var(--purple);color:#fff;font-size:17px;font-weight:700;
  padding:13px 16px;min-height:48px}
.btn.alt{background:var(--soft);color:var(--accent)}
.btn.red{background:var(--red);color:#fff}
.btn.full{width:100%}
.btn:active{opacity:.8}
.chk{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);min-height:50px}
.chk:last-child{border-bottom:0}
.box{width:30px;height:30px;border-radius:9px;border:2.5px solid var(--accent);flex:none;display:grid;place-items:center;color:#fff;font-weight:900}
.chk.done .box{background:var(--purple);border-color:var(--purple)}
.chk.done .lbl{text-decoration:line-through;color:var(--mute)}
.x{border:0;background:none;color:var(--mute);font-size:22px;padding:6px 10px}
input[type=text],input[type=search],input[type=password],input[type=time],input[type=tel],textarea,select{width:100%;font-size:17px;padding:12px;border:1.5px solid var(--line);
  border-radius:12px;background:var(--surface);color:var(--ink);font-family:inherit}
::placeholder{color:var(--mute);opacity:.8}
textarea{min-height:84px}
label{display:block;font-weight:600;margin:12px 0 4px}
.bar{height:10px;background:var(--soft);border-radius:6px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--purple)}
.chip{display:inline-block;font-size:12px;font-weight:700;color:#fff;border-radius:10px;padding:3px 9px;white-space:nowrap}
.chip.P{background:var(--red)} .chip.H{background:var(--amber);color:#1c1300} .chip.D{background:var(--green)}
.sec{border-radius:16px;overflow:hidden;margin-bottom:12px;background:var(--surface);border:1px solid var(--line)}
.sechead{display:flex;gap:12px;align-items:center;padding:12px;color:#fff}
.sechead img{width:62px;height:62px;border-radius:12px;object-fit:cover;background:#fff}
.sechead b{font-size:18px;line-height:1.2}
.item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--line);min-height:56px}
.item .t{flex:1}
.dots{display:flex;gap:7px;flex:none}
.dot{width:36px;height:36px;border-radius:50%;border:3px solid;background:transparent;color:#fff;font-weight:900;font-size:16px;display:grid;place-items:center;padding:0}
.dot.P{border-color:var(--red)} .dot.H{border-color:var(--amber)} .dot.D{border-color:var(--green)}
.dot.P.on{background:var(--red)} .dot.H.on{background:var(--amber);color:#1c1300} .dot.D.on{background:var(--green)}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:var(--mute);margin:0 2px 12px}
.legend span{display:flex;align-items:center;gap:6px}
.legend .dot{width:16px;height:16px;border-width:0}
.legend .dot.P{background:var(--red)} .legend .dot.H{background:var(--amber)} .legend .dot.D{background:var(--green)}
.seg{display:flex;gap:6px;margin:10px 0}
.seg button{flex:1;border:2px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 4px;font-weight:700;font-size:13px;color:var(--mute)}
.seg button.on.P{background:var(--red);border-color:var(--red);color:#fff}
.seg button.on.H{background:var(--amber);border-color:var(--amber);color:#1c1300}
.seg button.on.D{background:var(--green);border-color:var(--green);color:#fff}
.seg button.on.T{background:var(--purple);border-color:var(--purple);color:#fff}
.steps{counter-reset:s;list-style:none;padding:0;margin:8px 0}
.steps li{counter-increment:s;display:flex;gap:12px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}
.steps li:before{content:counter(s);flex:none;width:30px;height:30px;border-radius:9px;background:var(--purple);color:#fff;font-weight:800;display:grid;place-items:center}
#sheet{position:fixed;inset:0;background:rgba(10,5,25,.6);z-index:20;display:flex;align-items:flex-end}
#sheet[hidden]{display:none}
#sheetbox{background:var(--surface);color:var(--ink);width:100%;max-height:88%;overflow-y:auto;border-radius:22px 22px 0 0;padding:18px 16px calc(var(--safe-b) + 20px)}
.feels{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px}
.feel{border:2.5px solid var(--line);border-radius:14px;background:var(--surface);padding:8px 2px;text-align:center;font-size:12px;font-weight:700;color:var(--mute)}
.feel b{display:block;font-size:30px;line-height:36px}
.feel.on{border-color:var(--accent);background:var(--soft2);color:var(--accent)}
.lvl{display:flex;gap:8px}
.lvl button{flex:1;border:2px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 0;font-weight:800;font-size:17px;color:var(--mute)}
.lvl button.on{background:var(--purple);border-color:var(--purple);color:#fff}
.chart{display:flex;align-items:flex-end;gap:5px;height:130px;padding-top:6px}
.chart div{flex:1;text-align:center;font-size:11px;color:var(--mute)}
.chart i{display:block;border-radius:6px 6px 0 0;margin:2px auto 3px;width:100%}
.chart em{display:block;font-style:normal;font-size:15px;height:18px}
.breath{width:min(210px,72%);aspect-ratio:1;max-width:210px;border-radius:50%;margin:22px auto;background:radial-gradient(circle at 35% 30%,#C9B1F2,#7B4FC4);
  display:grid;place-items:center;color:#fff;font-weight:800;font-size:24px;text-align:center;transition:transform 4s ease-in-out;box-shadow:0 10px 30px rgba(123,79,196,.35)}
.big{font-size:23px;font-weight:800;text-align:center;line-height:1.3;margin:16px 0}
.help{border:2px solid var(--red);background:var(--helpbg)}
a.tel{display:block;text-decoration:none;color:#fff;background:var(--red);padding:14px;border-radius:14px;margin-top:10px;font-weight:800;text-align:center;font-size:18px}
.dayrow{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.dayrow .btn{padding:10px 14px;min-height:44px}
.dlab{flex:1;text-align:center;font-weight:800;font-size:18px}
.water{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.water b{width:34px;height:42px;border-radius:7px 7px 12px 12px;border:2.5px solid #4A9BE0;display:block;background:var(--surface)}
.water b.f{background:#4A9BE0}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#111;color:#fff;border:1px solid #444;padding:10px 16px;border-radius:12px;z-index:30;font-size:15px}
.hero{display:flex;gap:12px;align-items:center}
.hero img{width:76px;height:76px;object-fit:contain;background:#fff;border-radius:16px}
.ask{font-weight:800;font-size:19px;color:var(--accent)}
.rtmv{display:flex;flex-direction:column;flex:none}
.rtmv .x{padding:2px 10px;font-size:16px;line-height:20px;color:var(--accent)}
.rtmv .x:disabled{opacity:.25}
.rtedit{flex:1;min-width:0;padding:9px}
.mcal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.mh{text-align:center;font-weight:700;font-size:13px;color:var(--mute)}
.md{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:3px 0;display:flex;flex-direction:column;align-items:center;font-size:12px}
.md b{font-size:20px;font-weight:400;line-height:24px}
.md.today{border-color:var(--accent);background:var(--soft2)}
.seg button{padding:10px 2px;font-size:12.5px}
.clocknum{font-size:46px;font-weight:800;line-height:54px;color:var(--accent);letter-spacing:1px}
.clocknum.big2{font-size:76px;line-height:96px;text-align:center;margin:20px 0 6px}
.tog{width:52px;height:30px;border-radius:15px;background:var(--line);position:relative;flex:none}
.tog i{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:left .15s}
.tog.on{background:var(--green)}
.tog.on i{left:25px}
.pill{border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:20px;padding:8px 14px;font-size:15px;font-weight:600}
.pill.on{background:var(--purple);border-color:var(--purple);color:#fff}
.seg button{white-space:nowrap}

/* palettes */
:root[data-pal=ocean]{--purple:#1F6FB5;--accent:#1F6FB5;--head:#1F6FB5;--bg:#F3F8FD;--soft:#E1EEF9;--soft2:#E8F2FB;--line:#D5E3F0}
:root[data-pal=ocean][data-theme=dark]{--purple:#1F6FB5;--accent:#8DBDEB;--head:#12304D;--bg:#0F1822;--surface:#17263A;--card:#17263A;--soft:#1F3550;--soft2:#254160;--line:#2B4560;--navbg:#132033}
:root[data-pal=forest]{--purple:#2E7D4F;--accent:#2E7D4F;--head:#2E7D4F;--bg:#F4F9F5;--soft:#E0F0E6;--soft2:#E8F4EC;--line:#D3E6DA}
:root[data-pal=forest][data-theme=dark]{--purple:#2E7D4F;--accent:#8FD1A8;--head:#16392A;--bg:#101914;--surface:#18281F;--card:#18281F;--soft:#20382B;--soft2:#274434;--line:#2D4A39;--navbg:#14201A}
:root[data-pal=sunset]{--purple:#C9531F;--accent:#C9531F;--head:#C9531F;--bg:#FFF8F3;--soft:#FDE9DD;--soft2:#FEEFE5;--line:#F3DDCF}
:root[data-pal=sunset][data-theme=dark]{--purple:#C9531F;--accent:#FFB38A;--head:#4A2415;--bg:#1C120D;--surface:#2A1B14;--card:#2A1B14;--soft:#3A251B;--soft2:#452C20;--line:#523526;--navbg:#24160F}
:root[data-pal=rose]{--purple:#C13F78;--accent:#C13F78;--head:#C13F78;--bg:#FFF5F9;--soft:#FBE3EE;--soft2:#FCEAF2;--line:#F2D6E3}
:root[data-pal=rose][data-theme=dark]{--purple:#C13F78;--accent:#F4A0C4;--head:#4A1830;--bg:#1C0F16;--surface:#2A1722;--card:#2A1722;--soft:#3A2030;--soft2:#45263A;--line:#52304A;--navbg:#23131C}
:root[data-pal=slate]{--purple:#4F6470;--accent:#4F6470;--head:#4F6470;--bg:#F5F7F8;--soft:#E4EAED;--soft2:#EBF0F2;--line:#D8DFE3}
:root[data-pal=slate][data-theme=dark]{--purple:#4F6470;--accent:#A9BFCB;--head:#263238;--bg:#121618;--surface:#1B2226;--card:#1B2226;--soft:#263036;--soft2:#2D3A41;--line:#35444C;--navbg:#161C1F}
:root[data-pal=nd]{--purple:#3F7F86;--accent:#2F6A71;--head:#3F7F86;--bg:#F6F3EC;--surface:#FFFEFB;--card:#FFFEFB;--ink:#2B2B2B;--mute:#5E5E58;--line:#DDD8CC;--soft:#E5EEEC;--soft2:#EBF1EE;--navbg:#FFFEFB;--red:#B5483B;--amber:#B87A14;--green:#3C8766;--helpbg:#F8ECE9}
:root[data-pal=nd][data-theme=dark]{--purple:#3F7F86;--accent:#8FC5CA;--head:#2A4A4E;--bg:#1A1C1C;--surface:#232626;--card:#232626;--ink:#E6E3DC;--mute:#A8A8A0;--line:#3A4242;--soft:#2E3535;--soft2:#343D3D;--navbg:#1E2121;--red:#E07A6C;--amber:#E0A83A;--green:#6DBF99;--helpbg:#2E2220}
:root[data-pal=nd] body,:root[data-pal=nd] html{line-height:1.65;letter-spacing:.02em;word-spacing:.06em}
:root[data-pal=nd] *{transition:none!important;animation:none!important;box-shadow:none!important}
:root[data-pal=nd] .breath{transition:transform 4s ease-in-out!important}
:root[data-pal=nd] .toast{transition:none}
:root[data-pal=kid]{--purple:#E8456F;--accent:#D6335E;--head:#3E7BFA;--bg:#FFFBEA;--surface:#FFFFFF;--card:#FFFFFF;--line:#FFD9A8;--soft:#FFE6EE;--soft2:#E8F0FF;--navbg:#FFFFFF;--red:#E53935;--amber:#F59E0B;--green:#2EAD4B}
:root[data-pal=kid][data-theme=dark]{--purple:#E8456F;--accent:#FFA3BD;--head:#1F3A8A;--bg:#141B3A;--surface:#1D2756;--card:#1D2756;--line:#3E4C94;--soft:#2A3770;--soft2:#323F80;--navbg:#182148}
:root[data-pal=kid] html,:root[data-pal=kid] body{font-size:20px;font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif}
:root[data-pal=kid] .card,:root[data-pal=kid] .sec{border-radius:26px;border-width:2.5px}
:root[data-pal=kid] .btn{border-radius:22px;font-size:19px;min-height:56px;border-bottom:4px solid rgba(0,0,0,.2)}
:root[data-pal=kid] .seg button,:root[data-pal=kid] .pill,:root[data-pal=kid] .feel,:root[data-pal=kid] .lvl button{border-radius:18px;border-width:2.5px}
:root[data-pal=kid] h2,:root[data-pal=kid] h3,:root[data-pal=kid] .big{font-weight:900}
:root[data-pal=kid] nav button{font-weight:800}
:root[data-pal=kid] .box{border-radius:50%;width:34px;height:34px}
.palgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:10px}
.palbtn{border:3px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:10px;text-align:left;font-size:15px;font-weight:700}
.palbtn.on{border-color:var(--accent)}
.palbtn .sw{display:flex;gap:4px;margin-bottom:6px}
.palbtn .sw i{width:22px;height:22px;border-radius:50%;display:block;border:1px solid rgba(0,0,0,.15)}
.palbtn small{display:block;font-weight:500;color:var(--mute);font-size:12px;line-height:1.25;margin-top:2px}
@font-face{font-family:'OpenDyslexic';font-weight:400;font-style:normal;src:url(fonts/opendyslexic-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'OpenDyslexic';font-weight:700;font-style:normal;src:url(fonts/opendyslexic-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Atkinson Hyperlegible';font-weight:400;font-style:normal;src:url(fonts/atkinson-hyperlegible-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Atkinson Hyperlegible';font-weight:700;font-style:normal;src:url(fonts/atkinson-hyperlegible-latin-700-normal.woff2) format('woff2')}
button,input,textarea,select{font-family:inherit}
:root[data-font=atkinson] body{font-family:'Atkinson Hyperlegible',system-ui,sans-serif}
:root[data-font=dyslexic] body{font-family:'OpenDyslexic','Atkinson Hyperlegible',system-ui,sans-serif}
:root[data-font=dyslexic] body{font-size:16px}
:root[data-sp] body{letter-spacing:.05em;word-spacing:.14em;line-height:1.7}
#view>*,#sheetbox>*{zoom:var(--ts,1)}
:root[data-cb=rg][data-theme=light]{--red:#D55E00;--amber:#0072B2;--green:#009E73}
:root[data-cb=rg][data-theme=dark]{--red:#F08A3C;--amber:#56B4E9;--green:#2FD0A0}
:root[data-cb=tri][data-theme=light]{--red:#D81B60;--amber:#E67E00;--green:#00897B}
:root[data-cb=tri][data-theme=dark]{--red:#F06292;--amber:#FFB74D;--green:#4DB6AC}
:root[data-cb=rg] .chip.H,:root[data-cb=rg] .dot.H.on,:root[data-cb=rg] .seg button.on.H{color:#fff}
:root[data-cb=rg][data-theme=dark] .chip.H,:root[data-cb=rg][data-theme=dark] .dot.H.on,:root[data-cb=rg][data-theme=dark] .seg button.on.H{color:#001a2b}
:root[data-xc] .dot{font-size:0}
:root[data-xc] .dot::after{font-size:17px;font-weight:900;line-height:1}
:root[data-xc] .legend .dot::after{font-size:11px}
:root[data-xc] .dot.P::after{content:'\2605';color:var(--red)}
:root[data-xc] .dot.H::after{content:'\25B2';color:var(--amber)}
:root[data-xc] .dot.D::after{content:'\2713';color:var(--green)}
:root[data-xc] .dot.on::after{color:#fff}
:root[data-xc] .dot.H.on::after{color:#1c1300}
:root[data-xc] .legend .dot::after{color:#fff}
:root[data-xc] .legend .dot.H::after{color:#1c1300}
:root[data-xc] .chip.P::before{content:'\2605  '}
:root[data-xc] .chip.H::before{content:'\25B2  '}
:root[data-xc] .chip.D::before{content:'\2713  '}
:root[data-xc] .seg button.on.P::before{content:'\2605  '}
:root[data-xc] .seg button.on.H::before{content:'\25B2  '}
:root[data-xc] .seg button.on.D::before{content:'\2713  '}
.range{width:100%;accent-color:var(--purple);height:34px}
@media (min-width:700px){
  :root[data-web="1"]{background:var(--soft)}
  :root[data-web="1"] body{background:var(--bg);max-width:560px;margin:0 auto;box-shadow:0 0 40px rgba(0,0,0,.12);position:relative}
  :root[data-web="1"] header,:root[data-web="1"] nav{max-width:560px;margin-left:auto;margin-right:auto}
  :root[data-web="1"] main{max-width:560px;margin-left:auto;margin-right:auto}
  :root[data-web="1"] #sheet{justify-content:center}
  :root[data-web="1"] #sheetbox{max-width:560px}
  :root[data-web="1"] .toast{max-width:520px}
}

@media (min-width:700px){
  :root[data-wide]{background:var(--soft)}
  :root[data-wide] body{background:var(--bg);max-width:820px;margin:0 auto;box-shadow:0 0 40px rgba(0,0,0,.12);position:relative}
  :root[data-wide] header,:root[data-wide] nav,:root[data-wide] main{max-width:820px;margin-left:auto;margin-right:auto}
  :root[data-wide] #sheetbox{max-width:760px}
  :root[data-wide] .toast{max-width:640px}
}

.appgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-bottom:12px}
.apptile{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ink);font-size:13px;font-weight:600;min-height:44px}
.apptile img,.approw img{width:52px;height:52px;border-radius:12px}
.apptile span{text-align:center;word-break:break-word;line-height:1.2}
.noicon{width:52px;height:52px;border-radius:12px;background:var(--line);flex:none}
.applist{max-height:48vh;overflow-y:auto;margin-top:10px;-webkit-overflow-scrolling:touch}
.approw{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:8px 2px;text-align:left;color:var(--ink);font-size:16px;min-height:56px}
.approw img,.approw .noicon{width:40px;height:40px}
.achk{width:28px;height:28px;border-radius:8px;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-weight:800;flex:none}
.achk.on{background:var(--green);border-color:var(--green)}

.wallprev{height:110px;border-radius:12px;margin-top:10px;background-size:cover;background-position:center 24%;border:1px solid var(--line)}
:root[data-wall] body{background:linear-gradient(rgba(0,0,0,var(--dim)),rgba(0,0,0,var(--dim))),var(--wall) center/cover fixed no-repeat}
:root[data-wall]{background:#000}
:root[data-wall] .card,:root[data-wall] .apptile{background:color-mix(in srgb,var(--card) 90%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
:root[data-wall] main>.dayrow,:root[data-wall] main>.legend,:root[data-wall] main>h2,:root[data-wall] main>.mute{background:color-mix(in srgb,var(--card) 90%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:8px 12px}
:root[data-wall] main>h2{width:fit-content}

#view.in-r>*{animation:tc-in-r .26s cubic-bezier(.2,.7,.2,1)}
#view.in-l>*{animation:tc-in-l .26s cubic-bezier(.2,.7,.2,1)}
@keyframes tc-in-r{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:none}}
@keyframes tc-in-l{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
#sheet:not([hidden]){animation:tc-fade .2s ease-out}
#sheet:not([hidden]) #sheetbox{animation:tc-up .3s cubic-bezier(.2,.8,.2,1)}
@keyframes tc-fade{from{opacity:0}to{opacity:1}}
@keyframes tc-up{from{opacity:0;transform:translateY(36px) scale(.98)}to{opacity:1;transform:none}}
.btn,.apptile,.seg button,.dayrow,#tabs button,#more{transition:transform .14s ease,background-color .2s ease,color .2s ease,opacity .2s ease}
.btn:active,.apptile:active,.seg button:active,#more:active{transform:scale(.95)}
#tabs button:active{transform:scale(.9)}
#tabs button span{display:inline-block;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
#tabs button.on span{transform:translateY(-2px) scale(1.18)}
@media (prefers-reduced-motion:reduce){#view,#view *,#view>*,#sheet,#sheet *,#tabs *{animation:none!important;transition:none!important}}
:root[data-pal=nd] #view,:root[data-pal=nd] #view *,:root[data-pal=nd] #sheet,:root[data-pal=nd] #sheet *,:root[data-pal=nd] #tabs *{animation:none!important;transition:none!important}

#view,#sheetbox{overflow-wrap:break-word}
#view .btn,#sheetbox .btn{max-width:100%}
.palbtn,.feel{max-width:100%;min-width:0}
.row>.btn{flex:none;white-space:nowrap}
.row>input,.row>select{min-width:0}
.palbtn .sw{flex-wrap:wrap}
