:root{
  --bg:#1B1310; --card:#2A1E17; --card2:#382920; --line:rgba(255,168,90,.30);
  --a1:#FF5A1F; --a2:#FFAA2B; --text:#FFF3E8; --muted:#C0A292;
  --dang:#FF4D4D; --green:#3FD37A;
  --p:#FF8A3D; --f:#FFC94D; --u:#FFE0BE;
  --grad:linear-gradient(135deg,#FF4D00,#FFAA2B);
  --bg-deep:rgba(19,13,11,.96);
  --veil:rgba(9,6,4,.74);
  --shade:20 14 11;
  --bg-rgb:27 19 16;
  --nav-h:64px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  background:var(--bg);color:var(--text);
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:15px;line-height:1.5;overscroll-behavior-y:none;
}
body::before{
  content:'';position:fixed;top:-10%;right:-25%;width:150vw;height:70vh;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 72% 26%, rgba(255,130,40,.30), rgba(255,90,10,.10) 44%, transparent 70%);
}
h1,h2,h3,.ff{font-family:'Russo One','Manrope',sans-serif;font-weight:400;letter-spacing:.01em}
button{font-family:inherit;color:inherit;border:0;background:none;cursor:pointer}
input,textarea{font-family:inherit;color:inherit}
img{max-width:100%;height:auto;display:block}

#app{max-width:520px;margin:0 auto;position:relative;min-height:100vh}
.screen{display:none;padding:16px 14px calc(var(--nav-h) + 28px + env(safe-area-inset-bottom))}
.screen.on{display:block;animation:fade .22s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  display:flex;max-width:520px;margin:0 auto;
  background:var(--bg-deep);backdrop-filter:blur(14px);
  border-top:1px solid var(--line);
  padding-bottom:env(safe-area-inset-bottom);
}
.tab{flex:1;min-width:0;padding:9px 1px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);font-size:9.5px;font-weight:700;transition:color .15s}
.tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tab svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tab.on{color:var(--a2)}
.tab span.tabico{position:relative;display:inline-flex;overflow:visible;max-width:none}
.tabdot{position:absolute;top:-4px;left:11px;min-width:15px;height:15px;padding:0 4px;border-radius:8px;
  background:#e5484d;color:#fff;font-size:9.5px;font-weight:800;font-style:normal;line-height:15px;
  text-align:center;box-shadow:0 0 0 2px var(--bg-deep)}
.tab.on svg{filter:drop-shadow(0 0 7px rgba(255,138,45,.6))}

.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px}
.card.tap{cursor:pointer;transition:transform .12s,border-color .15s}
.card.tap:active{transform:scale(.985);border-color:rgba(255,138,45,.45)}
.sect{margin:16px 0 9px;display:flex;align-items:center;gap:9px}
.sect::before{content:'';flex:none;width:18px;height:2px;border-radius:2px;background:var(--grad)}
.sect h2{font-size:13px;margin:0;text-transform:uppercase;letter-spacing:.13em;color:var(--a2)}
.sect .bar{flex:1;height:1px;background:linear-gradient(90deg,rgba(255,138,45,.28),transparent)}
.h1i{font-size:22px;font-style:italic;margin-bottom:4px}
.screen > .ff:first-child{font-style:italic}
.muted{color:var(--muted)}
.sm{font-size:13px}
.xs{font-size:11.5px}
.b{font-weight:800}
.center{text-align:center}
.row{display:flex;align-items:center;gap:10px}
.between{display:flex;align-items:center;justify-content:space-between;gap:10px}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.btn{display:block;width:100%;padding:14px;border-radius:14px;background:var(--grad);color:#1A0A00;font-weight:800;font-size:15px;text-align:center;box-shadow:0 6px 24px rgba(255,90,31,.36);transition:transform .12s,opacity .15s}
.btn:active{transform:scale(.98)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--a2);box-shadow:none}

