:root{
  --pink:#ff1970;
  --cyan:#00c8e8;
  --yellow:#ffd20a;
  --green:#40d35a;
  --bg:#050505;
  --panel:#0e0e0e;
  --line:#3a3a3a;
  --muted:#a0a0a0;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#000;color:#fff;font-family:Arial,"Noto Sans JP",sans-serif}
body{
  background:
    linear-gradient(135deg,rgba(255,255,255,.022) 25%,transparent 25%) 0 0/34px 34px,
    linear-gradient(315deg,rgba(255,255,255,.016) 25%,transparent 25%) 0 0/34px 34px,
    #030303;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.topbar{
  position:sticky;top:0;z-index:20;
  display:grid;grid-template-columns:72px 1fr 72px;align-items:center;
  min-height:198px;padding:18px 18px 20px;
  background:#030303;border-bottom:4px solid var(--pink);
}
.top-icon{
  width:58px;height:58px;border:2px solid #454545;border-radius:15px;
  background:#070707;color:#fff;font-size:36px;font-weight:300;
}
.brand{text-align:center}
.brand img{display:block;max-width:330px;width:100%;max-height:115px;object-fit:contain;margin:auto}
.brand div{
  margin-top:2px;font-size:25px;font-weight:1000;letter-spacing:.03em;
  font-family:Impact,"Arial Black",sans-serif;transform:rotate(-1deg);
}
main{max-width:860px;margin:auto;padding:26px 24px 70px}
.page{display:none}.page.active{display:block}
.section-title,.page-head{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-bottom:14px
}
.section-title h2,.page-head h2{
  margin:0;padding-left:24px;position:relative;font-size:32px;font-weight:1000
}
.section-title h2:before,.page-head h2:before{
  content:"";position:absolute;left:5px;top:1px;bottom:1px;width:11px;background:var(--pink);transform:skew(-10deg)
}
.section-title>button{border:0;background:none;color:var(--pink);font-size:18px;font-weight:900}
.page-head{grid-template-columns:64px 1fr 64px}
.page-head h2{text-align:center;font-size:28px;padding:0}
.page-head h2:before{display:none}
.page-head>button{
  width:54px;height:54px;border:1px solid #4b4b4b;border-radius:12px;background:#0b0b0b;color:#fff;font-size:34px
}
.home-schedule-list{display:grid;gap:8px}
.home-event{
  display:grid;grid-template-columns:165px 1fr 30px;min-height:110px;
  background:linear-gradient(90deg,#0b0b0b,#050505);border:1px solid #454545;border-left:9px solid var(--cyan);border-radius:12px;color:#fff;text-align:left;overflow:hidden
}
.home-event.live{border-left-color:var(--pink)}.home-event.meeting{border-left-color:var(--yellow)}.home-event.recording{border-left-color:#865cff}
.home-date{display:grid;place-content:center;border-right:1px solid #444;text-align:center}
.home-date strong{font-size:30px}.home-date small{font-size:16px}
.home-event-copy{padding:18px 20px;min-width:0}
.home-event-copy h3{margin:0 0 11px;font-size:25px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-event-copy p{margin:5px 0;color:#bbb;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-badge{display:inline-block;margin-right:10px;padding:5px 10px;border:2px solid currentColor;color:var(--cyan);font-size:14px}
.home-event.live .event-badge{color:var(--pink)}.home-event.meeting .event-badge{color:var(--yellow)}
.home-arrow{display:grid;place-items:center;color:#888;font-size:34px}
.empty{padding:25px;border:1px dashed #555;border-radius:10px;color:#999;text-align:center}
.add-schedule-button{
  width:100%;margin:18px 0 34px;padding:18px;border:2px solid var(--pink);border-radius:12px;
  background:
    radial-gradient(circle at 3% 20%,rgba(255,25,112,.35),transparent 12%),
    radial-gradient(circle at 98% 80%,rgba(255,25,112,.28),transparent 14%),
    #050505;color:var(--pink);font-size:27px;font-weight:1000
}
.mini-calendar{display:inline-grid;place-items:center;width:50px;height:45px;margin-right:12px;border:4px solid currentColor;border-radius:8px;font-size:19px}
.quick-title{margin-top:0}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quick-card{
  position:relative;overflow:hidden;min-height:250px;padding:24px 15px;border-radius:12px;background:#020202;color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;font-size:21px;font-weight:1000
}
.quick-card:before,.quick-card:after{
  content:"";position:absolute;inset:-12%;opacity:.55;pointer-events:none
}
.quick-card:before{
  background:
    radial-gradient(circle at 5% 8%,currentColor 0 4px,transparent 5px),
    radial-gradient(circle at 13% 26%,currentColor 0 2px,transparent 3px),
    radial-gradient(circle at 91% 13%,currentColor 0 5px,transparent 6px),
    radial-gradient(circle at 85% 75%,currentColor 0 3px,transparent 4px),
    radial-gradient(circle at 24% 88%,currentColor 0 5px,transparent 6px);
}
.quick-card:after{background:linear-gradient(132deg,transparent 34%,currentColor 35% 37%,transparent 38% 66%,currentColor 67% 69%,transparent 70%);opacity:.14}
.quick-card>*{position:relative;z-index:2}
.quick-card svg{width:112px;height:112px;overflow:visible;filter:drop-shadow(0 0 9px currentColor)}
.quick-card svg rect,.quick-card svg path{fill:none;stroke:currentColor;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.quick-card svg text{fill:currentColor;font:900 31px Arial Black;text-anchor:middle}
.quick-card .shirt-plus{stroke:#050505;stroke-width:7}
.quick-yellow svg>path:first-child{fill:currentColor;stroke:none}
.quick-cyan{color:var(--cyan);border:3px solid var(--cyan);box-shadow:inset 0 0 24px rgba(0,200,232,.16)}
.quick-pink{color:var(--pink);border:3px solid var(--pink);box-shadow:inset 0 0 24px rgba(255,25,112,.16)}
.quick-yellow{color:var(--yellow);border:3px solid var(--yellow);box-shadow:inset 0 0 24px rgba(255,210,10,.15)}
.quick-card span{color:#fff;font-size:20px;text-align:center}
.filters{display:flex;gap:8px;overflow-x:auto;padding:0 0 15px}
.filters button{white-space:nowrap;padding:10px 15px;border:1px solid #555;border-radius:24px;background:#0b0b0b;color:#ddd}
.filters button.active{background:var(--pink);border-color:var(--pink);color:#fff}
.card-list{display:grid;gap:13px}
.card,.poll-card,.merch-card,.panel{
  background:#0d0d0d;border:1px solid #424242;border-radius:12px;padding:18px
}
.card{border-left:7px solid var(--cyan)}.card.live{border-left-color:var(--pink)}.card.meeting{border-left-color:var(--yellow)}
.card-head,.poll-head,.merch-head{display:flex;justify-content:space-between;gap:12px}
.card h3,.poll-card h3,.merch-card h3{margin:0 0 8px;font-size:21px}.card p,.poll-card p,.merch-card p{margin:6px 0;color:#bbb}
.badge{padding:5px 9px;border-radius:6px;background:#222;color:var(--cyan);font-size:12px;height:max-content}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.row-actions button,.primary,.secondary{
  border-radius:9px;padding:11px 16px;font-weight:800
}
.row-actions button,.secondary{border:1px solid #555;background:#161616;color:#fff}
.row-actions .danger{border-color:#a22;color:#ff6d8d}
.primary{border:0;background:var(--pink);color:#fff}
.panel{margin-bottom:12px}.panel h3{margin-top:0}
label{display:grid;gap:7px;margin:13px 0;color:#ddd}
input,select,textarea{
  width:100%;padding:14px;border:1px solid #555;border-radius:10px;background:#080808;color:#fff
}
dialog{width:min(92vw,620px);max-height:90vh;overflow:auto;border:2px solid var(--cyan);border-radius:17px;background:#0d0d0d;color:#fff;padding:24px}
dialog::backdrop{background:rgba(0,0,0,.86)}
.dialog-actions,.two-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.weekday-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday-grid label{display:flex;align-items:center;justify-content:center;padding:10px 3px;background:#151515;border-radius:7px}.weekday-grid input{width:auto}
.answer-list,.result-list{display:grid;gap:1px;background:#333}
.answer-row,.result-row{display:grid;grid-template-columns:1fr auto;align-items:center;background:#101010;padding:16px}
.answer-buttons{display:flex;gap:8px}.answer-buttons button{width:48px;height:44px;border:1px solid #555;background:#151515;color:#fff;border-radius:50%;font-size:22px}.answer-buttons .ok.active{background:#22b83d}.answer-buttons .maybe.active{background:#e0b100}.answer-buttons .no.active{background:#db3152}
.sticky-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;background:rgba(0,0,0,.94)}
.result-row{grid-template-columns:1fr auto auto;gap:14px}.result-counts{display:flex;gap:12px}.result-row.selected{border-left:7px solid var(--green);background:#102314}.result-row button.selected{background:var(--green)}
.merch-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.merch-summary div{background:#0e0e0e;border:1px solid #444;border-radius:10px;padding:13px;text-align:center}.merch-summary span{display:block;color:#aaa;font-size:12px}.merch-summary strong{display:block;margin-top:6px;font-size:21px;color:var(--yellow)}
.low-stock{color:#ff5d79;font-weight:900}.stock-controls{display:flex;gap:7px;align-items:center}.stock-controls button{width:40px;height:36px;border:1px solid #555;background:#181818;color:#fff;border-radius:7px}
.menu-overlay{position:fixed;inset:0;z-index:49;background:rgba(0,0,0,.75)}
.side-menu{position:fixed;z-index:50;top:0;bottom:0;left:0;width:min(84vw,350px);padding:18px;background:#070707;border-right:3px solid var(--pink);transform:translateX(-105%);transition:.2s}
.side-menu.open{transform:none}.side-menu-head{display:grid;grid-template-columns:1fr 46px;align-items:center;padding-bottom:15px;border-bottom:1px solid #444}.side-menu-head img{max-width:220px}.side-menu-head button{height:46px;border:1px solid #555;background:#111;color:#fff;font-size:30px;border-radius:8px}
.side-menu nav{display:grid;gap:8px;margin-top:18px}.side-menu nav button{display:grid;grid-template-columns:45px 1fr;align-items:center;min-height:58px;background:#0f0f0f;border:1px solid #444;border-left:5px solid var(--cyan);color:#fff;text-align:left;font-weight:800}.side-menu nav button:nth-child(3){border-left-color:var(--pink)}.side-menu nav button:nth-child(4){border-left-color:var(--yellow)}.side-menu nav span{text-align:center;font-size:21px}
.side-menu footer{position:absolute;bottom:18px;left:18px;right:18px;color:#777;font-size:12px}
body.menu-open{overflow:hidden}
@media(max-width:700px){
  .topbar{min-height:170px;grid-template-columns:62px 1fr 62px;padding:15px 16px}
  .top-icon{width:52px;height:52px}
  .brand img{max-height:95px}.brand div{font-size:21px}
  main{padding:22px 16px 55px}
  .section-title h2{font-size:27px}
  .home-event{grid-template-columns:112px 1fr 25px;min-height:95px}
  .home-date strong{font-size:25px}.home-date small{font-size:14px}
  .home-event-copy{padding:15px 12px}.home-event-copy h3{font-size:19px}.home-event-copy p{font-size:13px}.event-badge{font-size:11px;padding:3px 6px}
  .add-schedule-button{font-size:20px;padding:15px}
  .quick-grid{grid-template-columns:repeat(3,1fr);gap:8px}
  .quick-card{min-height:190px;padding:15px 7px;gap:17px}
  .quick-card svg{width:84px;height:84px}.quick-card span{font-size:14px}
}
@media(max-width:430px){
  .quick-card{min-height:166px}.quick-card svg{width:72px;height:72px}.quick-card span{font-size:12px}
}

/* V2.1 FINAL QUICK MENU */
.quick-grid-final{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.quick-card-final{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:260px;padding:22px 12px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.025),transparent 40%),#020202;color:#fff;box-shadow:0 12px 22px rgba(0,0,0,.58),inset 0 0 34px rgba(255,255,255,.025)}
.quick-card-final:before{content:"";position:absolute;inset:0;z-index:-3;opacity:.28;background:repeating-linear-gradient(156deg,transparent 0 26px,currentColor 27px 29px,transparent 30px 58px);transform:scale(1.1) rotate(-2deg)}
.quick-card-final:after{content:"";position:absolute;inset:-18%;z-index:-2;opacity:.36;background:radial-gradient(circle at 3% 12%,currentColor 0 8px,transparent 9px),radial-gradient(circle at 11% 23%,currentColor 0 3px,transparent 4px),radial-gradient(circle at 17% 79%,currentColor 0 5px,transparent 6px),radial-gradient(circle at 90% 13%,currentColor 0 7px,transparent 8px),radial-gradient(circle at 95% 84%,currentColor 0 10px,transparent 11px),radial-gradient(circle at 76% 94%,currentColor 0 4px,transparent 5px),radial-gradient(ellipse at 12% 60%,currentColor 0 9%,transparent 10%),radial-gradient(ellipse at 89% 42%,currentColor 0 8%,transparent 9%)}
.paint-layer{position:absolute;z-index:-1;pointer-events:none;background:currentColor;opacity:.2;filter:blur(1px)}
.paint-a{width:150px;height:34px;left:-25px;top:30px;clip-path:polygon(0 25%,82% 0,100% 32%,86% 46%,100% 64%,69% 77%,28% 100%,0 72%);transform:rotate(-9deg)}
.paint-b{width:130px;height:42px;right:-30px;bottom:24px;clip-path:polygon(0 20%,70% 0,100% 25%,88% 43%,100% 72%,61% 100%,14% 79%);transform:rotate(12deg)}
.quick-cyan{color:var(--cyan)!important;border:4px solid var(--cyan)!important;box-shadow:0 0 0 1px rgba(0,200,232,.22),0 0 19px rgba(0,200,232,.38),inset 0 0 28px rgba(0,200,232,.14)!important}
.quick-pink{color:var(--pink)!important;border:4px solid var(--pink)!important;box-shadow:0 0 0 1px rgba(255,25,112,.24),0 0 19px rgba(255,25,112,.4),inset 0 0 28px rgba(255,25,112,.15)!important}
.quick-yellow{color:var(--yellow)!important;border:4px solid var(--yellow)!important;box-shadow:0 0 0 1px rgba(255,210,10,.23),0 0 19px rgba(255,210,10,.38),inset 0 0 28px rgba(255,210,10,.13)!important}
.quick-icon-final{position:relative;z-index:2;width:128px;height:128px;overflow:visible;filter:drop-shadow(0 0 4px currentColor) drop-shadow(0 0 11px currentColor) drop-shadow(0 0 20px currentColor)}
.quick-icon-final rect,.quick-icon-final path{fill:none;stroke:currentColor;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.quick-icon-final text{fill:currentColor;font-family:"Arial Black",Impact,sans-serif;font-size:38px;font-weight:1000;text-anchor:middle}
.quick-check-final path{stroke-width:15}
.quick-shirt-final .shirt-body{fill:currentColor;stroke:none}
.quick-shirt-final .shirt-plus{fill:none;stroke:#050505;stroke-width:9}
.quick-label-final{position:relative;z-index:3;display:block;color:#fff;font-size:20px;line-height:1.2;font-weight:1000;text-align:center;letter-spacing:.01em;text-shadow:0 2px 0 #000,0 0 8px #000}
.quick-card-final:active{transform:scale(.975);filter:brightness(1.16)}
@media(max-width:700px){.quick-grid-final{gap:8px!important}.quick-card-final{min-height:205px;padding:16px 7px 15px;gap:17px;border-width:3px!important}.quick-icon-final{width:92px;height:92px}.quick-label-final{font-size:14px}}
@media(max-width:430px){.quick-card-final{min-height:190px}.quick-icon-final{width:84px;height:84px}.quick-label-final{font-size:13px}}


/* =========================================================
   V2.2 — requested two-column quick menu design
   ========================================================= */
.quick-grid-final{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.quick-card-final{
  aspect-ratio:1.28 / 1!important;
  min-height:0!important;
  padding:18px 12px 16px!important;
  gap:13px!important;
  border-radius:7px!important;
  background:#030303!important;
  box-shadow:none!important;
}
.quick-card-final::before{
  inset:0!important;
  opacity:.13!important;
  background:
    linear-gradient(135deg,transparent 0 42%,currentColor 43% 45%,transparent 46% 100%),
    linear-gradient(25deg,transparent 0 68%,currentColor 69% 71%,transparent 72% 100%)!important;
  transform:none!important;
}
.quick-card-final::after{
  inset:0!important;
  opacity:.52!important;
  background:
    radial-gradient(circle at 2% 5%,currentColor 0 7px,transparent 8px),
    radial-gradient(circle at 7% 13%,currentColor 0 3px,transparent 4px),
    radial-gradient(circle at 13% 4%,currentColor 0 5px,transparent 6px),
    radial-gradient(circle at 97% 8%,currentColor 0 8px,transparent 9px),
    radial-gradient(circle at 91% 16%,currentColor 0 3px,transparent 4px),
    radial-gradient(circle at 4% 91%,currentColor 0 9px,transparent 10px),
    radial-gradient(circle at 12% 96%,currentColor 0 4px,transparent 5px),
    radial-gradient(circle at 96% 92%,currentColor 0 10px,transparent 11px),
    radial-gradient(circle at 88% 97%,currentColor 0 4px,transparent 5px),
    linear-gradient(145deg,currentColor 0 10%,transparent 11% 89%,currentColor 90% 100%)!important;
  filter:none!important;
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%)!important;
}
.paint-layer{display:none!important}
.quick-cyan{
  border:2px solid var(--cyan)!important;
  box-shadow:inset 0 0 18px rgba(0,200,232,.08)!important;
}
.quick-pink{
  border:2px solid var(--pink)!important;
  box-shadow:inset 0 0 18px rgba(255,25,112,.08)!important;
}
.quick-yellow{
  border:2px solid var(--yellow)!important;
  box-shadow:inset 0 0 18px rgba(255,210,10,.08)!important;
}
.quick-icon-final{
  width:100px!important;
  height:100px!important;
  filter:drop-shadow(0 0 3px currentColor) drop-shadow(0 0 7px currentColor)!important;
}
.quick-icon-final rect,.quick-icon-final path{stroke-width:9!important}
.quick-check-final path{stroke-width:17!important}
.quick-shirt-final .shirt-plus{stroke-width:9!important}
.quick-label-final{
  font-size:18px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  text-shadow:0 2px 0 #000!important;
}
.quick-merch{
  grid-column:1!important;
}
@media(max-width:700px){
  .quick-grid-final{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .quick-card-final{aspect-ratio:1.22 / 1!important;padding:14px 7px 13px!important;gap:10px!important}
  .quick-icon-final{width:82px!important;height:82px!important}
  .quick-label-final{font-size:14px!important;white-space:normal!important}
}
@media(max-width:390px){
  .quick-card-final{aspect-ratio:1.12 / 1!important}
  .quick-icon-final{width:72px!important;height:72px!important}
  .quick-label-final{font-size:13px!important}
}


/* ===== V2.3.0 QUICK MENU FINAL ===== */
.quick-grid-v230{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
.quick-tile-v230{position:relative!important;overflow:hidden!important;isolation:isolate;aspect-ratio:1/1!important;min-height:0!important;padding:18px 10px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:20px!important;background:#020202!important;border-radius:8px!important;color:#fff!important}
.quick-tile-v230::before{content:"";position:absolute;inset:-15%;z-index:-3;opacity:.28;background:radial-gradient(circle at 3% 10%,currentColor 0 7px,transparent 8px),radial-gradient(circle at 12% 22%,currentColor 0 3px,transparent 4px),radial-gradient(circle at 88% 14%,currentColor 0 5px,transparent 6px),radial-gradient(circle at 94% 83%,currentColor 0 9px,transparent 10px),radial-gradient(circle at 18% 89%,currentColor 0 5px,transparent 6px),radial-gradient(ellipse at 6% 55%,currentColor 0 9%,transparent 10%),radial-gradient(ellipse at 93% 46%,currentColor 0 8%,transparent 9%)}
.quick-tile-v230::after{content:"";position:absolute;inset:0;z-index:-4;opacity:.16;background:repeating-linear-gradient(150deg,transparent 0 31px,currentColor 32px 34px,transparent 35px 65px)}
.quick-tile-v230.cyan{color:#00d7f2!important;border:3px solid #00d7f2!important;box-shadow:0 0 17px rgba(0,215,242,.36),inset 0 0 26px rgba(0,215,242,.12)!important}
.quick-tile-v230.pink{color:#ff2077!important;border:3px solid #ff2077!important;box-shadow:0 0 17px rgba(255,32,119,.38),inset 0 0 26px rgba(255,32,119,.13)!important}
.quick-tile-v230.yellow{color:#ffd400!important;border:3px solid #ffd400!important;box-shadow:0 0 17px rgba(255,212,0,.34),inset 0 0 26px rgba(255,212,0,.12)!important}
.quick-tile-v230 svg{width:112px!important;height:112px!important;overflow:visible;filter:drop-shadow(0 0 5px currentColor) drop-shadow(0 0 12px currentColor)!important}
.quick-tile-v230 svg rect,.quick-tile-v230 svg path{fill:none;stroke:currentColor;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.quick-tile-v230 svg text{fill:currentColor;font-family:"Arial Black",Impact,sans-serif;font-size:38px;font-weight:1000;text-anchor:middle}
.quick-tile-v230 .shirt{fill:currentColor;stroke:none}.quick-tile-v230 .plus{stroke:#050505;stroke-width:9}
.quick-tile-v230 strong{color:#fff!important;font-size:18px!important;line-height:1.25!important;text-align:center!important;text-shadow:0 2px 0 #000,0 0 7px #000}
.quick-tile-v230:nth-child(3){grid-column:1/2!important}
.quick-tile-v230:active{transform:scale(.975)}
.splat{position:absolute;z-index:-2;background:currentColor;opacity:.18;filter:blur(.5px)}
.splat-1{width:135px;height:32px;left:-28px;top:25px;transform:rotate(-10deg);clip-path:polygon(0 20%,78% 0,100% 28%,82% 48%,100% 68%,62% 100%,18% 77%)}
.splat-2{width:125px;height:38px;right:-30px;bottom:22px;transform:rotate(13deg);clip-path:polygon(0 24%,72% 0,100% 27%,87% 48%,100% 73%,60% 100%,13% 80%)}
@media(max-width:430px){.quick-grid-v230{gap:10px!important}.quick-tile-v230{padding:14px 7px!important;gap:14px!important}.quick-tile-v230 svg{width:82px!important;height:82px!important}.quick-tile-v230 strong{font-size:13px!important}}
