
@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:400;src:url("/fonts/m-plus-rounded-1c-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:700;src:url("/fonts/m-plus-rounded-1c-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"M PLUS Rounded 1c";font-style:normal;font-display:swap;font-weight:800;src:url("/fonts/m-plus-rounded-1c-latin-800-normal.woff2") format("woff2")}
:root{
  --background:#fff5f8;--foreground:#3b2330;--card:#fff;--muted-foreground:#8a6577;--border:#f8d3e0;--primary:#f06292;
  --good:#0ca30c;--warning:#fab219;--critical:#d03b3b;--no-data:color-mix(in srgb,var(--muted-foreground) 22%,var(--card));
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --background:#14111f;--foreground:#ece6ff;--card:#1f1a2e;--muted-foreground:#9a90b8;--border:#342b4d;--primary:#b388ff;color-scheme:dark;
}}
*{box-sizing:border-box}
html,body{margin:0;overflow-x:clip}
body{background:var(--background);color:var(--foreground);font-family:"M PLUS Rounded 1c",ui-rounded,ui-sans-serif,system-ui,sans-serif;line-height:1.5;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit}
h1,h2,h3,p{margin:0}
h1{font-size:clamp(1.9rem,5vw,2.25rem);font-weight:800;line-height:1.15;text-wrap:balance}
h2{font-size:1.25rem;font-weight:800}
h3{font-size:1rem;font-weight:700}
.soft{color:var(--muted-foreground)}
.small{font-size:.875rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem max(1rem,calc(50% - 28rem));border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--card) 75%,transparent);backdrop-filter:blur(12px)}
.brand{font-weight:800;font-size:1.1rem;text-decoration:none}
.heart{color:var(--primary);display:inline-block;animation:heartbeat 1.8s ease-in-out infinite}
main{flex:1;width:100%;max-width:56rem;margin:0 auto;padding:3rem 1rem;display:flex;flex-direction:column;gap:2.5rem}
footer{text-align:center;padding:1.5rem 1rem;border-top:1px solid var(--border)}
.card{background:var(--card);border:1px solid var(--border);border-radius:1rem;box-shadow:0 1px 2px rgb(0 0 0/.04)}
.list>*+*{border-top:1px solid var(--border)}
.empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1.5rem;text-align:center}
.kao{font-size:1.6rem}
.hero{display:flex;align-items:center;gap:1rem}
.pulse{position:relative;display:grid;place-items:center;flex-shrink:0;width:3rem;height:3rem}
.pulse::after{content:"";position:absolute;inset:0;border-radius:9999px;background:currentColor;animation:ping 2.4s cubic-bezier(0,0,.2,1) infinite}
.pulse svg{position:relative;z-index:1}
section{display:flex;flex-direction:column;gap:1rem}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.5rem}
.key{display:flex;flex-wrap:wrap;gap:.25rem 1rem;font-size:.75rem;color:var(--muted-foreground)}
.key span{display:flex;align-items:center;gap:.375rem}
.sw{display:inline-block;width:.625rem;height:.625rem;border-radius:3px}
.row{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem}
.row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.row-foot{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem}
.row-foot b{color:var(--foreground)}
.pill{display:flex;flex-shrink:0;align-items:center;gap:.375rem;border:1px solid var(--border);border-radius:9999px;padding:.25rem .625rem;font-size:.75rem}
.pill b{color:var(--foreground)}
.tag{flex-shrink:0;border:1px solid var(--border);border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;font-weight:700}
.incident{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.5rem}
.grow{flex:1;min-width:0}
.i14{width:.875rem;height:.875rem}.i20{width:1.25rem;height:1.25rem;flex-shrink:0;margin-top:.15rem}.i48{width:3rem;height:3rem}
.t-good{color:var(--good)}.t-warning{color:var(--warning)}.t-critical{color:var(--critical)}.t-muted{color:var(--muted-foreground)}
.l-good{background:var(--good)}.l-warning{background:var(--warning)}.l-critical{background:var(--critical)}.l-none{background:var(--no-data)}
.strip{position:relative}
.bars{display:flex;align-items:flex-end;gap:2px;height:2.25rem;border-radius:3px;outline:none;touch-action:pan-y}
.bars:focus-visible{box-shadow:0 0 0 2px var(--primary)}
.bar{flex:1;min-width:0;height:100%;border-radius:3px;transform-origin:bottom;transition:transform .18s cubic-bezier(.3,1.6,.5,1);animation:grow .5s cubic-bezier(.2,.8,.2,1) backwards}
.bar.on{transform:scaleY(1.12)}
.phone{display:none}
@media (max-width:639px){.bar.old{display:none}.phone{display:inline}.wide{display:none}.row,.incident{padding:1.1rem 1rem}}
.bar:nth-child(1){animation-delay:0ms}.bar:nth-child(2){animation-delay:5ms}.bar:nth-child(3){animation-delay:10ms}.bar:nth-child(4){animation-delay:15ms}.bar:nth-child(5){animation-delay:20ms}.bar:nth-child(6){animation-delay:25ms}.bar:nth-child(7){animation-delay:30ms}.bar:nth-child(8){animation-delay:35ms}.bar:nth-child(9){animation-delay:40ms}.bar:nth-child(10){animation-delay:45ms}.bar:nth-child(11){animation-delay:50ms}.bar:nth-child(12){animation-delay:55ms}.bar:nth-child(13){animation-delay:60ms}.bar:nth-child(14){animation-delay:65ms}.bar:nth-child(15){animation-delay:70ms}.bar:nth-child(16){animation-delay:75ms}.bar:nth-child(17){animation-delay:80ms}.bar:nth-child(18){animation-delay:85ms}.bar:nth-child(19){animation-delay:90ms}.bar:nth-child(20){animation-delay:95ms}.bar:nth-child(21){animation-delay:100ms}.bar:nth-child(22){animation-delay:105ms}.bar:nth-child(23){animation-delay:110ms}.bar:nth-child(24){animation-delay:115ms}.bar:nth-child(25){animation-delay:120ms}.bar:nth-child(26){animation-delay:125ms}.bar:nth-child(27){animation-delay:130ms}.bar:nth-child(28){animation-delay:135ms}.bar:nth-child(29){animation-delay:140ms}.bar:nth-child(30){animation-delay:145ms}.bar:nth-child(31){animation-delay:150ms}.bar:nth-child(32){animation-delay:155ms}.bar:nth-child(33){animation-delay:160ms}.bar:nth-child(34){animation-delay:165ms}.bar:nth-child(35){animation-delay:170ms}.bar:nth-child(36){animation-delay:175ms}.bar:nth-child(37){animation-delay:180ms}.bar:nth-child(38){animation-delay:185ms}.bar:nth-child(39){animation-delay:190ms}.bar:nth-child(40){animation-delay:195ms}.bar:nth-child(41){animation-delay:200ms}.bar:nth-child(42){animation-delay:205ms}.bar:nth-child(43){animation-delay:210ms}.bar:nth-child(44){animation-delay:215ms}.bar:nth-child(45){animation-delay:220ms}.bar:nth-child(46){animation-delay:225ms}.bar:nth-child(47){animation-delay:230ms}.bar:nth-child(48){animation-delay:235ms}.bar:nth-child(49){animation-delay:240ms}.bar:nth-child(50){animation-delay:245ms}.bar:nth-child(51){animation-delay:250ms}.bar:nth-child(52){animation-delay:255ms}.bar:nth-child(53){animation-delay:260ms}.bar:nth-child(54){animation-delay:265ms}.bar:nth-child(55){animation-delay:270ms}.bar:nth-child(56){animation-delay:275ms}.bar:nth-child(57){animation-delay:280ms}.bar:nth-child(58){animation-delay:285ms}.bar:nth-child(59){animation-delay:290ms}.bar:nth-child(60){animation-delay:295ms}.bar:nth-child(61){animation-delay:300ms}.bar:nth-child(62){animation-delay:305ms}.bar:nth-child(63){animation-delay:310ms}.bar:nth-child(64){animation-delay:315ms}.bar:nth-child(65){animation-delay:320ms}.bar:nth-child(66){animation-delay:325ms}.bar:nth-child(67){animation-delay:330ms}.bar:nth-child(68){animation-delay:335ms}.bar:nth-child(69){animation-delay:340ms}.bar:nth-child(70){animation-delay:345ms}.bar:nth-child(71){animation-delay:350ms}.bar:nth-child(72){animation-delay:355ms}.bar:nth-child(73){animation-delay:360ms}.bar:nth-child(74){animation-delay:365ms}.bar:nth-child(75){animation-delay:370ms}.bar:nth-child(76){animation-delay:375ms}.bar:nth-child(77){animation-delay:380ms}.bar:nth-child(78){animation-delay:385ms}.bar:nth-child(79){animation-delay:390ms}.bar:nth-child(80){animation-delay:395ms}.bar:nth-child(81){animation-delay:400ms}.bar:nth-child(82){animation-delay:405ms}.bar:nth-child(83){animation-delay:410ms}.bar:nth-child(84){animation-delay:415ms}.bar:nth-child(85){animation-delay:420ms}.bar:nth-child(86){animation-delay:425ms}.bar:nth-child(87){animation-delay:430ms}.bar:nth-child(88){animation-delay:435ms}.bar:nth-child(89){animation-delay:440ms}.bar:nth-child(90){animation-delay:445ms}
@media (max-width:639px){.bar:nth-child(61){animation-delay:0ms}.bar:nth-child(62){animation-delay:10ms}.bar:nth-child(63){animation-delay:20ms}.bar:nth-child(64){animation-delay:30ms}.bar:nth-child(65){animation-delay:40ms}.bar:nth-child(66){animation-delay:50ms}.bar:nth-child(67){animation-delay:60ms}.bar:nth-child(68){animation-delay:70ms}.bar:nth-child(69){animation-delay:80ms}.bar:nth-child(70){animation-delay:90ms}.bar:nth-child(71){animation-delay:100ms}.bar:nth-child(72){animation-delay:110ms}.bar:nth-child(73){animation-delay:120ms}.bar:nth-child(74){animation-delay:130ms}.bar:nth-child(75){animation-delay:140ms}.bar:nth-child(76){animation-delay:150ms}.bar:nth-child(77){animation-delay:160ms}.bar:nth-child(78){animation-delay:170ms}.bar:nth-child(79){animation-delay:180ms}.bar:nth-child(80){animation-delay:190ms}.bar:nth-child(81){animation-delay:200ms}.bar:nth-child(82){animation-delay:210ms}.bar:nth-child(83){animation-delay:220ms}.bar:nth-child(84){animation-delay:230ms}.bar:nth-child(85){animation-delay:240ms}.bar:nth-child(86){animation-delay:250ms}.bar:nth-child(87){animation-delay:260ms}.bar:nth-child(88){animation-delay:270ms}.bar:nth-child(89){animation-delay:280ms}.bar:nth-child(90){animation-delay:290ms}}
.tip{position:absolute;z-index:50;width:max-content;max-width:15rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:.6rem;background:var(--card);font-size:.75rem;box-shadow:0 10px 30px -10px rgb(0 0 0/.3);pointer-events:none;transition:opacity .15s ease,translate .12s ease-out;translate:-50% 0}
.tip p+p{margin-top:.25rem}
.tip .day{font-weight:700}
.tip .dot{display:inline-block;width:.5rem;height:.5rem;border-radius:9999px;margin-right:.375rem}
.rise{animation:rise .7s cubic-bezier(.2,.8,.2,1) backwards}
section.rise:nth-of-type(2){animation-delay:.08s}section.rise:nth-of-type(3){animation-delay:.16s}
.fresh .rise,.fresh .bar{animation:none}
@keyframes rise{from{opacity:0;transform:translateY(20px)}}
@keyframes grow{from{transform:scaleY(.15);opacity:0}}
@keyframes ping{0%{transform:scale(.8);opacity:.35}80%,100%{transform:scale(1.7);opacity:0}}
@keyframes heartbeat{0%,100%{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}45%{transform:scale(1.12)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