.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{padding:4px 9px;border-radius:8px;font-size:11.5px;font-weight:800;letter-spacing:.02em}
.chip.p{background:rgba(255,138,61,.16);color:var(--p)}
.chip.f{background:rgba(255,201,77,.15);color:var(--f)}
.chip.u{background:rgba(255,224,190,.13);color:var(--u)}
.chip.kcal{background:var(--grad);color:#1A0A00}
.chip.now{background:var(--grad);color:#1A0A00}
.chip.own{background:rgba(63,211,122,.16);color:var(--green)}

.badge{min-width:24px;height:24px;padding:0 6px;border-radius:8px;background:var(--card2);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;color:var(--a2)}
.tagx{font-size:9.5px;font-weight:800;letter-spacing:.09em;color:var(--muted);text-transform:uppercase}

.plate{border-radius:14px;padding:12px 13px;font-size:13.5px;line-height:1.45;margin-bottom:12px}
.plate .ico{display:inline-block;vertical-align:-3px;width:16px;height:16px;margin-right:5px}
.ico.inl{display:inline-block;vertical-align:-3px;width:15px;height:15px;margin-right:5px}
.bigi{width:38px;height:38px;margin:0 auto;color:var(--a2)}
.pill .ico{width:14px;height:14px}
.acc .h .ar .ico{width:13px;height:13px}
.md1{color:#FFC94D}.md2{color:#DCE3EC}.md3{color:#D99B6C}
.plate.warn{background:rgba(255,77,77,.13);border:1px solid rgba(255,77,77,.42);color:#FFCFCF}
#toast{background:var(--card2);border:1px solid var(--line);color:var(--text);
  box-shadow:0 10px 28px rgba(0,0,0,.45)}
#toast.warn{background:#4A211D;border-color:rgba(255,77,77,.55);color:#FFCFCF}
.plate.info{background:rgba(255,138,45,.11);border:1px solid var(--line);color:#F7DFCB}
.plate.green{background:rgba(63,211,122,.12);border:1px solid rgba(63,211,122,.38);color:#C8F2DA}

.chk{display:flex;align-items:flex-start;gap:11px;padding:11px 12px;border-radius:13px;background:var(--card);border:1px solid var(--line);margin-bottom:8px;cursor:pointer;transition:border-color .15s,background .15s}
.chk.done{background:linear-gradient(0deg,rgba(255,90,31,.16),rgba(255,90,31,.16)),var(--card);border-color:rgba(255,138,45,.55)}
.chk .box{flex:none;width:23px;height:23px;border-radius:8px;border:2px solid rgba(165,137,122,.55);display:flex;align-items:center;justify-content:center;transition:all .18s;margin-top:1px}
.chk.done .box{background:var(--grad);border-color:transparent;box-shadow:0 0 12px rgba(255,138,45,.55)}
.chk .box svg{width:13px;height:13px;stroke:#1A0A00;stroke-width:3.4;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .15s}
.chk.done .box svg{opacity:1}
.chk .t{flex:1;font-size:14px;line-height:1.35;min-width:0}
.chk.done .t{color:#FFE2CB}
.chk .t small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}

.mline{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid rgba(255,138,45,.12);cursor:pointer;transition:opacity .12s}
.mline.last{border-bottom:0}
.mline:active{opacity:.6}
.mline .mln{flex:1;min-width:0}
.mline .mlt{display:flex;align-items:center;gap:6px;min-width:0;height:15px}
.mline .mlt .tagx{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mline .mlt .chip{flex:none;font-size:10px;padding:0 6px;line-height:15px;border-radius:7px}
.mline .mlb{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mline .mlh{flex:none}
.dayph{position:relative;flex:none;width:56px;height:56px;border-radius:13px;overflow:hidden;
  background:var(--card2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:rgba(255,170,43,.42)}
.dayph .ico{width:22px;height:22px;stroke-width:1.4}
.dayph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .3s}
.dayph img.in{opacity:1}
@media (prefers-reduced-motion:reduce){.dayph img{transition:none}}
@media (max-width:340px){
  .dayph{width:44px;height:44px;border-radius:10px}
  .mline{gap:8px}
  .mline .mlt .tagx{font-size:9px;letter-spacing:.06em}
}

.dbox{flex:none;width:26px;height:26px;border-radius:9px;border:2px solid rgba(165,137,122,.55);display:flex;align-items:center;justify-content:center;transition:all .18s}
.dbox.done{background:var(--grad);border-color:transparent;box-shadow:0 0 12px rgba(255,138,45,.55)}
.dbox svg{width:14px;height:14px;stroke:#1A0A00;stroke-width:3.4;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .15s}
.dbox.done svg{opacity:1}
.card.done-card{background:linear-gradient(0deg,rgba(255,90,31,.16),rgba(255,90,31,.16)),var(--card);border-color:rgba(255,138,45,.55)}

#dayBar{position:fixed;top:0;left:0;right:0;height:3px;z-index:70;background:rgba(255,138,45,.12);opacity:0;transition:opacity .25s;pointer-events:none}
#dayBar.on{opacity:1}
#dayBar i{display:block;height:100%;width:0;background:var(--grad);transition:width .35s ease;box-shadow:0 0 10px rgba(255,138,45,.7)}

.tw{position:relative}
.twwrap{position:relative}
.twwrap::after{content:'';position:absolute;top:0;right:-14px;bottom:0;width:34px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--bg))}

.ring{position:relative;width:78px;height:78px;flex:none}
.ring svg{transform:rotate(-90deg)}
.ring .v{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring .v b{font-size:19px;font-family:'Russo One',sans-serif}
.ring .v span{font-size:9.5px;color:var(--muted);margin-top:-2px}


#modal{position:fixed;inset:0;z-index:100;display:none}
#modal.on{display:block}
#modal .ov{position:absolute;inset:0;background:var(--veil);backdrop-filter:blur(3px);animation:fade .18s}
#modal .sheet{
  position:absolute;left:0;right:0;bottom:0;max-width:520px;margin:0 auto;
  background:var(--card);border:1px solid var(--line);border-bottom:0;
  border-radius:22px 22px 0 0;padding:8px 16px calc(22px + env(safe-area-inset-bottom));
  max-height:86vh;overflow-y:auto;animation:up .26s cubic-bezier(.2,.9,.3,1)
}
@keyframes up{from{transform:translateY(100%)}to{transform:none}}
#modal .grip{width:38px;height:4px;border-radius:4px;background:rgba(165,137,122,.4);margin:6px auto 14px}

.stabs{display:flex;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:4px;margin-bottom:14px}
.stab{flex:1;padding:9px 4px;border-radius:10px;font-size:12.5px;font-weight:800;color:var(--muted);text-align:center;transition:all .16s}
.stab.on{background:var(--grad);color:#1A0A00;box-shadow:0 4px 14px rgba(255,90,31,.32)}

.fchips{display:flex;gap:7px;overflow-x:auto;padding-bottom:10px;margin-bottom:4px;scrollbar-width:none}
.fchips::-webkit-scrollbar{display:none}
.fchip{flex:none;padding:7px 13px;border-radius:20px;background:var(--card);border:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--muted);transition:all .16s}
.fchip.on{background:rgba(255,90,31,.2);border-color:rgba(255,138,45,.55);color:var(--a2)}

.vprice{display:flex;align-items:baseline;gap:9px;justify-content:center;flex-wrap:wrap}
.vprice b{font-size:36px;font-style:italic;line-height:1}
.vprice s{font-size:18px}
.vprice span{font-size:13px}
.vgift{display:flex;gap:11px;align-items:flex-start}
.vgift .em{width:26px;height:26px;flex:none;color:var(--a2)}
.vmore{display:flex;align-items:center;justify-content:center;gap:7px;
  padding:12px;border-radius:14px;border:1px dashed var(--line);
  color:var(--a2);font-size:13px;font-weight:800;margin-top:-2px;cursor:pointer}
.vmore:active{background:rgba(255,90,31,.12)}
.qlink{display:inline-block;color:var(--a2);text-decoration:underline;text-underline-offset:3px;
  cursor:pointer;font:inherit;padding:14px 4px;margin:-14px -4px;vertical-align:baseline}
.qlink:focus-visible{outline:2px solid var(--a2);outline-offset:1px;border-radius:6px}

.dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dcard{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .12s,border-color .15s}
.dcard:active{transform:scale(.985);border-color:rgba(255,138,45,.45)}
.dcov{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:46px}
.dcov img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dcov .dcico{width:38%;height:38%;color:#FFDDBC;opacity:.92}
.dsico{flex:none;width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center}
.dsico .dcico{width:22px;height:22px;color:#FFDDBC}
.dcard.soon .dcov{filter:saturate(.4);opacity:.8}
.dtags{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;z-index:2}
.dtag{padding:3px 7px;border-radius:7px;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.dtag.now{background:var(--grad);color:#1A0A00}
.dtag.tanya{background:rgb(var(--shade)/.72);color:var(--f);border:1px solid rgba(255,201,77,.35)}
.dtag.soon{background:rgb(var(--shade)/.72);color:var(--muted);border:1px solid var(--line)}
.dlock{position:absolute;right:8px;bottom:8px;width:26px;height:26px;border-radius:9px;background:rgb(var(--shade)/.72);display:flex;align-items:center;justify-content:center;font-size:13px;z-index:2}
.dfav{position:absolute;top:6px;right:6px;width:31px;height:31px;border-radius:50%;background:rgb(var(--shade)/.55);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--text);z-index:3;transition:transform .12s}
.dfav:active{transform:scale(1.2)}
.dfav.on{color:#FF5A6E}
.dname{padding:9px 11px 11px}
.dname .b{font-size:13.5px;line-height:1.25}
.dcena{height:21px;line-height:21px;margin-top:3px;font-size:16px;font-style:italic;white-space:nowrap;overflow:hidden}
.dstrip{display:flex;gap:9px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.dstrip::-webkit-scrollbar{display:none}
.dmini{flex:none;width:118px;margin-bottom:0}
.dmini .dcov{font-size:32px}
.dmini .dname{padding:7px 9px 9px}
.dmini .dname .b{font-size:11.5px}
.dmini .dcena{height:17px;line-height:17px;font-size:13px}
.dmini .dtag{font-size:8px;padding:2px 5px}
.dmini .dlock{width:21px;height:21px;font-size:11px;right:6px;bottom:6px}
.dall{flex:none;width:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--card);border:1px dashed var(--line);border-radius:16px;color:var(--a2);font-weight:800;font-size:12px;cursor:pointer}

.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -14px;padding:0 14px}
table.trk{border-collapse:separate;border-spacing:3px;font-size:11px}
table.trk th{color:var(--muted);font-weight:700;font-size:10px;padding:2px;white-space:nowrap;text-align:center}
table.trk td{padding:0}
.cell{width:24px;height:24px;border-radius:7px;background:var(--card2);border:1px solid rgba(255,168,90,.22);display:block}
.cell.on{background:var(--grad);border-color:transparent;box-shadow:0 0 8px rgba(255,138,45,.45)}
.cell.today{outline:2px solid var(--a2);outline-offset:1px}
.cell.fix{background:linear-gradient(0deg,rgba(63,211,122,.30),rgba(63,211,122,.30)),var(--card2);border-color:rgba(63,211,122,.62);border-style:dashed}
.cell.easy{background:linear-gradient(0deg,rgba(255,201,77,.28),rgba(255,201,77,.28)),var(--card2);border-color:rgba(255,201,77,.6);border-style:dashed}
table.trk th.fix{color:var(--green)}
table.trk th.easy{color:var(--f)}
table.trk th.late{color:var(--muted);text-decoration:underline dotted;text-underline-offset:3px}
.medkit{font-size:15px;line-height:1}
.medkit.spent{opacity:.3;filter:grayscale(1)}
.rowlbl{color:var(--muted);font-size:10.5px;text-align:right;padding-right:6px;white-space:nowrap}

.mtab{width:100%;border-collapse:collapse;font-size:13px}
.mtab th{color:var(--muted);font-size:10.5px;font-weight:700;padding:5px 4px;text-align:center;text-transform:uppercase;letter-spacing:.03em}
.mtab td{padding:4px 3px}
.mtab td:first-child{color:var(--muted);font-size:12.5px;white-space:nowrap;padding-right:6px}
.minp{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:9px;padding:8px 4px;text-align:center;font-size:14px;font-weight:700;outline:none;transition:border-color .15s}
.minp:focus{border-color:var(--a2)}

.sl{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:6px;background:var(--card2);outline:none;margin:10px 0 2px}
.sl::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--grad);box-shadow:0 0 12px rgba(255,138,45,.65);cursor:pointer}
.sl::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:#FF8A2B;box-shadow:0 0 12px rgba(255,138,45,.65)}
.ta{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:11px;font-size:14px;outline:none;resize:vertical;min-height:64px}
.ta:focus{border-color:var(--a2)}

.acc{border:1px solid var(--line);border-radius:14px;margin-bottom:8px;overflow:hidden;background:var(--card)}
.acc .h{padding:13px 14px;display:flex;align-items:center;gap:10px;font-weight:800;font-size:14px}
.acc .h .ar{margin-left:auto;color:var(--a2);transition:transform .2s;font-size:12px}
.acc.on .h .ar{transform:rotate(180deg)}
.acc .b{display:none;padding:0 14px 14px;font-size:13.5px;color:#F5DDCB;line-height:1.5}
.acc.on .b{display:block}
.acc.read .h{color:var(--muted);font-weight:700}
.acc.lock{opacity:.45}
.acc.lock .h{cursor:default}
.acc.lock .h .ar{font-size:13px}

.prepbar{height:8px;border-radius:99px;background:var(--card2);overflow:hidden;border:1px solid var(--line)}
.prepbar i{display:block;height:100%;border-radius:99px;background:var(--grad);transition:width .35s ease}
@media (prefers-reduced-motion:reduce){.prepbar i{transition:none}}

#onb{padding:0 0 calc(24px + env(safe-area-inset-bottom))}
.poster{position:relative}
.poster img{width:100%}
.poster::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:140px;
  background:linear-gradient(180deg,transparent,rgb(var(--bg-rgb)/.72) 46%,var(--bg) 94%);pointer-events:none}
.ptext{position:absolute;left:16px;right:16px;bottom:12px;z-index:3;text-align:center}
.ptext .h1i{font-size:26px;margin:0;line-height:1.05;text-shadow:0 2px 12px rgba(10,7,5,.8)}
.ptext .pdays{font-size:17px;font-style:italic;margin-top:3px;text-shadow:0 2px 10px rgba(10,7,5,.8)}
.ptext .psub{font-size:12.5px;margin-top:7px;color:#F0D8C4;text-shadow:0 1px 8px rgba(10,7,5,.9)}
.obody{padding:4px 16px 0;position:relative;z-index:2}
.dinp{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:13px;padding:13px;font-size:16px;font-weight:700;text-align:center;outline:none;color-scheme:dark}
.dinp:focus{border-color:var(--a2)}

.dot{width:6px;height:6px;border-radius:50%;background:var(--a2);flex:none;margin-top:7px}
.li{display:flex;gap:9px;align-items:flex-start;margin-bottom:8px;font-size:13.5px;line-height:1.45;color:#F5DDCB}

.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:20px;background:var(--card2);border:1px solid var(--line);font-size:12px;font-weight:700}

.kbju{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.kbju .i{position:relative;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:12px 4px 10px;text-align:center;overflow:hidden}
.kbju .i::before{content:'';position:absolute;top:0;left:22%;right:22%;height:2.5px;border-radius:0 0 3px 3px;background:var(--grad);box-shadow:0 0 10px rgba(255,138,45,.7)}
.kbju .i b{font-style:italic}
.kbju .i b{display:block;font-family:'Russo One',sans-serif;font-size:15px}
.kbju .i span{font-size:9.5px;color:var(--muted);letter-spacing:.05em}

.tl{position:relative;padding-left:22px}
.tl::before{content:'';position:absolute;left:5px;top:6px;bottom:6px;width:1.5px;background:linear-gradient(180deg,var(--a1),rgba(255,138,45,.15))}
.tl .e{position:relative;margin-bottom:13px}
.tl .e:last-child{margin-bottom:0}
.tl .e::before{content:'';position:absolute;left:-21px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--a2)}
.tl .e b{font-size:13px;color:var(--a2);font-family:'Russo One',sans-serif;font-style:italic}
.tl .e div{font-size:13px;color:#F5DDCB;margin-top:1px}

.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal .c{border-radius:11px;padding:7px 2px;text-align:center;border:1px solid var(--line);background:var(--card2)}
.cal .c b{display:block;font-size:12px;font-family:'Russo One',sans-serif}
.cal .c i{display:block;font-size:15px;font-style:normal;margin-top:2px}
.cal .c.now{border-color:var(--a2);box-shadow:0 0 0 1px var(--a2) inset}

.pimg{width:100%;aspect-ratio:3/4;background:url("img/poster-svet.webp") center/cover no-repeat}
.brand{border-radius:16px;overflow:hidden;border:1px solid var(--line);margin-bottom:12px}
.hidden{display:none!important}
.skel{background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:14px;margin-bottom:10px;overflow:hidden}
.skel i{display:block;height:12px;border-radius:6px;background:var(--card2);
  margin-bottom:9px;position:relative;overflow:hidden}
.skel i:last-child{margin-bottom:0}
.btn.waiting{opacity:.65;pointer-events:none}
.skel i::after{content:'';position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);
  animation:skelrun 1.25s infinite}
@keyframes skelrun{100%{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.skel i::after{animation:none}}

.ava{position:relative;flex:none;width:40px;height:40px;border-radius:50%;overflow:hidden;
  background:var(--grad);display:flex;align-items:center;justify-content:center;
  font-family:'Russo One',sans-serif;font-size:16px;color:#1A0A00;
  -webkit-user-select:none;user-select:none}
.ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;background:var(--card2)}
.ava.big{width:96px;height:96px;font-size:40px;box-shadow:0 8px 26px rgba(255,90,31,.3)}
.ava.tap{cursor:pointer;transition:opacity .12s}
.ava.tap:active{opacity:.7}

.post{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px}
.post.host{border-color:rgba(255,138,45,.55);
  background:linear-gradient(180deg,rgba(255,90,31,.1),rgba(255,90,31,0) 62%),var(--card);
  box-shadow:0 0 22px rgba(255,90,31,.1)}
.post.pin{box-shadow:0 0 0 1px rgba(255,201,77,.35)}
.post .ph{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.post .who{flex:1;min-width:0}
.post .nm{font-weight:800;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post .tm{color:var(--muted);font-size:11px;margin-top:1px}
.post .tx{font-size:14px;line-height:1.45;color:#F5DDCB;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}
.post .pf{display:flex;align-items:center;gap:8px;margin-top:11px}
.dots{flex:none;width:30px;height:30px;margin:-4px -4px 0 0;border-radius:9px;color:var(--muted);
  font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}
.dots:active{background:var(--card2)}
.hostb{flex:none;padding:2px 7px;border-radius:7px;background:var(--grad);color:#1A0A00;
  font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pinb{flex:none;font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--f);text-transform:uppercase}
.react{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;
  background:var(--card2);border:1px solid var(--line);font-size:13px;font-weight:800;
  color:var(--muted);transition:transform .12s,background .15s,border-color .15s,color .15s}
.react.on{background:rgba(255,90,31,.2);border-color:rgba(255,138,45,.55);color:var(--a2)}
.react:active{transform:scale(.93)}

.fcomp{position:sticky;z-index:20;margin-top:14px;padding:10px;border-radius:16px;
  bottom:calc(var(--nav-h) + 8px + env(safe-area-inset-bottom));
  background:var(--bg-deep);backdrop-filter:blur(12px);border:1px solid var(--line);
  box-shadow:0 -6px 22px rgba(0,0,0,.45)}
.fcomp textarea{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:12px;
  padding:10px 11px;font-size:14px;line-height:1.4;outline:none;resize:none;min-height:44px;max-height:118px}
.fcomp textarea:focus{border-color:var(--a2)}
.fcnt{font-size:11px;color:var(--muted);font-weight:700}
.fcnt.over{color:var(--dang)}
.fsend{flex:none;padding:9px 17px;border-radius:12px;background:var(--grad);color:#1A0A00;
  font-weight:800;font-size:13.5px;box-shadow:0 4px 16px rgba(255,90,31,.3);transition:opacity .15s,transform .12s}
.fsend:active{transform:scale(.97)}
.fsend[disabled]{opacity:.4;box-shadow:none}

.backb{display:inline-flex;align-items:center;gap:5px;color:var(--a2);font-weight:800;
  font-size:13.5px;padding:2px 10px 2px 0;margin-bottom:10px}
.backb:active{opacity:.6}
.screen > .backb + .ff{font-style:italic}

#splash{
  position:fixed;inset:0;z-index:200;background:var(--bg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  transition:opacity .42s ease, visibility .42s;
}
#splash.gone-away{opacity:0;visibility:hidden;pointer-events:none}
.sp-glow{
  position:absolute;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,106,20,.3),transparent 62%);
  animation:spPulse 2.4s ease-in-out infinite;
}
@keyframes spPulse{0%,100%{transform:scale(.9);opacity:.65}50%{transform:scale(1.08);opacity:1}}

.sp-core{position:relative;width:120px;height:120px;animation:spRise .7s cubic-bezier(.2,.9,.3,1) both}
.sp-ring{position:absolute;inset:0;transform:rotate(-90deg)}
.sp-track{fill:none;stroke:rgba(255,138,45,.14);stroke-width:5}
.sp-arc{
  fill:none;stroke:url(#spg);stroke-width:5;stroke-linecap:round;
  stroke-dasharray:339;stroke-dashoffset:339;
  animation:spDraw 1.15s cubic-bezier(.35,.1,.2,1) .12s forwards;
  filter:drop-shadow(0 0 8px rgba(255,138,45,.55));
}
@keyframes spDraw{to{stroke-dashoffset:0}}
.sp-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sp-num b{font-family:'Russo One',sans-serif;font-size:40px;line-height:1;font-style:italic;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sp-num span{font-size:9.5px;letter-spacing:.24em;color:var(--muted);margin-top:3px}

.sp-title{font-family:'Russo One',sans-serif;font-size:23px;font-style:italic;letter-spacing:.02em;
  margin-top:22px;animation:spRise .6s cubic-bezier(.2,.9,.3,1) .18s both}
.sp-sub{font-size:13px;color:var(--a2);font-weight:700;margin-top:7px;
  animation:spRise .6s cubic-bezier(.2,.9,.3,1) .3s both}
@keyframes spRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.screen.on > .card:not([data-rise]), .screen.on > .plate:not([data-rise]),
.screen.on > .chk:not([data-rise]), .screen.on > .sect:not([data-rise]){
  animation:cardIn .34s ease both;
}
@keyframes cardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.g-flip{perspective:1200px;margin-bottom:12px}
.g-in{position:relative;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.2,.9,.3,1)}
.g-flip.on .g-in{transform:rotateY(180deg)}
.g-face{
  background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
}
.g-back{position:absolute;inset:0;transform:rotateY(180deg);display:flex;align-items:center;justify-content:center}
.g-photo{
  position:relative;aspect-ratio:1/1;background:var(--card2);
  display:flex;align-items:center;justify-content:center;font-size:54px;
}
.g-photo.none{aspect-ratio:auto;height:92px;font-size:32px}
.g-photo::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,90,31,.07),rgba(20,13,10,.35))
}
.g-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.mfires{font-size:19px;letter-spacing:4px;flex:none}
.mpick{display:flex;gap:10px;margin:10px 0}
.mpick button{flex:1;padding:15px 8px;border-radius:14px;border:1px solid var(--line);
  background:var(--card2);color:var(--u);font-weight:800;font-size:15px;cursor:pointer}
.mpick button.on{background:var(--grad);color:#1A0A00;border-color:transparent;
  box-shadow:0 4px 18px rgba(255,90,31,.3)}
.mprev{display:block;width:100%;max-height:260px;object-fit:contain;
  border-radius:12px;background:var(--card2);margin-bottom:12px}


.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ico{width:22px;height:22px;display:block;flex:none;
  stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.tabbar{overflow:hidden}
.tabslide{position:absolute;top:0;left:0;width:20%;height:3px;pointer-events:none;z-index:2;
  transform:translate3d(calc(var(--t,0) * 100%),0,0);
  transition:transform .34s cubic-bezier(.34,1.28,.5,1)}
.tabslide i{display:block;width:26px;height:3px;margin:0 auto;border-radius:0 0 3px 3px;
  background:var(--grad);box-shadow:0 0 10px rgba(255,138,45,.75)}
.tab{position:relative}
.tab svg{transition:transform .18s cubic-bezier(.3,1.4,.5,1)}
.tab:active svg{transform:scale(.84)}
.tab.pop svg{animation:tabPop .38s cubic-bezier(.3,1.3,.5,1)}
@keyframes tabPop{0%{transform:scale(.84)}55%{transform:scale(1.16)}100%{transform:scale(1)}}
.tabdot,.qdoor .cnt{transition:transform .24s cubic-bezier(.4,0,.6,1),opacity .24s}

.hub-top{margin-bottom:8px}
.hub-top .h1i{margin-bottom:2px}
.hub-top.ckt{display:flex;align-items:center;gap:10px}
.hub-top.ckt .hb{flex:1;min-width:0}
.hub-top.ckt .h1i,.ck-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.ckk{--ck:240 74 120;position:relative;width:44px;height:47px;flex:none;padding:0;
  border:0;border-radius:15px;cursor:pointer;color:rgb(var(--ck));display:flex;
  flex-direction:column;align-items:center;justify-content:flex-start;background:none;
  transition:transform .15s cubic-bezier(.3,1.2,.5,1),box-shadow .2s}
.ckk:active{transform:scale(.88);box-shadow:0 0 24px rgb(var(--ck)/.5)}
.ckr{position:relative;width:36px;height:36px;display:flex;align-items:center;
  justify-content:center;border-radius:50%;
  background:radial-gradient(circle at 50% 38%,rgb(var(--ck)/.26),
    rgb(var(--ck)/.05) 62%),var(--card);
  box-shadow:0 0 14px rgb(var(--ck)/.22);
  animation:ckup .5s cubic-bezier(.2,.9,.3,1) both}
.ckr svg{position:absolute;inset:0;transform:rotate(-90deg)}
.ckk .tr{fill:none;stroke:rgb(var(--ck)/.24);stroke-width:4}
.ckk .ar{fill:none;stroke:rgb(var(--ph,var(--ck)));stroke-width:4;stroke-linecap:round;
  animation:ckdraw .9s cubic-bezier(.3,.9,.3,1) both}
.ckk b{font-family:'Russo One',sans-serif;font-size:14px;font-weight:400;
  line-height:1;color:var(--text);position:relative}
.ckk .ico{width:17px;height:17px;position:relative}
.ckl{font-size:9px;line-height:11px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;white-space:nowrap;color:rgb(var(--ck));
  animation:ckup .5s .07s cubic-bezier(.2,.9,.3,1) both}
.ckk.tf1{--ph:229 72 77}
.ckk.tf2{--ph:255 122 43}
.ckk.tf3{--ph:255 201 77}
.ckk.tf4{--ph:168 115 106}
@keyframes ckdraw{from{stroke-dashoffset:119.4}}
@keyframes ckup{from{opacity:0;transform:translateY(-6px) scale(.82)}}
@media (prefers-reduced-motion:reduce){.ckk .ar,.ckr,.ckl{animation:none}}

.dayrow{display:flex;align-items:center;gap:12px;background:var(--card);
  border:1px solid var(--line);border-radius:16px;padding:12px 13px;margin-bottom:8px;
  transition:border-color .3s,box-shadow .3s}
.dayrow.full{border-color:rgba(255,170,43,.6);box-shadow:0 0 26px rgba(255,138,45,.18)}
.cnowb{padding:0;flex:none;border-radius:14px;transition:transform .16s cubic-bezier(.3,1.2,.5,1)}
.cnowb:active{transform:scale(.94)}
.dayrow .cnow{width:56px;height:56px;border-radius:14px;object-fit:cover;flex:none;border:1px solid var(--line)}
.dayrow .dr-t{flex:1;min-width:0}
.dr-day{font-size:15.5px;line-height:1.15}
.dr-sub{margin-top:3px}
.dr-sub b{color:var(--text)}
.dayrow .jok{display:flex;align-items:center;gap:3px;color:var(--f);margin-top:4px;min-width:0}
.dayrow .jok-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dayrow .jok .medkit{display:inline-flex}
.dayrow .jok .medkit:last-of-type{margin-right:4px}
.dayrow .jok .ico{width:13px;height:13px;stroke-width:2}
.dayrow .jok .medkit.spent{color:var(--muted);opacity:.42}
.ring svg{width:100%;height:100%;display:block}
.ring.big{width:64px;height:64px}
.ring.big .v b{font-size:16px}
.ring.big .v span{font-size:8.5px}

.qdoors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:9px}
.qdoor{position:relative;min-height:92px;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:11px;display:flex;flex-direction:column;justify-content:space-between;
  cursor:pointer;text-align:left;box-shadow:0 5px 18px rgba(8,5,4,.34);
  transition:transform .15s cubic-bezier(.3,1.2,.5,1),border-color .18s,box-shadow .2s}
.qdoor:active{transform:scale(.972);box-shadow:0 2px 7px rgba(8,5,4,.42)}
.qdoor .ttl,.qdoor .sub,.qdoor .qtx{display:block}
.qdoor > span:last-child{display:block}
.qdoor .ttl{font-size:14.5px;font-weight:800;line-height:1.2}
.qdoor .sub{font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.3}
.qdoor.hot{background:linear-gradient(0deg,rgba(255,90,31,.14),rgba(255,90,31,.14)),var(--card);
  border-color:rgba(255,138,45,.55)}
.qdoor .cnt{position:absolute;top:10px;right:10px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;
  background:#e5484d;color:#fff;font-size:10.5px;font-weight:800;line-height:20px;text-align:center;z-index:3}
.qbadge{width:40px;height:40px;border-radius:13px;flex:none;display:flex;
  align-items:center;justify-content:center;color:var(--a2);
  background:linear-gradient(160deg,rgba(255,138,45,.18),rgba(255,138,45,.04)),var(--card2);
  border:1px solid var(--line)}
.qbadge .ico{width:21px;height:21px}
.qdoor.hot .qbadge{border-color:rgba(255,138,45,.55);box-shadow:0 0 15px rgba(255,138,45,.20)}
.qdoor.photo{padding:0;overflow:hidden;justify-content:flex-end}
.qdoor.photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  transition:transform .5s cubic-bezier(.2,.9,.3,1)}
.qdoor.photo:active > img{transform:scale(1.05)}
.qdoor.photo::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgb(var(--shade)/.34) 0%,rgb(var(--shade)/.34) 22%,
    rgb(var(--shade)/.58) 48%,rgb(var(--shade)/.86) 78%,rgb(var(--shade)/.95) 100%)}
.qdoor.photo > .qtx{position:relative;z-index:2;padding:12px;width:100%}
.qdoor.photo .sub{color:#E9D0B9}
.qdoor.photo .ttl{text-shadow:0 1px 10px rgba(10,7,5,.8)}
.qdoor.hero{grid-column:1/-1;min-height:190px}
.qdoor.hero .ttl{font-size:22px;font-family:'Russo One',sans-serif;font-style:italic;
  font-weight:400;letter-spacing:.01em;line-height:1.1}
.qdoor.hero .sub{font-size:13px;margin-top:5px}
.qdoor .qtag{position:absolute;top:11px;left:11px;z-index:2}


.tanya{display:flex;gap:11px;align-items:center;border-radius:14px;padding:11px 12px;margin-bottom:12px;
  background:linear-gradient(0deg,rgba(255,201,77,.07),rgba(255,201,77,.07)),var(--card);
  border:1px solid var(--line)}
.tanya .qbadge{width:36px;height:36px;border-radius:12px;color:var(--f)}
.tanya .qbadge .ico{width:19px;height:19px}
.tanya .tx{font-size:12.5px;line-height:1.42;color:#EBD4C0}
.tanya .tx b{color:var(--text)}

.chk{position:relative;overflow:hidden;transition:border-color .2s,background .25s,transform .12s}
.chk:active{transform:scale(.985)}
.chk.pop{animation:chkPop .34s cubic-bezier(.3,1.3,.5,1)}
@keyframes chkPop{0%{transform:scale(.975)}55%{transform:scale(1.012)}100%{transform:scale(1)}}
.chk .box svg path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .2s ease}
.chk.done .box svg path{stroke-dashoffset:0;transition:stroke-dashoffset .26s cubic-bezier(.4,.9,.3,1) .04s}
.chk .box{position:relative;transition:transform .2s cubic-bezier(.3,1.4,.5,1),
  background .2s,border-color .2s,box-shadow .2s}
.chk.done .box{transform:scale(1.06)}
.rip{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,138,45,.5),transparent 70%);pointer-events:none;
  animation:rip .5s ease-out forwards}
@keyframes rip{from{transform:scale(1);opacity:.9}to{transform:scale(22);opacity:0}}
.chk .gtag{text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--a2)}
.sect{position:relative}
.sectnum{flex:none;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--muted);
  transition:color .3s}
.sectnum.full{color:var(--f)}

.modeask{display:flex;flex-direction:column;gap:10px;border-radius:14px;padding:11px 12px;margin-bottom:10px;
  background:linear-gradient(0deg,rgba(255,201,77,.07),rgba(255,201,77,.07)),var(--card);
  border:1px solid var(--line)}
.ma-t b{display:block;font-size:13.5px}
.ma-t span{display:block;margin-top:3px;line-height:1.4}
.ma-b{display:flex;gap:8px}
.mab{flex:1;padding:10px 4px;border-radius:11px;font-size:13px;font-weight:800;color:var(--muted);
  background:var(--card2);border:1px solid var(--line);
  transition:background .2s,color .2s,transform .12s,border-color .2s}
.mab:active{transform:scale(.96)}
.mab.on{background:var(--grad);color:#1A0A00;border-color:transparent;
  box-shadow:0 4px 14px rgba(255,90,31,.32)}

.slot{background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:9px;margin-bottom:8px;cursor:pointer;
  transition:border-color .3s,box-shadow .3s,transform .12s}
.slot:active{transform:scale(.99)}
.sl-main{display:flex;gap:11px;align-items:stretch}
.slot.s1{border-color:rgba(255,201,77,.42)}
.slot.s2{border-color:rgba(63,211,122,.42);
  background:linear-gradient(0deg,rgba(63,211,122,.07),rgba(63,211,122,.07)),var(--card)}
.slot.s3{border-color:rgba(255,77,77,.45)}
.slot.lit{animation:slotLit 1.1s ease}
@keyframes slotLit{0%{border-color:rgba(255,170,43,.85);box-shadow:0 0 24px rgba(255,138,45,.3)}
  100%{border-color:var(--line);box-shadow:none}}
.sl-ph{position:relative;flex:none;width:62px;height:62px;border-radius:12px;overflow:hidden;
  background:var(--card2);border:1px dashed rgba(255,168,90,.45);padding:0;
  display:flex;align-items:center;justify-content:center;
  transition:transform .16s cubic-bezier(.3,1.2,.5,1),border-color .2s}
.sl-ph:active{transform:scale(.93)}
.slot:not(.s0) .sl-ph{border-style:solid}
.sl-cam{display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;color:rgba(255,170,43,.55)}
.sl-cam .ico{width:22px;height:22px;stroke-width:1.5}
.slot.s1 .sl-cam{color:var(--f)}
.slot.s2 .sl-cam{color:var(--green)}
.slot.s3 .sl-cam{color:var(--dang)}
.sl-t{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px}
.sl-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sl-st{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:10.5px;font-weight:800;
  letter-spacing:.03em;color:var(--muted)}
.sl-st .ico{width:13px;height:13px;stroke-width:2.2}
.slot.s1 .sl-st{color:var(--f)}
.slot.s2 .sl-st{color:var(--green)}
.slot.s3 .sl-st{color:var(--dang)}
.sl-d{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:0;
  transition:opacity .15s}
.sl-d:active{opacity:.6}
.sl-n{flex:1;min-width:0;font-size:13.5px;font-weight:800;line-height:1.25;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slot:not(.s0) .sl-n{color:#FFE2CB}
.slot.s0 .sl-n{color:var(--a2);font-weight:700}
.sl-go{flex:none;color:var(--muted)}
.sl-go .ico{width:15px;height:15px}
.sl-say{display:flex;gap:9px;align-items:flex-start;margin:9px 0 0;padding:10px 11px;border-radius:12px;
  background:linear-gradient(0deg,rgba(255,201,77,.08),rgba(255,201,77,.08)),var(--card2);
  border:1px solid rgba(255,201,77,.32);font-size:12.5px;line-height:1.45;color:#F7E4CE}
.sl-say .qbadge{width:28px;height:28px;border-radius:9px;color:var(--f)}
.sl-say .qbadge .ico{width:15px;height:15px}
.sl-say b{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--f);margin-bottom:2px}
.sl-say.no{background:linear-gradient(0deg,rgba(255,77,77,.09),rgba(255,77,77,.09)),var(--card2);
  border-color:rgba(255,77,77,.34);color:#FFD8D2}
.sl-say.no .qbadge,.sl-say.no b{color:var(--dang)}
.mfires{display:flex;gap:5px;align-items:center}
.mfire{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  background:var(--card2);border:1px solid var(--line);color:var(--muted)}
.mfire .ico{width:14px;height:14px;stroke-width:2.2}
.mfire.ok{color:var(--green);border-color:rgba(63,211,122,.45)}
.mfire.wait{color:var(--f);border-color:rgba(255,201,77,.45)}
.mfire.no{color:var(--dang);border-color:rgba(255,77,77,.45)}
.modeswitch{display:block;width:100%;text-align:center;padding:9px;margin:2px 0 14px;
  font-size:12px;font-weight:800;color:var(--a2);opacity:.75;transition:opacity .15s}
.modeswitch:active{opacity:.4}

.dcard{box-shadow:0 6px 20px rgba(8,5,4,.42);
  transition:transform .16s cubic-bezier(.3,1.2,.5,1),border-color .18s,box-shadow .2s}
.dcard:active{transform:scale(.955) translateZ(0);box-shadow:0 2px 8px rgba(8,5,4,.5)}
.dstrip{scroll-snap-type:x proximity}
.dstrip > *{scroll-snap-align:start}
.dall{transition:transform .15s,border-color .18s}
.dall:active{transform:scale(.96)}
.dall.wide9{grid-column:1/-1;width:auto;flex-direction:row;gap:8px;min-height:48px;font-size:13px}
.dlock .ico{width:14px;height:14px;color:var(--u)}
.dmini .dlock .ico{width:12px;height:12px}
.dfav .ico{width:17px;height:17px}
.dfav.on .ico{fill:currentColor}
.dfav{transition:transform .18s cubic-bezier(.3,1.5,.5,1),color .2s}
.dfav:active{transform:scale(.86)}
.dfav.on{animation:favPop .42s cubic-bezier(.3,1.4,.5,1)}
@keyframes favPop{0%{transform:scale(.7)}55%{transform:scale(1.28)}100%{transform:scale(1)}}

.stats .st{flex:1;text-align:center;min-width:0}
.stats .st .ff{font-size:22px}
.chevr{flex:none;color:var(--muted)}
.chevr .ico{width:16px;height:16px}

.pomo-art{position:relative;width:210px;height:210px;margin:0 auto 6px}
.pa-glow{position:absolute;inset:8%;border-radius:50%;
  background:radial-gradient(circle,rgba(255,106,20,.34),rgba(255,90,10,.08) 52%,transparent 72%);
  animation:paGlow 3.6s ease-in-out infinite}
@keyframes paGlow{0%,100%{transform:scale(.88);opacity:.6}50%{transform:scale(1.06);opacity:1}}
.pa-ring{position:absolute;inset:0}
.pa-ring svg{width:100%;height:100%;display:block}
.pa-ring circle{fill:none;stroke:rgba(255,168,90,.34);stroke-width:1.4;stroke-linecap:round}
.pa-r1{animation:spinR 26s linear infinite}
.pa-r1 circle{stroke-dasharray:3 13;stroke:rgba(255,168,90,.4)}
.pa-r2{animation:spinL 17s linear infinite}
.pa-r2 circle{stroke-dasharray:64 190;stroke:rgba(255,201,77,.55);stroke-width:1.8}
.pa-r3{animation:spinR 34s linear infinite}
.pa-r3 circle{stroke-dasharray:2 9;stroke:rgba(255,168,90,.3)}
@keyframes spinR{to{transform:rotate(360deg)}}
@keyframes spinL{to{transform:rotate(-360deg)}}
.pa-orb{position:absolute;inset:0}
.pa-orb i{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;
  background:var(--a2);box-shadow:0 0 10px rgba(255,170,43,.9)}
.o1{animation:spinR 9s linear infinite}   .o1 i{transform:translateY(-88px)}
.o2{animation:spinL 13s linear infinite}  .o2 i{transform:translateY(-66px);background:var(--f);width:5px;height:5px}
.o3{animation:spinR 20s linear infinite}  .o3 i{transform:translateY(-44px);background:var(--u);width:4px;height:4px}
.pa-core{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;
  display:flex;align-items:center;justify-content:center;color:var(--a2);
  animation:paCore 3.6s ease-in-out infinite}
.pa-core svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.3;
  stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 12px rgba(255,138,45,.7))}
@keyframes paCore{0%,100%{transform:scale(.94)}50%{transform:scale(1.07)}}
.pomo-head{margin-bottom:14px}
.center{text-align:center}
.soonbar{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.sb-l,.sb-r{flex:none;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sb-track{flex:1;height:4px;border-radius:3px;background:var(--card2);overflow:hidden;position:relative}
.sb-track i{position:absolute;inset:0;width:40%;border-radius:3px;background:var(--grad);
  transform-origin:left;animation:sbRun 2.8s cubic-bezier(.5,0,.5,1) infinite}
@keyframes sbRun{0%{transform:translateX(-14%) scaleX(.5)}50%{transform:translateX(46%) scaleX(1)}
  100%{transform:translateX(150%) scaleX(.5)}}
.fut{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-bottom:9px;
  overflow:hidden;transition:border-color .22s}
.fut.on{border-color:rgba(255,138,45,.55)}
.fut-q{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:11px 12px;
  transition:transform .13s}
.fut-q:active{transform:scale(.988)}
.fq-t{flex:1;min-width:0;font-size:13.5px;font-weight:700;line-height:1.35}
.fq-c{flex:none;color:var(--muted);transition:transform .3s cubic-bezier(.2,.9,.3,1)}
.fq-c .ico{width:16px;height:16px}
.fut.on .fq-c{transform:rotate(90deg);color:var(--a2)}
.fut-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s cubic-bezier(.2,.9,.3,1)}
.fut.on .fut-a{grid-template-rows:1fr}
.fa-in{overflow:hidden;min-height:0;padding:0 12px}
.fut.on .fa-in{padding-bottom:12px}
.fa-tx{margin:0;font-size:13.5px;line-height:1.5;color:#F5DDCB;min-height:1.5em}
.fa-note{display:block;margin-top:7px}
.fa-dots{display:none;gap:5px;padding:4px 0 2px}
.fut.think .fa-dots{display:flex}
.fa-dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);
  animation:dotB 1.05s ease-in-out infinite}
.fa-dots i:nth-child(2){animation-delay:.14s}
.fa-dots i:nth-child(3){animation-delay:.28s}
@keyframes dotB{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}
.never{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:4px 13px;margin-bottom:16px}
.nv{display:flex;gap:11px;align-items:flex-start;padding:11px 0;font-size:12.5px;line-height:1.45;
  color:#EBD4C0;border-bottom:1px solid rgba(255,138,45,.12)}
.nv:last-child{border-bottom:0}
.nv-i{flex:none;width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  color:var(--f);background:var(--card2);border:1px solid var(--line)}
.nv-i .ico{width:15px;height:15px}
.btn.wait{display:grid;position:relative;overflow:hidden}
.btn.wait > span{grid-area:1/1;display:flex;align-items:center;justify-content:center;gap:9px;
  transition:opacity .22s,transform .3s cubic-bezier(.2,.9,.3,1)}
.wb-ico .ico{width:18px;height:18px;stroke-width:2}
.wb-done{opacity:0;transform:translate3d(0,12px,0)}
.btn.wait.on .wb-face{opacity:0;transform:translate3d(0,-12px,0)}
.btn.wait.on .wb-done{opacity:1;transform:none}
.wb-check{width:19px;height:19px;stroke:#1A0A00;stroke-width:3.2;fill:none;
  stroke-linecap:round;stroke-linejoin:round}
.wb-check path{stroke-dasharray:24;stroke-dashoffset:24}
.btn.wait.on .wb-check path{stroke-dashoffset:0;transition:stroke-dashoffset .34s ease .16s}
.btn.wait.on{animation:waitPop .5s cubic-bezier(.3,1.3,.5,1)}
@keyframes waitPop{0%{transform:scale(.97)}45%{transform:scale(1.025)}100%{transform:scale(1)}}
.waitnote{margin-top:9px}

@media (max-width:360px){
  .qdoor{min-height:84px;padding:10px}
  .qdoors{gap:8px;margin-bottom:8px}
  .hub-top{margin-bottom:7px}
  .hub-top .h1i{font-size:20px}
  .dayrow{padding:10px 11px;gap:10px;margin-bottom:9px}
  .dayrow .cnow{width:50px;height:50px}
  .ring.big{width:58px;height:58px}
  .sect{margin:13px 0 8px}
}
@media (max-width:340px){
  .qdoor{min-height:70px;padding:9px}
  .qdoor .ttl{font-size:13.5px}
  .qdoor .sub{font-size:11px}
  .hub-top{margin-bottom:7px}
  .hub-top .h1i{font-size:18px}
  .hub-top .sm{font-size:12px}
  .dayrow{padding:9px 10px;margin-bottom:8px}
  .dayrow .cnow{width:46px;height:46px}
  .ring.big{width:54px;height:54px}
  .sect{margin:10px 0 7px}
  .chk{padding:9px 11px;margin-bottom:6px}
}

.screen.on > [data-rise]{animation:riseIn .34s cubic-bezier(.2,.9,.3,1) both;
  animation-delay:calc(var(--i,0) * 34ms)}
@keyframes riseIn{from{opacity:0;transform:translate3d(0,11px,0)}to{opacity:1;transform:none}}

.pscreen{padding:0 0 calc(var(--nav-h) + 28px + env(safe-area-inset-bottom))}

.pg-cov{position:relative;height:186px;overflow:hidden}
.pg-cov img{width:100%;height:100%;object-fit:cover}
.pg-cov::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgb(var(--shade)/.52) 0,rgb(var(--bg-rgb)/.06) 32%,
    rgb(var(--bg-rgb)/.74) 72%,var(--bg) 100%)}
.pg-cov.fly img,.pg-cov.fly::after{opacity:0}

.pg-back{position:absolute;top:12px;left:12px;z-index:3;width:36px;height:36px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;color:var(--u);
  background:rgb(var(--shade)/.62);border:1px solid var(--line);backdrop-filter:blur(6px);
  transition:transform .15s cubic-bezier(.3,1.3,.5,1),opacity .2s}
.pg-back:active{transform:scale(.88)}
.pg-back .ico{width:19px;height:19px;stroke-width:2.1}

.pg-cov-b{position:absolute;left:14px;right:14px;bottom:11px;z-index:2}
.pg-tags{display:flex;gap:6px;margin-bottom:6px}
.pg-ttl{font-size:25px;margin:0;line-height:1.05;text-shadow:0 2px 12px rgba(10,7,5,.75)}
.pg-sub{font-size:12.5px;color:#F0D8C4;margin-top:4px;text-shadow:0 1px 8px rgba(10,7,5,.9)}
.pscreen.entering .pg-cov-b{animation:covText .34s cubic-bezier(.2,.9,.3,1) .1s both}
@keyframes covText{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}

.flyer{position:fixed;z-index:120;overflow:hidden;pointer-events:none;
  transform-origin:0 0;box-shadow:0 18px 44px rgba(8,5,4,.5)}
.flyer i{display:block;width:100%;height:100%;transform-origin:0 0}
.flyer img{width:100%;height:100%;object-fit:cover}

.pg-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:2px;
  padding:6px 10px 0;background:var(--bg);transition:box-shadow .22s,background .22s}
.pg-nav.stuck{background:var(--bg-deep);backdrop-filter:blur(12px);
  box-shadow:0 8px 22px rgba(8,5,4,.45),0 1px 0 var(--line)}
.pg-back2{flex:none;width:30px;height:34px;display:flex;align-items:center;justify-content:center;
  color:var(--a2);opacity:0;pointer-events:none;transform:translate3d(-6px,0,0);
  transition:opacity .2s,transform .24s cubic-bezier(.2,.9,.3,1)}
.pg-nav.stuck .pg-back2{opacity:1;pointer-events:auto;transform:none}
.pg-back2 .ico{width:19px;height:19px;stroke-width:2.1}

.psegs{position:relative;flex:1;min-width:0;display:flex;gap:2px;overflow-x:auto;
  scrollbar-width:none;padding-bottom:9px}
.psegs::-webkit-scrollbar{display:none}
.pseg{flex:none;padding:8px 11px 7px;font-size:12.5px;font-weight:800;color:var(--muted);
  white-space:nowrap;transition:color .2s,transform .12s;border-radius:9px}
.pseg:active{transform:scale(.94)}
.pseg.on{color:var(--a2)}
.psegline{position:absolute;left:0;bottom:2px;width:100px;height:2.5px;pointer-events:none;
  transform:translate3d(var(--x,0px),0,0) scaleX(calc(var(--w,60) / 100));transform-origin:left center;
  transition:transform .34s cubic-bezier(.34,1.28,.5,1)}
.psegline i{display:block;width:100%;height:100%;border-radius:3px;background:var(--grad);
  box-shadow:0 0 10px rgba(255,138,45,.75)}

.pg-body{padding:12px 14px 0;position:relative}
.psec{display:none}
.psec.on{display:block}
.psec.leaving{display:block;position:absolute;left:14px;right:14px;top:12px;
  pointer-events:none;z-index:0;animation:secOut .15s ease both}
.psec.entering{animation:secIn .24s cubic-bezier(.2,.9,.3,1) both}
@keyframes secOut{from{opacity:1}to{opacity:0;transform:translate3d(calc(var(--dir,1) * -14px),0,0)}}
@keyframes secIn{from{opacity:0;transform:translate3d(calc(var(--dir,1) * 16px),0,0)}
  to{opacity:1;transform:none}}
.psec.entering [data-rise]{animation:riseIn .3s cubic-bezier(.2,.9,.3,1) both;
  animation-delay:calc(var(--i,0) * 30ms)}

.pg-lead{margin:0 0 12px}
.pg-cont{margin-bottom:14px}
.pg-contn{margin-top:8px}
.pg-note{display:flex;gap:11px;align-items:center;border-radius:14px;padding:11px 12px;margin:12px 0;
  background:linear-gradient(0deg,rgba(255,201,77,.07),rgba(255,201,77,.07)),var(--card);
  border:1px solid var(--line)}
.pg-note .qbadge{width:36px;height:36px;border-radius:12px;color:var(--f)}
.pg-note .qbadge .ico{width:18px;height:18px}
.pg-note .tx{font-size:12.5px;line-height:1.42;color:#EBD4C0}

.daylist{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.dayr{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:11px 12px;
  border-bottom:1px solid rgba(255,138,45,.12);transition:background .2s,transform .12s}
.dayr:last-child{border-bottom:0}
.dayr:active{transform:scale(.99)}
.dayr .dm{flex:none;width:30px;height:30px;border-radius:10px;display:flex;align-items:center;
  justify-content:center;background:var(--card2);border:1px solid var(--line);color:var(--muted)}
.dayr .dm .ico{width:16px;height:16px;stroke-width:2}
.dayr .dt{flex:1;min-width:0}
.dayr .dn{display:block;font-size:13.5px;font-weight:800;line-height:1.25}
.dayr .dw{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dayr .dv{flex:none;font-size:11px;font-weight:800;color:var(--muted)}
.dayr.done .dm{background:var(--grad);border-color:transparent;color:#1A0A00;
  box-shadow:0 0 12px rgba(255,138,45,.35)}
.dayr.jok .dm{color:var(--f);border-color:rgba(255,201,77,.55);
  background:linear-gradient(160deg,rgba(255,201,77,.2),rgba(255,201,77,.05)),var(--card2)}
.dayr.jok .dv{color:var(--f)}
.dayr.easy .dm{color:var(--u);border-color:rgba(255,168,90,.5);
  background:linear-gradient(160deg,rgba(255,168,90,.16),rgba(255,168,90,.04)),var(--card2)}
.dayr.easy .dv{color:var(--u)}
.dayr.now{background:linear-gradient(0deg,rgba(255,90,31,.13),rgba(255,90,31,.13));
  padding-top:14px;padding-bottom:14px}
.dayr.now .dn{font-size:15px;color:var(--a2)}
.dayr.now .dm{background:var(--card2);border-color:rgba(255,170,43,.6);color:var(--a2);position:relative}
.dayr.now .dm b{width:9px;height:9px;border-radius:50%;background:var(--grad);display:block}
.dayr.now .dm::after{content:'';position:absolute;inset:-1px;border-radius:11px;
  border:1.5px solid rgba(255,170,43,.7);animation:dayPulse 2.1s ease-out infinite}
@keyframes dayPulse{0%{opacity:.85;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.42)}}
.dayr.lock{color:var(--muted)}
.dayr.lock .dn{font-weight:700;opacity:.72}
.dayr.lock .dm{border-style:dashed}
.dayr.lock .dw{opacity:.7}
.dayr.miss .dm{color:var(--f);border-color:rgba(255,201,77,.4)}
.dayr.miss .dv{color:var(--f)}
.dayr.deny,.mcard.deny,.acc.deny{animation:denyShake .34s cubic-bezier(.36,.07,.19,.97)}
@keyframes denyShake{10%,90%{transform:translate3d(-2px,0,0)}30%,70%{transform:translate3d(4px,0,0)}
  50%{transform:translate3d(-4px,0,0)}100%{transform:none}}

.mcard{display:flex;gap:11px;align-items:stretch;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:9px;margin-bottom:9px;width:100%;text-align:left;position:relative;
  box-shadow:0 4px 14px rgba(8,5,4,.28);
  transition:transform .14s cubic-bezier(.3,1.2,.5,1),border-color .18s,box-shadow .2s}
.mcard:active{transform:scale(.978);box-shadow:0 2px 7px rgba(8,5,4,.4)}
.mph{position:relative;flex:none;width:84px;height:84px;border-radius:12px;overflow:hidden;
  background:var(--card2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:rgba(192,162,146,.5)}
.mph .ico{width:26px;height:26px;stroke-width:1.4}
.mph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .3s}
.mph img.in{opacity:1}
.mph .num{position:absolute;left:5px;top:5px;z-index:2;min-width:19px;height:19px;padding:0 5px;
  border-radius:7px;background:rgb(var(--shade)/.74);border:1px solid var(--line);
  color:var(--a2);font-size:10.5px;font-weight:800;line-height:18px;text-align:center}
.mtx{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.mtx .ttl{font-weight:800;font-size:14px;line-height:1.25}
.mtx .cmp{color:var(--muted);font-size:11.5px;margin-top:3px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mtx .chips{margin-top:7px;gap:5px}
.mtx .chip{font-size:10.5px;padding:3px 7px}
.mcard .mpick{position:absolute;top:8px;right:8px;padding:3px 8px;border-radius:8px;
  background:var(--grad);color:#1A0A00;font-size:9.5px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;transform:scale(0);opacity:0;
  transition:transform .34s cubic-bezier(.3,1.4,.5,1),opacity .2s}
.mcard.picked{border-color:rgba(255,170,43,.6)}
.mcard.picked .mpick{transform:scale(1);opacity:1}
.mcard .lockveil{border-radius:15px;font-size:11px;flex-direction:row;gap:7px}
.mcard .lockveil .ico{width:15px;height:15px}
.mcard.locked .mtx{justify-content:center}
.mempty{padding:20px 12px;text-align:center}

.lockveil{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;gap:6px;
  align-items:center;justify-content:center;color:var(--a2);font-size:11.5px;font-weight:800;
  background:rgb(var(--shade)/.55);backdrop-filter:blur(3px);text-align:center;padding:0 10px}
.lockveil .ico{width:19px;height:19px}

.daybelt{padding:13px 13px 11px}
.db-h{margin-bottom:16px}
.db-h .tagx b{color:var(--a2);font-style:normal}
.belt{position:relative;height:4px;border-radius:3px;background:var(--card2);margin:0 4px 30px}
.belt-fill{position:absolute;inset:0;border-radius:3px;background:var(--grad);
  transform-origin:left center;transform:scaleX(var(--p,0));pointer-events:none;
  transition:transform .8s cubic-bezier(.25,.85,.3,1)}
.belt-now{position:absolute;top:50%;left:var(--x,0%);width:3px;height:22px;margin:-11px 0 0 -1.5px;
  border-radius:2px;background:var(--a2);z-index:4;pointer-events:none;
  box-shadow:0 0 0 2px rgb(var(--bg-rgb)/.9),0 0 12px rgba(255,170,43,.95)}
.belt-now::after{content:'';position:absolute;left:50%;top:50%;width:18px;height:18px;
  margin:-9px 0 0 -9px;border-radius:50%;border:1.5px solid rgba(255,170,43,.7);
  animation:dayPulse 2.1s ease-out infinite}
.belt-pts{position:absolute;inset:0}
.bpt{position:absolute;top:50%;left:var(--x,0%);width:30px;height:30px;margin:-15px 0 0 -15px;
  border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:var(--card2);border:1px solid var(--line);color:var(--muted);z-index:2;
  transition:transform .2s cubic-bezier(.3,1.35,.5,1),color .2s,border-color .2s,background .2s}
.bpt .ico{width:15px;height:15px}
.bpt.past{color:var(--u);border-color:rgba(255,168,90,.5)}
.bpt:active{transform:scale(.86)}
.bpt.on{color:#1A0A00;background:var(--grad);border-color:transparent;transform:scale(1.16);
  box-shadow:0 4px 14px rgba(255,90,31,.45)}
.beltinfo{border-top:1px solid rgba(255,138,45,.14);padding-top:10px;min-height:44px}
.beltinfo b{display:block;font-family:'Russo One',sans-serif;font-style:italic;font-size:15px;color:var(--a2)}
.beltinfo span{display:block;font-size:12.5px;line-height:1.4;color:#EBD4C0;margin-top:2px}
.beltinfo.in{animation:riseIn .26s cubic-bezier(.2,.9,.3,1)}

.drk{position:relative;overflow:hidden;display:flex;gap:11px;align-items:stretch;
  width:100%;text-align:left;padding:9px;margin-bottom:9px;
  transition:transform .14s cubic-bezier(.3,1.2,.5,1),border-color .2s,box-shadow .2s}
.drk:active{transform:scale(.978)}
.drk.now{border-color:rgba(255,138,45,.5)}
.drk.hi{border-color:rgba(255,170,43,.75);box-shadow:0 0 22px rgba(255,138,45,.25)}
.dph{position:relative;flex:none;width:84px;height:84px;border-radius:12px;overflow:hidden;
  background:var(--card2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:rgba(255,170,43,.45)}
.dph .ico{width:28px;height:28px;stroke-width:1.4}
.dph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s}
.dph img.in{opacity:1}
.dtx{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding-right:52px}
.dtx .ttl{font-weight:800;font-size:14px;line-height:1.25}
.dtx .whn{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--a2);margin-top:4px}
.dtx .whn .ico{width:13px;height:13px;flex:none}
.dtx .cmp{font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.drk-tag{position:absolute;top:10px;right:10px}

.waters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}
.wtr{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;
  padding-bottom:10px;box-shadow:0 4px 14px rgba(8,5,4,.28)}
.wtr-ph{position:relative;display:flex;align-items:center;justify-content:center;
  aspect-ratio:1/1;background:var(--card2);color:rgba(255,170,43,.4)}
.wtr-ph .ico{width:26px;height:26px;stroke-width:1.4}
.wtr-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s}
.wtr-ph img.in{opacity:1}
.wtr-n{display:block;font-size:12.5px;font-weight:800;padding:9px 9px 0;line-height:1.2}
.wtr-c{display:block;padding:3px 9px 0;line-height:1.35}

.drkcal .c{transition:transform .14s,border-color .18s}
.drkcal .c:active{transform:scale(.92)}
.drkcal .c i{display:flex;align-items:center;justify-content:center;margin-top:3px;color:var(--f)}
.drkcal .c .ico{width:14px;height:14px}
.drkcal .c.p1 i{color:var(--a2)} .drkcal .c.p2 i{color:var(--green)} .drkcal .c.p3 i{color:var(--u)}
.drkcal .c.p4 i{color:var(--p)} .drkcal .c.p5 i{color:var(--f)} .drkcal .c.p6 i{color:var(--a1)}
.drkcal .c.past{opacity:.5}
.drklg{margin-top:10px}
.drklg .pill .ico{width:14px;height:14px;color:var(--a2)}

.wtoday{position:relative}
.wt-n{font-size:20px;font-style:italic;line-height:1.1}
.wlist{padding:2px 12px}
.wrow{border-bottom:1px solid rgba(255,138,45,.12)}
.wrow:last-child{border-bottom:0}
.wline{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 0;
  transition:opacity .12s}
.wline:active{opacity:.6}
.wm{flex:none;width:26px;height:26px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:var(--card2);border:1px solid var(--line);color:var(--muted);
  font-size:11.5px;font-weight:800}
.wm .ico{width:14px;height:14px;stroke-width:2.2}
.wrow.past .wm{background:var(--grad);border-color:transparent;color:#1A0A00}
.wrow.now .wm{border-color:rgba(255,170,43,.6);color:var(--a2);position:relative}
.wrow.now .wm b{width:8px;height:8px;border-radius:50%;background:var(--grad);display:block}
.wrow.now .wm::after{content:'';position:absolute;inset:-1px;border-radius:10px;
  border:1.5px solid rgba(255,170,43,.7);animation:dayPulse 2.1s ease-out infinite}
.wrow.fut .wm{border-style:dashed}
.wline .wn{flex:1;min-width:0;font-size:13.5px;font-weight:800;line-height:1.25}
.wline .wn small{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-top:2px}
.wrow.fut .wn{opacity:.6;font-weight:700}
.wrow.rest .wn{font-style:italic}
.wline .wv{flex:none;color:var(--muted);transition:transform .3s cubic-bezier(.2,.9,.3,1)}
.wline .wv .ico{width:15px;height:15px}
.wrow.open .wv{transform:rotate(90deg);color:var(--a2)}
.wbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.9,.3,1)}
.wrow.open .wbody{grid-template-rows:1fr}
.wbin{overflow:hidden;min-height:0;padding-left:36px}
.wrow.open .wbin{padding-bottom:11px}
.wbn{margin-top:6px}

.shopbar{height:5px;border-radius:4px;background:var(--card2);overflow:hidden;margin:0 0 11px}
.shopbar i{display:block;width:100%;height:100%;border-radius:4px;background:var(--grad);
  transform-origin:left center;transform:scaleX(var(--p,0));
  transition:transform .45s cubic-bezier(.25,.85,.3,1)}
.shopwrap{position:relative;overflow:hidden;border-radius:16px}
.shopwrap.locked .card{filter:blur(2.5px)}

.pg-part{display:flex;gap:11px;align-items:center;border-radius:14px;padding:10px 12px;margin-bottom:8px;
  background:var(--card);border:1px solid var(--line)}
.pg-part.open{border-color:rgba(63,211,122,.34);
  background:linear-gradient(0deg,rgba(63,211,122,.07),rgba(63,211,122,.07)),var(--card)}
.pp-i{flex:none;width:32px;height:32px;border-radius:11px;display:flex;align-items:center;
  justify-content:center;color:var(--green);background:var(--card2);border:1px solid rgba(63,211,122,.3)}
.pp-i .ico{width:17px;height:17px}
.pg-part .pp-t b{display:block;font-size:13.5px}
.pg-part .pp-t span{display:block;margin-top:1px}

.paywall{margin:20px 0 12px;padding:14px 13px;border-radius:16px;
  background:linear-gradient(160deg,rgba(255,90,31,.13),rgba(255,201,77,.05)),var(--card);
  border:1px solid rgba(255,170,43,.45)}
.pw-l{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.pw-l span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,138,45,.45))}
.pw-l span:last-child{background:linear-gradient(90deg,rgba(255,138,45,.45),transparent)}
.pw-l b{flex:none;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--a2)}
.pw-t{font-size:12.5px;line-height:1.45;color:#EBD4C0}
.acc.locked{border-style:dashed}
.acc.locked .h{color:var(--muted)}
.acc.locked .h .ar{color:var(--a2);transform:none}
.acc .h .ar .ico{width:15px;height:15px;display:block}

.sh-cov{position:relative;margin:-2px -16px 14px;height:190px;overflow:hidden;background:var(--card2)}
.sh-cov img{width:100%;height:100%;object-fit:cover}
.sh-cov .sh-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:rgba(192,162,146,.45)}
.sh-cov .sh-ph .ico{width:44px;height:44px;stroke-width:1.2}

.cnowb{transition:transform .15s cubic-bezier(.3,1.2,.5,1)}
.cnowb:active{transform:scale(.93)}


.screen.rising > [data-rise]{animation:riseIn .34s cubic-bezier(.2,.9,.3,1) both;
  animation-delay:calc(var(--i,0) * 34ms)}

.post{position:relative}
.post.host{padding-left:15px}
.post.host::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;
  border-radius:0 3px 3px 0;background:var(--grad)}
.post .pinb{display:inline-flex;align-items:center;gap:5px}
.post .pinb .ico{width:12px;height:12px;stroke-width:2.2}
.react .ico{width:15px;height:15px;stroke-width:2}
.react.on .ico{fill:rgba(255,138,45,.25)}
.react.pop .ico{animation:reactPop .42s cubic-bezier(.3,1.4,.5,1)}
@keyframes reactPop{0%{transform:scale(1)}45%{transform:scale(1.38)}100%{transform:scale(1)}}
.post.mine-new{animation:mineIn .42s cubic-bezier(.2,.9,.3,1) both}
@keyframes mineIn{from{opacity:0;transform:translate3d(0,-10px,0)}to{opacity:1;transform:none}}

.pskel{background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:12px;margin-bottom:10px}
.pskel .prow{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.pskel u{flex:none;width:40px;height:40px;border-radius:50%;display:block}
.pskel i,.pskel u,.pskel s{background:var(--card2);position:relative;overflow:hidden;display:block}
.pskel i{height:12px;border-radius:6px;margin-bottom:8px}
.pskel s{width:74px;height:30px;border-radius:20px;margin-top:11px}
.pskel i::after,.pskel u::after,.pskel s::after{content:'';position:absolute;inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);
  animation:skelrun 1.25s infinite}

.fempty{text-align:center;padding:26px 16px}
.fempty .qbadge{width:52px;height:52px;border-radius:17px;margin:0 auto 12px;color:var(--a2)}
.fempty .qbadge .ico{width:26px;height:26px}
.fempty .down{display:block;margin:14px auto 0;width:20px;height:20px;color:var(--a2);
  transform:rotate(90deg);animation:downNudge 1.9s ease-in-out infinite}
@keyframes downNudge{0%,100%{transform:rotate(90deg) translateX(0);opacity:.5}
  50%{transform:rotate(90deg) translateX(5px);opacity:1}}

.fsend{display:inline-flex;align-items:center;gap:7px}
.fsend .ico{width:15px;height:15px;stroke-width:2.1}
.fsend:active{transform:scale(.94)}
.fsend.wait{opacity:.75;pointer-events:none}
.fsend.wait .ico{animation:sendGo .8s ease-in-out infinite}
@keyframes sendGo{0%{transform:translate3d(0,0,0);opacity:1}
  55%{transform:translate3d(9px,-7px,0);opacity:0}
  56%{transform:translate3d(-7px,6px,0);opacity:0}100%{transform:none;opacity:1}}

.g-top{display:flex;align-items:center;gap:7px}
.g-top .badge{display:inline-flex;align-items:center;gap:5px}
.g-top .badge .ico{width:13px;height:13px;stroke-width:2.2}
.g-top .badge.fire{border-color:rgba(255,138,45,.6);color:var(--a2)}
.g-top .badge.fire .ico{fill:rgba(255,138,45,.28)}
.g-top .badge.lit{animation:reactPop .5s cubic-bezier(.3,1.4,.5,1)}
.g-photo .ph{color:rgba(192,162,146,.45)}
.g-photo .ph .ico{width:42px;height:42px;stroke-width:1.2}
.gopt{position:relative;transition:transform .12s,border-color .18s,opacity .18s}
.gopt:active{transform:scale(.95)}
.gopt.picked{border-color:rgba(255,170,43,.75);background:linear-gradient(0deg,
  rgba(255,90,31,.14),rgba(255,90,31,.14)),var(--card2)}
.gopt.dim{opacity:.38}
.g-back.win{background:linear-gradient(160deg,rgba(255,90,31,.16),rgba(255,201,77,.06)),var(--card)}
.g-wave{position:absolute;left:50%;top:46%;width:12px;height:12px;margin:-6px 0 0 -6px;
  border-radius:50%;border:2px solid rgba(255,170,43,.75);pointer-events:none;
  animation:gWave .72s cubic-bezier(.2,.7,.3,1) both}
.g-wave.d2{animation-delay:.12s}
.g-wave.d3{animation-delay:.24s}
@keyframes gWave{from{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(26)}}
.g-mark{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;
  justify-content:center;margin:0 auto 8px;border:1px solid var(--line);background:var(--card2)}
.g-mark .ico{width:20px;height:20px}
.g-mark.win{color:var(--a2);border-color:rgba(255,170,43,.6)}
.g-mark.near{color:var(--f);border-color:rgba(255,201,77,.5)}
.g-mark.miss{color:var(--u)}
.gplace{min-width:26px;height:26px;padding:0 6px;border-radius:9px;display:inline-flex;
  align-items:center;justify-content:center;font-size:12px;font-weight:800;
  background:var(--card2);border:1px solid var(--line);color:var(--muted)}
.gplace.top{color:#1A0A00;background:var(--grad);border-color:transparent}
.gplace.t2{background:linear-gradient(160deg,rgba(255,224,190,.9),rgba(200,170,150,.75))}
.gplace.t3{background:linear-gradient(160deg,rgba(214,152,96,.9),rgba(166,110,66,.8))}

.fin{position:relative;overflow:hidden;text-align:center;padding:26px 16px 20px;
  border-radius:20px;border:1px solid rgba(255,170,43,.45);margin-bottom:12px;
  background:linear-gradient(160deg,rgba(255,90,31,.16),rgba(255,201,77,.05)),var(--card)}
.fin::after{content:'';position:absolute;left:50%;top:-40%;width:240px;height:240px;
  margin-left:-120px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,138,45,.22),transparent 70%)}
