:root{--bg:#fff4e0;--bg-2:#ffe9c7;--card:#fff;--ink:#4a3b32;--ink-soft:#8a7466;--accent:#ffb74d;--accent-deep:#f4a22b;--sky:#b3e5fc;--mint:#b9e8c9;--pink:#ffc9d6;--lilac:#dcd0f5;--good:#7ccf9a;--good-deep:#4eb676;--warn:#ffd180;--radius:22px;--tap:64px;--shadow:0 4px 0 #785a3c2e;--font:"Hiragino Maru Gothic ProN", "BIZ UDPGothic", "Yu Gothic UI", "Meiryo", "Noto Sans JP", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg-2);color:var(--ink);font-family:var(--font);overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-weight:700;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}.app{background:var(--bg);width:100%;max-width:520px;height:100dvh;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.screen{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px 14px 14px;animation:.25s ease-out fadeIn;display:flex}.reduce-motion .screen{animation:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.screen.scroll{touch-action:pan-y;overflow-y:auto}.center{text-align:center;justify-content:center;align-items:center}h1,h2,h3,p{margin:0}.btn{min-height:var(--tap);min-width:var(--tap);border-radius:var(--radius);background:var(--accent);box-shadow:var(--shadow);border:0;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:22px;font-weight:800;transition:transform 80ms;display:inline-flex}.btn:active{transform:translateY(3px);box-shadow:0 1px #785a3c2e}.btn.big{min-height:80px;padding:12px 30px;font-size:28px}.btn.good{background:var(--good)}.btn.sky{background:var(--sky)}.btn.pink{background:var(--pink)}.btn.lilac{background:var(--lilac)}.btn.ghost{background:#ffffffb3}.btn.small{min-height:56px;padding:6px 14px;font-size:18px}.btn:disabled{opacity:.45;cursor:default}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px}.talk{align-items:center;gap:8px;display:flex}.bubble{box-shadow:var(--shadow);background:#fff;border-radius:20px;flex:1;align-items:center;gap:10px;min-height:70px;padding:12px 16px;font-size:24px;line-height:1.35;display:flex;position:relative}.bubble:before{content:"";border:9px solid #0000;border-left:0;border-right-color:#fff;margin-top:-9px;position:absolute;top:50%;left:-10px}.bubble .icon{font-size:34px}.topbar{align-items:center;gap:10px;display:flex}.dots{flex:1;gap:6px;display:flex}.dots i{background:#0000001a;border-radius:8px;flex:1;height:14px;transition:background .3s}.dots i.on{background:var(--good)}.dots i.now{background:var(--accent)}.pill{box-shadow:var(--shadow);white-space:nowrap;background:#fff;border-radius:999px;flex:none;padding:6px 12px;font-size:16px}.stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.stage .card{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:100%;min-height:150px;display:flex}.choices{gap:12px;display:grid}.choice{border-radius:var(--radius);min-height:96px;box-shadow:var(--shadow);background:#fff;border:4px solid #0000;justify-content:center;align-items:center;padding:6px;font-size:34px;font-weight:800;display:flex;position:relative}.choice:active{transform:translateY(3px)}.choice.correct{border-color:var(--good-deep);background:#e6f8ec}.choice.wrong{opacity:.5;background:#eee;border-color:#ccc;animation:.3s nudge}.reduce-motion .choice.wrong{animation:none}.choice.hint{border-color:var(--accent-deep);animation:1.6s ease-in-out infinite breathe}.reduce-motion .choice.hint{animation:none}.choice .mark{font-size:28px;position:absolute;top:4px;right:8px}@keyframes nudge{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes breathe{50%{transform:scale(1.04)}}.big-text{letter-spacing:.06em;font-size:56px;font-weight:900}.mid-text{font-size:40px;font-weight:900}.emoji-xl{font-size:92px;line-height:1}.emoji-lg{font-size:56px;line-height:1}.emoji-md{font-size:44px;line-height:1}.confetti{pointer-events:none;z-index:50;position:absolute;inset:0;overflow:hidden}.confetti span{font-size:26px;animation:1.6s ease-in forwards fall;position:absolute;top:-30px}.reduce-motion .confetti span{opacity:.9;animation:none;top:40%}@keyframes fall{to{opacity:.8;transform:translateY(105dvh)rotate(260deg)}}.nav{gap:8px;display:flex}.nav .btn{flex-direction:column;flex:1;gap:0;font-size:18px;line-height:1.1}.nav .btn span:first-child{font-size:28px}.sheet{z-index:40;background:#3c281466;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.sheet .card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;max-height:100%;padding:20px;display:flex;overflow:auto}.muted{color:var(--ink-soft)}.row{align-items:center;gap:10px;display:flex}.grow{flex:1}@media (orientation:landscape) and (height<=480px){.app{max-width:100%}.screen{padding:6px 10px}.bubble{min-height:48px;padding:6px 12px;font-size:18px}.choice{min-height:64px}.emoji-xl{font-size:64px}}.ring{width:150px;height:150px}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.keypad .btn{background:#fff;min-height:56px;font-size:24px}.bar{background:#eee;border-radius:8px;flex:1;height:16px;overflow:hidden}.bar>i{background:var(--good);border-radius:8px;height:100%;display:block}.switch-row{justify-content:space-between;align-items:center;gap:10px;width:100%;font-size:18px;display:flex}.seg{gap:6px;display:flex}.seg button{background:#f4ede3;border:3px solid #0000;border-radius:14px;min-height:48px;padding:4px 14px;font-size:18px}.seg button.on{background:var(--accent);border-color:var(--accent-deep)}.parent-body{text-align:left;flex-direction:column;gap:12px;width:100%;font-size:16px;display:flex}.parent-body h3{margin-top:4px;font-size:18px}details.about{background:#fff8ee;border-radius:14px;padding:0 12px}details.about+details.about{margin-top:8px}details.about summary{cursor:pointer;align-items:center;min-height:52px;font-size:16px;font-weight:800;display:flex}.about-body{flex-direction:column;gap:10px;padding-bottom:12px;font-size:15px;font-weight:600;line-height:1.6;display:flex}.about-block h4{color:#e8743b;margin:0 0 4px;font-size:15px}.about-block ul{margin:0;padding-left:1.2em}.about-block li+li{margin-top:4px}.about-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.about-table th,.about-table td{vertical-align:top;text-align:left;border:1px solid #ecdcc4;padding:6px 8px}.about-table th{background:#ffe9c7}:root{--bg:#fff3dc;--bg-2:#ffe3b8;--accent:#ffb74d;--good:#7ccf9a}.title-logo{color:#e8743b;text-shadow:0 3px #fff;font-size:40px;font-weight:900;line-height:1.15}.title-logo.big2{color:#d9822b;font-size:34px}.title-sub{color:var(--ink-soft);margin-top:6px;font-size:20px}.title-deco{letter-spacing:6px;font-size:30px}.bob{animation:3.2s ease-in-out infinite bob}.reduce-motion .bob{animation:none}@keyframes bob{50%{transform:translateY(-6px)}}.starrow{gap:2px;display:inline-flex}.pill-big{align-items:center;gap:6px;padding:6px 14px;font-size:20px;display:inline-flex}.menu-cards{flex-direction:column;flex:1;justify-content:center;gap:12px;min-height:0;display:flex}.menu-card{min-height:92px;max-height:150px;box-shadow:var(--shadow);text-align:left;border:0;border-radius:26px;flex:1;align-items:center;gap:14px;padding:10px 18px;transition:transform 80ms;display:flex}.menu-card:active{transform:translateY(3px)}.menu-card.bento{background:#ffd9a0}.menu-card.order{background:#ffc9d6}.menu-card.garden{background:#cdeccb}.menu-ico{text-align:center;flex:none;width:64px;font-size:54px;line-height:1}.bubble{text-wrap:balance}.menu-txt{flex-direction:column;gap:4px;display:flex}.menu-txt b{font-size:25px;font-weight:900}.menu-txt small{color:var(--ink-soft);font-size:16px}.glow-card{outline:5px solid #ffd54f;animation:2.2s ease-in-out infinite breathe}.reduce-motion .glow-card{animation:none}.worlds{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.world{min-height:0;box-shadow:var(--shadow);border-radius:22px;flex-direction:column;flex:1;gap:4px;padding:6px 8px 8px;display:flex}.world-head{padding-left:6px;font-size:17px;font-weight:900}.world-tiles{flex:1;grid-template-columns:repeat(4,1fr);gap:8px;min-height:0;display:grid}.tile{min-height:0;box-shadow:var(--shadow);background:#fff;border:4px solid #0000;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px;display:flex;position:relative}.tile:active{transform:translateY(3px)}.tile .num{color:var(--ink-soft);font-size:15px;font-weight:900;position:absolute;top:2px;left:8px}.tile .big-emoji{font-size:32px}.tile.next{border-color:var(--accent-deep);animation:2s ease-in-out infinite breathe}.reduce-motion .tile.next{animation:none}.tile.locked{opacity:.7;background:#f1eadd}.game{gap:8px;padding-top:8px;padding-bottom:10px}.gtop{align-items:center;gap:8px;display:flex}.gtop .btn.small{min-width:56px;min-height:48px;padding:4px 12px}.gtitle{flex:1;justify-content:center;align-items:center;gap:8px;font-size:24px;font-weight:900;display:flex}.gtitle .pill{font-size:18px}.note{text-align:center;min-height:44px;box-shadow:var(--shadow);background:#fff;border-radius:16px;justify-content:center;align-items:center;padding:6px 12px;font-size:19px;display:flex}.note.good{color:#2f8f58;background:#e6f8ec;font-size:21px}.center-text{text-align:center;font-size:16px}.board-wrap{min-height:150px;box-shadow:var(--shadow);background:#ffe9c4;border-radius:24px;flex:1;justify-content:center;align-items:center;padding:6px;display:flex}.board{touch-action:manipulation;width:100%;height:100%;display:block}.pop{transform-box:fill-box;transform-origin:50%;animation:.28s ease-out pop}.reduce-motion .pop{animation:none}@keyframes pop{0%{transform:scale(1.12)}to{transform:scale(1)}}.hint-ghost{animation:1.6s ease-in-out infinite ghost}.reduce-motion .hint-ghost{animation:none}@keyframes ghost{50%{opacity:.55}}.tray{background:#fff9;border-radius:22px;flex-wrap:wrap;place-content:center;align-items:center;gap:8px;min-height:96px;max-height:210px;padding:6px;display:flex}.tray-piece{min-width:68px;min-height:68px;box-shadow:var(--shadow);background:#fff;border:4px solid #0000;border-radius:18px;justify-content:center;align-items:center;padding:6px;display:flex}.tray-piece:active{transform:translateY(3px)}.tray-piece.sel{border-color:var(--accent-deep);background:#fff4d6;transform:translateY(-3px)}.tray-piece.glow{border-color:var(--accent-deep);animation:1.6s ease-in-out infinite breathe}.reduce-motion .tray-piece.glow{animation:none}.tray-piece.shake{animation:.4s nudge}.reduce-motion .tray-piece.shake{border-color:#ef9a9a;animation:none}.runbar{gap:8px;display:flex}.runbar .btn{flex:1;min-height:64px;padding:4px 6px}.btn.big-ico{flex-direction:column;gap:0;line-height:1.1}.btn.big-ico span{font-size:26px}.btn.big-ico small{font-size:15px;font-weight:800}.customers{flex:1;justify-content:space-around;align-items:center;display:flex}.cust{opacity:.45;filter:grayscale(.4);font-size:30px}.cust.done{opacity:1;filter:none}.cust.now{opacity:1;filter:none;transform:scale(1.25)}.guest-emoji{font-size:84px;line-height:1;display:inline-block}.guest-emoji.sm{font-size:64px}.guest-emoji.munch{animation:.7s ease-in-out infinite munch}.reduce-motion .guest-emoji.munch{animation:none}@keyframes munch{50%{transform:scale(1.1,.94)}}.order-bubble{gap:8px;min-height:70px;font-size:24px}.order-bubble>span,.order-bubble svg{word-break:keep-all;flex:none}.order-bubble>span:last-child{flex:1;min-width:0;line-height:1.25}.order-bubble .mid-text{font-size:34px;line-height:1}.frame-wrap,.cherry-wrap{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:0;display:flex}.note.oops{color:#b8651b;background:#fff0e0}.tenframe{align-items:center;gap:8px;display:flex}.tf-grid{box-shadow:var(--shadow);background:#fff;border-radius:18px;grid-template-columns:repeat(5,54px);gap:6px;padding:8px;display:grid}.tf-cell{border:3px dashed #e4d6bd;border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;font-size:32px;line-height:1;display:flex}.tf-cell.on{border:3px solid #00000014}.tf-over{color:#e0584f;background:#ffe3e0;border-radius:14px;padding:6px 10px;font-size:26px;font-weight:900}.packs{flex-wrap:wrap;flex:none;place-content:center;align-items:center;gap:10px;padding-bottom:6px;display:flex}.pack{width:calc(33.3333% - 6.66667px);min-width:0;min-height:100px;box-shadow:var(--shadow);background:#fff;border:4px solid #0000;border-radius:20px;justify-content:center;align-items:center;padding:10px 4px 26px;display:flex;position:relative}.pack:active{transform:translateY(3px)}.pack.sel{border-color:#0000002e;transform:translateY(-3px)}.pack.hint{border-color:var(--accent-deep);animation:1.6s ease-in-out infinite breathe}.reduce-motion .pack.hint{animation:none}.pack:disabled{opacity:1}.pack-items{grid-template-columns:repeat(5,1fr);width:100%;display:grid}.pack-items i{text-align:center;white-space:nowrap;min-width:0;font-size:16px;font-style:normal;line-height:1.35}.pack-num{color:#6b5446;font-size:22px;font-weight:900;position:absolute;bottom:2px;right:8px}.cards{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-content:center;gap:8px;min-height:0;max-height:340px;margin:auto 0;display:grid}.fcard{min-height:84px;box-shadow:var(--shadow);background:#fff;border:4px solid #0000;border-radius:20px;justify-content:center;align-items:center;display:flex;position:relative}.fcard:active{transform:translateY(3px)}.fcard svg{width:82%;height:auto;max-height:90%}.fcard.taken{border-color:var(--good-deep);background:#e6f8ec}.fcard.hint{border-color:var(--accent-deep);animation:1.6s ease-in-out infinite breathe}.reduce-motion .fcard.hint{animation:none}.fcard.shake{background:#f1eadd;animation:.4s nudge}.reduce-motion .fcard.shake{animation:none}.fcard .check{color:var(--good-deep);font-size:26px;position:absolute;top:2px;right:8px}.feast{justify-content:center;padding-top:18px}.guest-row{align-items:center;gap:12px;width:100%;display:flex}.guest-row .bubble{min-height:64px}.guest-row.stack{flex-direction:column}.guest-row.stack .bubble{justify-content:center;width:100%}.guest-row.stack .bubble:before{display:none}.guest-line{justify-content:center;gap:6px;font-size:44px;display:flex}.feast-board{flex:1;width:100%}.giftbox{width:100%;min-height:210px;box-shadow:var(--shadow);background:#fff;border:0;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px;display:flex;position:relative}.giftbox.closed{background:#ffe3ec;animation:2s ease-in-out infinite breathe}.reduce-motion .giftbox.closed{animation:none}.gift-emoji{font-size:84px;line-height:1}.gift-name{font-size:26px;font-weight:900}.gift-where{font-size:16px}.gift-new{color:#fff;background:#ff7a7a;border-radius:999px;padding:2px 12px;font-size:18px;font-weight:900;position:absolute;top:10px;right:14px}.col-btns{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.garden{gap:6px}.room{aspect-ratio:360/300;width:100%;height:auto;max-height:44dvh;box-shadow:var(--shadow);touch-action:manipulation;background:#fff;border-radius:20px;margin:0 auto;display:block}.gtabs{gap:6px;display:flex}.gtab{min-height:58px;box-shadow:var(--shadow);background:#ffffffb3;border:0;border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:0;line-height:1.1;display:flex}.gtab span{font-size:24px}.gtab small{white-space:nowrap;font-size:14px;font-weight:800}.garden .gtitle{white-space:nowrap;font-size:19px}.gtab.on{background:var(--accent)}.gpanel{touch-action:pan-y;background:#fff9;border-radius:20px;flex-direction:column;flex:1;gap:8px;min-height:0;padding:8px;display:flex;overflow-y:auto}.selbar{align-items:center;gap:8px;min-height:44px;font-size:15px;display:flex}.igrid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.ibtn{min-height:58px;box-shadow:var(--shadow);background:#fff;border:4px solid #0000;border-radius:16px;justify-content:center;align-items:center;padding:2px;display:flex;position:relative}.ibtn:active{transform:translateY(2px)}.ibtn.sel{border-color:var(--accent-deep);background:#fff4d6}.ibtn.lock{box-shadow:none;opacity:.8;background:#ece6da}.ibtn .q{opacity:.5;filter:grayscale();font-size:26px}.ibtn .tick{color:var(--good-deep);font-size:16px;font-weight:900;position:absolute;top:-2px;right:2px}.roomtab{flex-direction:column;gap:10px;display:flex}.rowlabel{margin:0 0 4px 4px;font-size:16px;font-weight:900}.dress{align-items:flex-start;gap:8px;display:flex}.dress-left{flex-direction:column;flex:none;align-items:center;gap:6px;width:134px;display:flex}.parts{gap:4px;display:flex}.ptab{width:40px;height:48px;box-shadow:var(--shadow);background:#fff;border:0;border-radius:12px;font-size:20px}.ptab.on{background:var(--accent)}.dress-grid{flex:1;grid-template-columns:repeat(3,1fr)}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;font-size:15px;display:grid}@media (orientation:landscape) and (height<=480px){.guest-emoji{font-size:56px}.menu-card{min-height:64px}}
