:root{--brand:#f7c948;--brand-dark:#e0ad1e;--bg:#fff8e7;--card:#fff;--text:#3b2a1a;--muted:#8a7563;--line:#f0e3c8;--blue:#2e6fd8;--blue-bg:#e8f0fd;--red:#d64545;--red-bg:#fdecec;--green:#3f9a5a;--green-bg:#e9f6ec;--brown:#c8782e;--radius:16px;--shadow:0 2px 10px #50320a14;--tap:48px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);margin:0;padding:0}body{overscroll-behavior-y:none;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic UI,Meiryo,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}button{font:inherit;color:inherit}input{font:inherit}h1,h2,h3{margin:0;line-height:1.3}p{margin:0}#root{justify-content:center;min-height:100dvh;display:flex}.app{background:var(--bg);flex-direction:column;width:100%;max-width:480px;min-height:100dvh;display:flex;position:relative}.screen{padding:16px 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:14px;display:flex}.screen.with-nav{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.screen-title{justify-content:space-between;align-items:center;gap:8px;font-size:20px;font-weight:800;display:flex}.sub{color:var(--muted);font-size:13px}.small{font-size:13px}.center{text-align:center}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.grow{flex:1}.stack{flex-direction:column;gap:10px;display:flex}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.card.tight{padding:10px 12px}.card.brand{background:linear-gradient(160deg,#fff3c4,#ffe79a)}.card-title{align-items:center;gap:6px;margin-bottom:8px;font-size:15px;font-weight:800;display:flex}.btn{min-height:var(--tap);cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:16px;font-weight:800;transition:transform 60ms,filter .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--brand);color:var(--text);box-shadow:0 3px 0 var(--brand-dark)}.btn.primary:active{box-shadow:0 1px 0 var(--brand-dark)}.btn.secondary{border-color:var(--brand);color:var(--text);background:#fff}.btn.ghost{color:var(--muted);background:0 0}.btn.danger{background:var(--red-bg);color:var(--red)}.btn.big{width:100%;min-height:60px;font-size:18px}.btn.block{width:100%}.btn.sm{border-radius:10px;min-height:40px;padding:6px 12px;font-size:14px}.stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stats.cols-2{grid-template-columns:repeat(2,1fr)}.stats.cols-3{grid-template-columns:repeat(3,1fr)}.stat{background:var(--card);text-align:center;box-shadow:var(--shadow);border-radius:12px;min-width:0;padding:8px 6px}.stat .label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.stat .value{white-space:nowrap;font-size:17px;font-weight:800}.stat .sub{font-size:11px}.tone-blue{color:var(--blue)}.tone-red{color:var(--red)}.tone-green{color:var(--green)}.tone-muted{color:var(--muted)}.badge{background:var(--line);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge.blue{background:var(--blue-bg);color:var(--blue)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.green{background:var(--green-bg);color:var(--green)}.badge.brand{background:#ffe79a}.bubble{align-items:flex-start;gap:10px;display:flex}.avatar{color:#fff;text-shadow:0 1px 2px #00000040;width:48px;height:48px;box-shadow:var(--shadow);background-position:50%;background-size:cover;border:3px solid #fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:900;display:flex}.avatar.lg{width:72px;height:72px;font-size:26px}.bubble .speech{box-shadow:var(--shadow);background:#fff;border-radius:14px;flex:1;padding:10px 12px;position:relative}.bubble .speech:before{content:"";border:8px solid #0000;border-left:0;border-right-color:#fff;position:absolute;top:16px;left:-8px}.bubble .name{color:var(--muted);margin-bottom:2px;font-size:12px;font-weight:700}.weekbar{gap:4px;display:flex}.weekbar span{background:var(--line);border-radius:4px;flex:1;height:8px}.weekbar span.done{background:var(--brand)}.weekbar span.now{background:var(--brown)}.slots{grid-template-columns:1fr 1fr;gap:8px;display:grid}.slot{border:2px dashed var(--line);background:#fffdf7;border-radius:12px;min-height:64px;padding:8px 10px;font-size:13px}.slot.filled{border-style:solid;border-color:var(--brand);background:#fff}.slot .t{font-weight:800}.actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.action{background:var(--card);text-align:left;box-shadow:var(--shadow);cursor:pointer;border:2px solid #0000;border-radius:14px;flex-direction:column;gap:2px;min-height:72px;padding:10px;display:flex}.action:active{transform:scale(.98)}.action:disabled{opacity:.5}.action .n{align-items:center;gap:6px;font-size:15px;font-weight:800;display:flex}.action .c{color:var(--muted);font-size:12px}.action.rec{border-color:var(--brand);background:#fffbea}.nav{border-top:1px solid var(--line);width:100%;max-width:480px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:10;background:#fff;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav button{min-height:56px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:0;font-size:11px;font-weight:700;display:flex}.nav button .ic{font-size:22px;line-height:1.2}.nav button.on{color:var(--text);background:#fff3c4}.stage-tabs{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.stage-tab{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:52px;font-size:14px;font-weight:800;display:flex}.stage-tab .cur{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:600;overflow:hidden}.stage-tab.on{border-color:var(--brand);background:#fffbea}.options{flex-direction:column;gap:6px;display:flex}.opt{text-align:left;border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:10px;min-height:52px;padding:8px 12px;display:flex}.opt.on{border-color:var(--brand);background:#fffbea}.opt.locked{opacity:.55;background:#faf6ee}.opt .on-name{font-weight:800}.opt .on-desc{color:var(--muted);font-size:12px}.opt .on-cost{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;min-height:36px;padding:6px 12px;font-size:13px;font-weight:700}.chip:active{background:#fff3c4}.text-input{width:100%;min-height:var(--tap);border:2px solid var(--line);background:#fff;border-radius:12px;padding:8px 12px;font-size:16px}.text-input:focus{border-color:var(--brand);outline:none}.stepper{align-items:center;gap:8px;display:flex}.stepper button{border:2px solid var(--brand);cursor:pointer;background:#fff;border-radius:12px;width:48px;height:48px;font-size:22px;font-weight:900}.stepper button:disabled{opacity:.4}.stepper .val{text-align:center;flex:1;font-size:22px;font-weight:900}input[type=range]{width:100%;accent-color:var(--brand-dark);height:32px}.funnel{flex-direction:column;gap:6px;display:flex}.funnel .frow{grid-template-columns:64px 1fr 56px;align-items:center;gap:8px;font-size:13px;display:grid}.funnel .bar{background:linear-gradient(90deg, var(--brand), #ffd86b);border-radius:6px;min-width:4px;height:22px;transition:width .3s}.funnel .num{text-align:right;font-weight:800}.funnel .cap{color:var(--red);font-size:12px;font-weight:700}.voice{box-shadow:var(--shadow);background:#fff;border-radius:12px;gap:8px;padding:8px 12px;font-size:14px;display:flex}.ticker{flex-direction:column;gap:6px;display:flex}.ticker .line{box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:8px 12px;font-weight:600;animation:.35s pop}@keyframes pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rank-card{box-shadow:var(--shadow);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;animation:.4s pop;display:flex}.rank-card.me{border:2px solid var(--brand);background:#fffbea}.rank-card .rk{text-align:center;width:44px;font-size:24px;font-weight:900}.rank-card.first .rk{color:#d4a017}.reason{border-radius:14px;padding:12px}.reason.win{background:var(--blue-bg);border-left:5px solid var(--blue)}.reason.lose{background:var(--red-bg);border-left:5px solid var(--red)}.reason.tip{background:var(--green-bg);border-left:5px solid var(--green)}.reason .t{margin-bottom:2px;font-weight:800}.award{background:#fff;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.award.me{background:#fff3c4}.award .e{font-size:22px}table.tbl{border-collapse:collapse;width:100%;font-size:13px}table.tbl th,table.tbl td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:6px 4px}table.tbl th:first-child,table.tbl td:first-child{text-align:left}table.tbl tr.me{background:#fffbea;font-weight:800}.sheet-bg{z-index:50;background:#28190573;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:480px;padding:16px 16px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;flex-direction:column;gap:12px;max-height:85dvh;animation:.25s up;display:flex;overflow-y:auto}@keyframes up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.toast{color:#fff;z-index:100;background:#3b2a1a;border-radius:12px;max-width:90%;padding:10px 16px;font-weight:700;animation:.25s pop;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.title-screen{text-align:center;background:radial-gradient(circle at 50% 20%, #fff3c4, var(--bg) 70%);justify-content:center;align-items:center;gap:18px}.logo{letter-spacing:.06em;background:linear-gradient(#b8860b,#e0ad1e 45%,#8a5a00);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:52px;font-weight:900;line-height:1.1}.logo small{letter-spacing:.3em;color:var(--muted);-webkit-text-fill-color:var(--muted);font-size:14px;font-weight:700;display:block}.logo-wrap{box-shadow:var(--shadow);border:4px solid var(--brand);background:#fff;border-radius:24px;padding:20px 18px}.hr{background:var(--line);height:1px}.notice{color:var(--muted);font-size:11px;line-height:1.5}.progress{background:var(--line);border-radius:5px;height:10px;overflow:hidden}.progress>div{background:var(--brand);height:100%}.pill-list{flex-wrap:wrap;gap:6px;display:flex}.rival{align-items:flex-start;gap:10px;display:flex}.rival .em{text-align:center;width:40px;font-size:28px}details summary{cursor:pointer;align-items:center;min-height:40px;font-weight:700;display:flex}.kv{grid-template-columns:1fr auto;gap:4px 12px;font-size:14px;display:grid}.kv .k{color:var(--muted)}.kv .v{text-align:right;font-weight:700}.flavor{box-shadow:var(--shadow);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.flavor .sw{border-radius:8px;flex:none;width:28px;height:28px}.flavor.locked{opacity:.5}.codex-tabs{gap:6px;display:flex;overflow-x:auto}.codex-tabs button{flex:none}.quick{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quick-btn{box-shadow:var(--shadow);cursor:pointer;background:#fff;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;min-height:72px;padding:8px 4px;font-size:13px;font-weight:800;display:flex}.quick-btn .ic{font-size:24px}.quick-btn .sub{font-size:10px;font-weight:600}.quick-btn.hot{border-color:var(--brand);background:#fffbea}.steam path{animation:2.4s ease-in-out infinite steam}.steam path:nth-child(2){animation-delay:.6s}.steam path:nth-child(3){animation-delay:1.2s}@keyframes steam{0%{opacity:0;transform:translateY(6px)}40%{opacity:.7}to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.steam path{opacity:.4;animation:none}}.cook{box-shadow:var(--shadow);cursor:pointer;background:#fff;border:2px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.cook.on{border-color:var(--brand)}.slotrow{border:1px solid var(--line);background:#fffdf7;border-radius:12px;padding:8px 10px}.gacha-result{border:3px solid var(--brand);text-align:center;background:#fff;border-radius:18px;padding:14px;animation:.5s pop;box-shadow:0 6px 20px #e0a00040}.gauge{height:48px;box-shadow:var(--shadow);cursor:pointer;touch-action:manipulation;background:linear-gradient(90deg,#f6e7c1,#e9c777 50%,sienna);border:3px solid #fff;border-radius:24px;position:relative;overflow:hidden}.gauge .zone{position:absolute;top:0;bottom:0}.gauge .zone.good{background:#ffffff59}.gauge .zone.perfect{background:#f7c948e6;box-shadow:0 0 12px #f7c948}.gauge .needle{background:#3b2a1a;border-radius:3px;width:6px;margin-left:-3px;position:absolute;top:-4px;bottom:-4px}