.fin .med{position:relative;width:96px;height:96px;border-radius:50%;margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;color:#1A0A00;background:var(--grad);
  box-shadow:0 10px 30px rgba(255,90,31,.4)}
.fin .med .ico{width:46px;height:46px;stroke-width:1.7}
.fin .med::before{content:'';position:absolute;inset:-7px;border-radius:50%;
  border:1.5px solid rgba(255,170,43,.55);animation:dayPulse 2.6s ease-out infinite}
.fin.lvl2 .med{background:linear-gradient(160deg,#FFE6CF,#C9A88F)}
.fin.lvl1 .med{background:linear-gradient(160deg,#E0A76C,#A96E42)}
.fin .ttl{font-size:26px;line-height:1.06;font-style:italic}
.fin .sub{font-size:12.5px;color:var(--muted);margin-top:7px}
.mi .ico{width:21px;height:21px;stroke-width:1.9}
.gskel1{margin-bottom:12px}
.gskel2{border:0;background:transparent;padding:13px 14px 14px;margin:0}
.gskel3{grid-template-columns:repeat(2,1fr)}
.gskel{padding:16px 10px;margin:0}

.spot{position:fixed;inset:0;z-index:95;background:rgba(8,5,4,.72);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:spotIn .26s ease both}
@keyframes spotIn{from{opacity:0}to{opacity:1}}
.spot.out{animation:spotIn .2s ease both reverse}
.spot .hole{position:absolute;border-radius:18px;background:transparent;pointer-events:none;
  box-shadow:0 0 0 2000px rgba(8,5,4,.72),0 0 0 2px rgba(255,170,43,.85),0 0 34px rgba(255,138,45,.55)}
.spot .say{position:absolute;left:14px;right:14px;max-width:460px;margin:0 auto;
  border-radius:18px;padding:15px 16px;background:var(--card);
  border:1px solid rgba(255,170,43,.5);box-shadow:0 18px 44px rgba(8,5,4,.55);
  animation:riseIn .34s cubic-bezier(.2,.9,.3,1) .1s both}
.spot .say .b{font-size:15.5px}
.spot .say .muted{margin-top:6px;line-height:1.42}
.spot .say .btn{margin-top:13px}

.phero{padding:22px 14px 16px}
.phero > *{position:relative}
.phero .nm{font-size:21px;font-style:italic;margin-top:11px}
.phero .ab{font-size:13px;color:#F5DDCB;margin-top:11px;white-space:pre-wrap;word-break:break-word}
.pbar{margin-top:14px}
.pbar .t{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);
  letter-spacing:.05em;margin-bottom:6px}
.pbar .t b{font-family:'Russo One',sans-serif;font-style:italic;font-size:13px;color:var(--a2)}
.pbar .r{position:relative;height:8px;border-radius:5px;background:var(--card2);overflow:hidden}
.pbar .r i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--grad);
  width:var(--w,0%);transition:width .8s cubic-bezier(.2,.9,.3,1)}
.pbar .r u{position:absolute;top:-2px;bottom:-2px;left:70%;width:2px;background:rgba(255,243,232,.55)}
.ptrack{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:12px}
.ptrack button{position:relative;aspect-ratio:1/1;border-radius:12px;padding:0;gap:1px;
  border:1px solid var(--line);background:var(--card2);color:var(--muted);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  transition:transform .12s,border-color .15s,box-shadow .15s}
.ptrack button:active{transform:scale(.9)}
.ptrack b{font-family:'Russo One',sans-serif;font-size:12px;font-style:italic;line-height:1}
.ptrack .ico{width:13px;height:13px;stroke-width:2}
.ptrack .done{color:#1A0A00;background:var(--grad);border-color:transparent}
.ptrack .jok{color:var(--green);border-color:rgba(63,211,122,.55)}
.ptrack .easy{color:var(--f);border-color:rgba(255,201,77,.55)}
.ptrack .miss{color:#FFB9B9;border-color:rgba(255,77,77,.45)}
.ptrack .now{color:var(--a2);border-color:rgba(255,170,43,.9);box-shadow:0 0 15px rgba(255,138,45,.32)}
.ptrack .now b::after{content:'';position:absolute;left:50%;bottom:7px;width:4px;height:4px;
  margin-left:-2px;border-radius:50%;background:var(--a2);animation:dayPulse 2.4s ease-out infinite}
.ptrack .lock{opacity:.4}
.pms{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line)}
.pms:first-child{border-top:0;padding-top:0}
.pms .n{flex:1;min-width:0;font-size:13px;color:var(--muted);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.pms .v{font-size:13.5px;font-weight:700;flex:none}
.pms .v s{color:var(--muted);font-weight:500;text-decoration:none}
.pms .d{flex:none;font-size:11.5px;font-weight:800;padding:3px 8px;border-radius:8px;
  background:rgba(63,211,122,.16);color:var(--green);min-width:52px;text-align:center}
.pms .d.up{background:rgba(255,224,190,.13);color:var(--u)}

@media (prefers-reduced-motion: reduce){
  .ptrack .now b::after{animation:none}
  .pbar .r i{transition:none}
  .screen.rising > [data-rise],.post.mine-new,.react.pop .ico,.fsend.wait .ico,
  .fempty .down,.g-wave,.g-top .badge.lit,.fin .med::before,.spot,.spot .hole,.spot .say,
  .pskel i::after,.pskel u::after,.pskel s::after{animation:none}
  .g-wave{display:none}
  .psec.entering,.psec.leaving,.psec.entering [data-rise],.pscreen.entering .pg-cov-b,
  .dayr.now .dm::after,.wrow.now .wm::after,.belt-now::after,.beltinfo.in,
  .dayr.deny,.mcard.deny,.acc.deny{animation:none}
  .psegline,.belt-fill,.shopbar i{transition:none}
  .sp-glow,.sp-core,.sp-arc,.sp-title,.sp-sub{animation:none}
  .sp-arc{stroke-dashoffset:0}
  .screen.on > .card,.screen.on > .plate,.screen.on > .chk,.screen.on > .sect{animation:none}
  .g-in{transition:none}
  .pa-glow,.pa-r1,.pa-r2,.pa-r3,.o1,.o2,.o3,.pa-core,.sb-track i,.fa-dots i{animation:none}
  .screen.on > [data-rise]{animation:none}
  .tabslide{transition:none}
  .rip{display:none}
  .chk.pop,.tab.pop svg,.btn.wait.on,.slot.lit,.dfav.on{animation:none}
}


.bezbar{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);
  z-index:9999;display:flex;align-items:center;gap:9px;
  padding:7px 9px 7px 13px;border-radius:999px;
  background:rgba(18,12,8,.92);border:1px solid rgba(212,164,92,.42);
  box-shadow:0 8px 26px rgba(0,0,0,.45);backdrop-filter:blur(7px);
  font-size:12px;color:#EBD4C0;max-width:calc(100% - 24px)}
.bezbar span{white-space:nowrap;opacity:.85}
.beztelo{display:flex;align-items:center;gap:9px;
  transition:opacity .18s ease,max-width .26s cubic-bezier(.2,.9,.3,1);
  max-width:60vw;overflow:hidden}
.bezbar.mini{padding:7px;gap:0}
.bezbar.mini .beztelo{max-width:0;opacity:0;pointer-events:none}
.bezglaz{flex:none;display:grid;place-items:center;width:26px;height:26px;
  border:0;border-radius:999px;cursor:pointer;color:#EBD4C0;
  background:rgba(212,164,92,.16);
  transition:transform .13s cubic-bezier(.2,.9,.3,1),background .16s}
.bezglaz:active{transform:scale(.9)}
.bezbar.on .bezglaz{background:rgba(212,164,92,.32)}
.bezbar button{border:0;cursor:pointer;white-space:nowrap;
  padding:7px 13px;border-radius:999px;font:inherit;font-weight:700;
  background:linear-gradient(135deg,#D4A45C,#B8873F);color:#1A1108;
  transition:transform .13s cubic-bezier(.2,.9,.3,1)}
.bezbar button:active{transform:scale(.94)}
.bezbar.on{border-color:rgba(212,164,92,.75)}
@media (prefers-reduced-motion:reduce){
  .bezbar button,.bezglaz,.beztelo{transition:none}
}
