:root{--ink:#0c1412;--line:#e8dcbe1f;--cream:#f3ead7;--muted:#9aab9f;--gold:#e8a838;--mint:#3dd6c6;--danger:#ff7b72;--ok:#7dcea0;--font-display:"Bricolage Grotesque", Georgia, serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--pad:clamp(.75rem, 3vw, 1.5rem);--gap:clamp(.75rem, 2vw, 1rem);--radius:2px;color:var(--cream);background:var(--ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}html,body,#root{max-width:100%;min-height:100dvh;margin:0}body{background-color:#0000;background-image:radial-gradient(80% 50% at 10% -10%,#3dd6c624,#0000 55%),radial-gradient(60% 40% at 95% 5%,#e8a8381f,#0000 50%),linear-gradient(165deg,#0a110f 0%,#0f1a16 45%,#0c1412 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100dvh;overflow-x:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.app{width:min(1040px,100%);max-width:100%;padding:max(var(--pad), env(safe-area-inset-top,0px)) max(var(--pad), env(safe-area-inset-right,0px)) max(2rem, env(safe-area-inset-bottom,0px)) max(var(--pad), env(safe-area-inset-left,0px));margin:0 auto}.layout{gap:var(--gap);grid-template-columns:1fr;align-items:start;width:100%;display:grid}.panel{border:1px solid var(--line);background:linear-gradient(160deg,#1a2b26eb,#13201ce0);min-width:0;padding:clamp(.9rem,2.5vw,1.25rem);animation:.55s both rise}.panel:nth-child(2){animation-delay:60ms}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:1rem;display:flex}.panel-head.compact{margin-bottom:.75rem}.panel-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.15rem,3.5vw,1.3rem);font-weight:700}.panel-head h3{font-family:var(--font-display);margin:0;font-size:clamp(.95rem,3vw,1.05rem);font-weight:700}.panel-head span{color:var(--muted);font-size:.78rem}.status-card{border:1px solid var(--line);background:#0c141273;margin-bottom:1.15rem;padding:clamp(.85rem,2.5vw,1.05rem)}.status-card.clear{background:#3dd6c614;border-color:#3dd6c666}.status-card.present{background:#e8a8381a;border-color:#e8a83873}.status-card.emergency{background:#ff7b721f;border-color:#ff7b7280}.hint-line{color:var(--muted);margin:.45rem 0 0;font-size:.78rem}.where{align-items:center;gap:clamp(.65rem,2vw,.85rem);min-width:0;display:flex}.where-emoji{flex-shrink:0;font-size:clamp(1.8rem,6vw,2.4rem);line-height:1}.where-label{color:var(--muted);margin:0;font-size:clamp(.78rem,2.5vw,.85rem)}.where-place{font-family:var(--font-display);letter-spacing:-.02em;word-break:break-word;margin:.1rem 0 0;font-size:clamp(1.35rem,5.5vw,2.1rem);font-weight:750;line-height:1.1}.empty-where .hint{color:var(--muted);margin:.4rem 0 0;font-size:.88rem}.meta-row{border-top:1px solid var(--line);grid-template-columns:1fr;gap:.85rem;margin-top:1rem;padding-top:.9rem;display:grid}.meta-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem;font-size:.7rem;font-weight:600;display:block}.meta-row strong{word-break:break-word;font-size:.98rem;font-weight:600;display:block}.previous{margin-top:.25rem}.history-list{-webkit-overflow-scrolling:touch;gap:.45rem;max-height:19.8rem;padding-right:.15rem;display:grid;overflow-y:auto}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-thumb{background:#e8dcbe40;border-radius:3px}.history-item{border-bottom:1px solid var(--line);background:#0c141266;grid-template-columns:1fr auto;align-items:start;gap:.5rem .75rem;min-width:0;padding:.7rem .8rem;font-size:clamp(.82rem,2.5vw,.88rem);display:grid}.history-item>div{overflow-wrap:anywhere;min-width:0}.history-item .doing{color:color-mix(in srgb, var(--cream) 72%, transparent)}.history-item time{color:var(--muted);white-space:nowrap;font-size:.75rem}.form{gap:.9rem;display:grid}label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;gap:.35rem;font-size:.78rem;font-weight:600;display:grid}input,textarea{border:1px solid var(--line);border-radius:var(--radius);background:#0c1412a6;outline:none;width:100%;max-width:100%;padding:.75rem .85rem;font-size:16px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:color-mix(in srgb, var(--mint) 55%, transparent);box-shadow:0 0 0 3px #3dd6c61f}textarea{resize:vertical;min-height:4.2rem}.places{grid-template-columns:repeat(auto-fill,minmax(min(100%,5.6rem),1fr));gap:.5rem;width:100%;display:grid}.place-chip{border:1px solid var(--line);border-radius:var(--radius);text-align:center;background:#0c141280;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-height:2.75rem;padding:.7rem .45rem;font-size:clamp(.75rem,2.4vw,.82rem);font-weight:500;transition:border-color .15s,background .15s;display:flex}.place-chip.active{border-color:var(--mint);background:#3dd6c61f}.place-chip.emergency{color:#ffb4ae;border-color:#ff7b7259;flex-direction:row;grid-column:1/-1;justify-content:center;align-items:center;gap:.55rem;width:100%;max-width:none;min-height:3.1rem;padding:.85rem 1rem;font-size:1rem;font-weight:600;display:flex}.place-chip.emergency.active{border-color:var(--danger);color:var(--danger);background:#ff7b7229}.emergency-places{width:100%;display:block}.emergency-places .place-chip{box-sizing:border-box;width:100%}.place-chip .emoji{font-size:1.15rem}.btn-primary{color:#1a1205;letter-spacing:.02em;border-radius:var(--radius);background:linear-gradient(135deg,#f0b84a,#d49220);border:none;width:100%;min-height:2.85rem;margin-top:.15rem;padding:.85rem 1rem;font-size:1rem;font-weight:700;transition:transform .15s,filter .15s}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-primary:active:not(:disabled){transform:scale(.99)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.error{color:var(--danger);background:#ff7b721f;border:1px solid #ff7b7259;margin-bottom:1rem;padding:.65rem .8rem;font-size:.85rem}.success{color:var(--ok);background:#7dcea01f;border:1px solid #7dcea059;padding:.65rem .8rem;font-size:.85rem}.notify-guide{margin-top:var(--gap);animation-delay:.1s}.notify-intro{color:color-mix(in srgb, var(--cream) 85%, transparent);margin:0 0 .85rem;font-size:.95rem;line-height:1.45}.notify-downloads{grid-template-columns:1fr;gap:.5rem;margin-bottom:1rem;display:grid}@media (width>=520px){.notify-downloads{grid-template-columns:1fr 1fr}}.download-link{border:1px solid var(--line);color:var(--mint);text-align:center;border-radius:var(--radius);background:#0c14128c;padding:.75rem .9rem;font-size:.9rem;font-weight:600;text-decoration:none;display:block}.download-link:hover{border-color:color-mix(in srgb, var(--mint) 50%, transparent);background:#3dd6c61a}.notify-steps{color:var(--cream);gap:.55rem;margin:0;padding-left:1.2rem;font-size:.92rem;line-height:1.45;display:grid}.topic-code{border:1px solid var(--line);border-radius:var(--radius);max-width:100%;color:var(--gold);word-break:break-all;background:#0c1412a6;margin-top:.2rem;padding:.12rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(.78rem,3.2vw,.88rem);font-weight:600;display:inline-block}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);padding:1rem;font-size:.9rem}.loading{min-height:60dvh;padding:var(--pad);color:var(--muted);font-family:var(--font-display);text-align:center;place-items:center;font-size:clamp(1.05rem,4vw,1.25rem);display:grid}@media (width>=480px){.meta-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (width>=768px){.layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.95fr)}.history-item{align-items:center}}@media (width>=1024px){.layout{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr)}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.app{width:min(1100px,100%)}}@media (width<=380px){.panel{padding:.8rem}.history-item{grid-template-columns:1fr;gap:.25rem}.history-item time{white-space:normal}.notify-downloads{grid-template-columns:1fr}.download-link{padding:.7rem .65rem;font-size:.82rem}}@media (height<=700px){.history-list{max-height:13.2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
