
:root{--bg:#F5F0E6;--cd:#FFFCF5;--tx:#25312a;--mu:#5d675f;--ln:#ddd3bd;--fg:#344C3B;--on:#F5F0E6;--cg:#854C2D;--pk:#F17F91;--sk:#A7C9CC;--okb:#d6e8ea;--okt:#234a3a;--wab:#fbdde2;--wat:#854C2D;--erb:#f7b5c0;--ert:#6e1426;--inb:#e9e1cf;--bill:#e3eff0;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#16221b;--cd:#202f25;--tx:#f5f0e6;--mu:#b7bfb3;--ln:#364a3c;--fg:#A7C9CC;--on:#16221b;--cg:#e0a77f;--okb:#2d4a4d;--okt:#cfe6e8;--wab:#4a2b33;--wat:#f5b9c4;--erb:#7a2c3d;--ert:#ffd9df;--inb:#2e4033;--bill:#1f3a3d;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#16221b;--cd:#202f25;--tx:#f5f0e6;--mu:#b7bfb3;--ln:#364a3c;--fg:#A7C9CC;--on:#16221b;--cg:#e0a77f;--okb:#2d4a4d;--okt:#cfe6e8;--wab:#4a2b33;--wat:#f5b9c4;--erb:#7a2c3d;--ert:#ffd9df;--inb:#2e4033;--bill:#1f3a3d;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--tx);font:400 15px/1.5 Inter,system-ui,sans-serif}
.hd{position:relative;height:140px;overflow:hidden}
.hd svg{position:absolute;inset:0;width:100%;height:100%}
.tc{position:absolute;left:16px;bottom:14px;background:var(--bg);padding:8px 18px 10px;border-radius:4px 16px 4px 16px}
.tc b{display:block;font:400 36px/1.05 "Poiret One","Century Gothic",sans-serif;color:var(--fg)}
.tc span{font:600 13px "Bricolage Grotesque",sans-serif;color:var(--cg)}
main{max-width:720px;margin:0 auto;padding:18px 16px 96px}
h1{font:400 34px/1.1 "Poiret One","Century Gothic",sans-serif;color:var(--fg);margin:0 0 4px}
h2{font:700 18px "Bricolage Grotesque",sans-serif;color:var(--fg);margin:26px 0 10px}
p{margin:0}.mu{color:var(--mu);font-size:14px}
.demo{background:var(--wab);color:var(--wat);border-radius:4px 12px 4px 12px;padding:8px 12px;font-size:13px;margin:12px 0 4px}
.card,details{background:var(--cd);border:1px solid var(--ln);border-radius:4px 16px 4px 16px;margin-bottom:10px}
.card{padding:14px}
.row{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.chip{display:inline-block;font-size:12px;font-weight:500;padding:2px 10px;border-radius:99px;white-space:nowrap}
.ok{background:var(--okb);color:var(--okt)}.wa{background:var(--wab);color:var(--wat)}.er{background:var(--erb);color:var(--ert)}.in{background:var(--inb);color:var(--fg)}
button,select,input{font:inherit;color:var(--tx)}
button{background:var(--fg);color:var(--on);border:0;border-radius:4px 12px 4px 12px;padding:9px 16px;font-weight:500;cursor:pointer;min-height:42px}
button.sec{background:var(--inb);color:var(--fg)}
button.pk{background:var(--pk);color:#2b1218}
button[aria-pressed="true"]{background:var(--fg);color:var(--on)}
button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--pk);outline-offset:2px}
.tl{overflow-x:auto}.tl>div{min-width:560px}
.grid{display:grid;grid-template-columns:repeat(28,1fr);align-items:center;row-gap:6px}
.dh{grid-column:span 2;font-size:11px;color:var(--mu);border-left:1px solid var(--ln);padding-left:3px}
.bar{height:32px;border-radius:2px 10px 2px 10px;font-size:12px;font-weight:500;padding:6px 10px;overflow:hidden;white-space:nowrap}
.b0{background:#344C3B;color:#F5F0E6}.b1{background:#854C2D;color:#F5F0E6}.b2{background:#A7C9CC;color:#1d2b22}.b3{background:#F17F91;color:#2b1218}
.gap{height:32px;border-radius:2px 10px 2px 10px;border:2px dashed var(--cg);color:var(--cg);font-size:12px;font-weight:500;padding:4px 10px;white-space:nowrap;overflow:hidden}
.lbl{grid-column:1/-1;font:600 14px "Bricolage Grotesque",sans-serif;margin-top:8px;color:var(--fg)}
summary{padding:14px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px;align-items:center}
summary::-webkit-details-marker{display:none}
.bd{padding:0 14px 14px;border-top:1px solid var(--ln)}
.ck{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--ln)}
.ck:last-of-type{border-bottom:0}
.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.mn{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0}
.mn b{font:700 20px "Bricolage Grotesque",sans-serif;color:var(--cg);text-transform:capitalize}
.mn button{min-width:46px}
button:disabled{opacity:.35;cursor:default}
label{display:block;font-size:14px;font-weight:500;margin:12px 0 4px}
input,select{width:100%;padding:10px;border:1px solid var(--ln);border-radius:4px 10px 4px 10px;background:var(--cd)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.s1{border-left:6px solid var(--fg)}.s2{border-left:6px solid var(--cg)}
.s3{background:var(--bill);border:1px solid var(--sk);border-left:6px solid var(--sk)}
.note{background:var(--wab);color:var(--wat);padding:10px 12px;border-radius:4px 12px 4px 12px;font-size:14px;margin:12px 0}
.pr{display:grid;gap:6px;padding:10px;margin-top:8px;background:var(--inb);border-radius:4px 12px 4px 12px}
.pr button{justify-self:start;min-height:34px;padding:4px 12px;font-size:13px}
.pp{border-left:6px solid var(--sk)}
.wd{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font:600 12px "Bricolage Grotesque",sans-serif;color:var(--mu);padding:6px 0 4px}
.wk{position:relative;display:grid;grid-template-columns:repeat(7,1fr)}
.cl{min-height:62px;border-top:1px solid var(--ln);border-left:1px solid var(--ln);padding:3px 4px;font-size:12px;color:var(--mu)}
.cl:nth-child(7n){border-right:1px solid var(--ln)}
.mg .wk:last-child .cl{border-bottom:1px solid var(--ln)}
.cl.of{background:var(--inb);opacity:.5}
.cl.td span{background:var(--pk);color:#2b1218;border-radius:99px;padding:1px 6px;font-weight:700}
.ov{position:absolute;left:0;right:0;top:26px;bottom:4px;display:grid;grid-template-columns:repeat(14,1fr);grid-auto-rows:24px;pointer-events:none}
.ov .bar,.ov .gap{height:24px;padding:3px 6px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;grid-row:1}
[hidden]{display:none!important}
nav{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--cd);border-top:1px solid var(--ln);padding-bottom:env(safe-area-inset-bottom,0px)}
nav button{flex:1;background:none;color:var(--mu);border-radius:0;min-height:56px;font-size:14px}
nav button[aria-current="true"]{color:var(--fg);font-weight:500;box-shadow:inset 0 3px 0 var(--pk)}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(76px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--on);padding:10px 16px;border-radius:4px 12px 4px 12px;font-size:14px;display:none;max-width:90%}
@media (max-width:420px){.two{grid-template-columns:1fr}}
