:root{--cocoa:#4a2f27;--cocoa-soft:#86675a;--cream:#fffaf2;--paper:#f4e6d9;--coral:#ff6b5b;--butter:#ffcf5a;--mint:#8fdcc2;--sky:#bfe3ff;--peach:#ffe4d6;--judge-perfect:var(--mint);--judge-good:var(--butter);--judge-miss:var(--coral);--judge-pending:var(--sky);--font-display:"Jua","Gowun Dodum","Apple SD Gothic Neo","Malgun Gothic",sans-serif;--font-body:"Gowun Dodum","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[hidden]{display:none!important}html,body{height:100%}body{background:var(--peach);color:var(--cocoa);font-family:var(--font-body);word-break:keep-all;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;overflow:hidden}#app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;position:relative;overflow:hidden}#c{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}button{font:inherit;color:inherit}button:focus-visible{outline:3px dashed var(--cocoa);outline-offset:4px}.round{background:var(--cream);border:3px solid var(--cocoa);width:46px;height:46px;box-shadow:0 4px 0 var(--cocoa);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;transition:transform 60ms,box-shadow 60ms;display:grid}.round svg{fill:none;width:22px;height:22px;stroke:var(--cocoa);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.round:active{box-shadow:0 1px 0 var(--cocoa);transform:translateY(3px)}#btnSound{z-index:6;position:absolute;top:12px;right:16px}.topbar{pointer-events:none;align-items:center;gap:10px;padding:12px 76px 0 16px;display:flex;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.orders{scrollbar-width:none;flex:1;gap:8px;min-width:0;margin-top:-9px;padding:11px 2px 8px;display:flex;overflow-x:auto}.orders::-webkit-scrollbar{display:none}.ticket{box-sizing:border-box;text-align:left;background:var(--cream);border:3px solid var(--cocoa);width:148px;box-shadow:0 4px 0 var(--cocoa);cursor:pointer;border-radius:16px;flex:none;gap:1px;padding:6px 11px 8px;transition:transform 60ms,box-shadow 60ms;display:grid;position:relative}.ticket:active{box-shadow:0 1px 0 var(--cocoa);transform:translateY(3px)}.ticket.focused{border-color:var(--coral);background:#fff1c7}.ticket-guest{color:var(--cocoa-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.ticket-recipe{font-family:var(--font-display);font-size:18px;font-weight:400;line-height:1.15}.ticket-note{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.ticket-focus{font-family:var(--font-display);color:var(--cream);background:var(--coral);border:2px solid var(--cocoa);white-space:nowrap;border-radius:999px;padding:0 8px;font-size:12px;position:absolute;top:-9px;right:8px}.orders-empty{border:2.5px solid var(--cocoa);text-wrap:balance;background:#fffaf2eb;border-radius:999px;align-self:center;margin:0;padding:6px 14px;font-size:14px}.shift-stats{font-family:var(--font-display);background:var(--cream);border:3px solid var(--cocoa);box-shadow:0 4px 0 var(--cocoa);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;flex:none;align-self:flex-start;margin:0;padding:6px 14px;font-size:15px}.stat-short{display:none}.patience{border:2px solid var(--cocoa);background:var(--paper);border-radius:999px;height:6px;margin-top:4px;display:block;overflow:hidden}.patience-fill{background:var(--judge-perfect);height:100%;transition:width .3s linear,background-color .3s;display:block}.patience-fill.good{background:var(--judge-good)}.patience-fill.miss{background:var(--judge-miss)}.held-chip{z-index:2;box-sizing:border-box;background:var(--cream);border:3px solid var(--cocoa);max-width:calc(100% - 32px);box-shadow:0 4px 0 var(--cocoa);white-space:nowrap;pointer-events:none;border-radius:999px;align-items:baseline;gap:8px;margin:0;padding:7px 16px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.held-chip b{font-family:var(--font-display);text-overflow:ellipsis;font-size:18px;font-weight:400;overflow:hidden}.held-label{color:var(--cocoa-soft);font-size:13px}.held-chip.guide-line{white-space:normal;border-color:var(--coral);box-shadow:0 4px 0 var(--coral);pointer-events:auto;border-radius:22px;align-items:center;gap:12px;width:max-content;padding:8px 8px 8px 18px}.guide-say{font-family:var(--font-display);text-wrap:balance;font-size:17px;line-height:1.3}.guide-skip{font:inherit;color:var(--cocoa-soft);background:var(--paper);border:2px solid var(--cocoa);cursor:pointer;border-radius:999px;flex:none;padding:4px 12px;font-size:13px}.guide-skip:focus-visible{outline:3px dashed var(--coral);outline-offset:2px}.held-chip.guide-line.plain{pointer-events:none;padding:8px 18px}.held-chip.hint{white-space:normal;text-align:center;text-wrap:balance;border-radius:20px;font-size:14px}.guide-arrow{z-index:1;cursor:pointer;touch-action:manipulation;width:52px;height:52px;transform:rotate(var(--turn));background:0 0;border:0;margin:-26px 0 0 -26px;padding:0;position:absolute}.guide-arrow.edge{z-index:3}.guide-arrow svg{width:100%;height:100%;animation:1s ease-in-out infinite arrowNudge;display:block;overflow:visible}.guide-arrow path{fill:var(--coral);stroke:var(--cocoa);stroke-width:3.5px;stroke-linejoin:round}.guide-arrow path.halo{fill:none;stroke:var(--cream);stroke-width:9px}.guide-arrow:focus-visible{outline:3px dashed var(--coral);outline-offset:2px;border-radius:50%}@keyframes arrowNudge{50%{translate:5px}}.guest-tag{z-index:2;box-sizing:border-box;background:var(--cream);border:2.5px solid var(--cocoa);min-width:70px;box-shadow:0 3px 0 var(--cocoa);font-family:var(--font-display);white-space:nowrap;cursor:pointer;border-radius:14px;align-items:center;gap:6px;padding:3px 10px 5px;font-size:15px;line-height:1.2;display:flex;position:absolute;transform:translate(-50%,-100%)}.tag-body{flex:1;justify-items:center;display:grid}.tag-body .patience{justify-self:stretch;height:5px;margin-top:3px}.tag-who{font-family:var(--font-body);color:var(--cocoa-soft);font-size:12px}.tag-arrow{color:var(--coral);font-size:20px}.guest-tag.edge-right{transform:translate(-100%,-50%)}.guest-tag.edge-left{transform:translateY(-50%)}.guest-tag.deciding{background:var(--butter);animation:1.2s ease-in-out infinite tagBob}.guest-tag.eating{background:var(--mint)}.guest-tag.ghost,.speech.ghost{opacity:.45;transition:opacity .2s}@keyframes tagBob{50%{translate:0 -4px}}.thing-tag{z-index:4;visibility:hidden;box-sizing:border-box;background:var(--cream);border:2.5px solid var(--cocoa);width:max-content;max-width:min(260px,100% - 24px);box-shadow:0 3px 0 var(--cocoa);pointer-events:none;text-align:center;transform-origin:50% 100%;border-radius:14px;flex-direction:column;align-items:center;margin:0;padding:4px 12px 5px;animation:.22s cubic-bezier(.3,1.6,.5,1) speechIn;display:flex;position:absolute}.thing-tag.placed{visibility:visible}.thing-tag b{font-family:var(--font-display);font-size:17px;font-weight:400;line-height:1.15}.thing-tag .thing-status{color:var(--cocoa-soft);margin:0;font-size:13px;line-height:1.3}.thing-tag.refused{border-color:var(--coral);box-shadow:0 3px 0 var(--coral);background:#fff0ea}.thing-tag .thing-why{color:#c2402f;font-size:14px;line-height:1.3}.thing-status{color:var(--cocoa-soft);margin:4px 0 0;font-size:14px;line-height:1.4}.verb{font-family:var(--font-display);color:var(--cream);background:var(--coral);border:2.5px solid var(--cocoa);box-shadow:0 3px 0 var(--cocoa);cursor:pointer;white-space:nowrap;text-shadow:0 1px #4a2f2759;border-radius:999px;padding:8px 14px;font-size:16px;line-height:1.1;transition:transform 60ms,box-shadow 60ms}.verb:active{box-shadow:0 1px 0 var(--cocoa);transform:translateY(2px)}.view-dock{z-index:5;pointer-events:none;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:16px;right:16px}.view-dock>*{pointer-events:auto}.view-card{box-sizing:border-box;background:var(--cream);border:3px solid var(--cocoa);width:min(300px,100vw - 32px);box-shadow:0 5px 0 var(--cocoa);transform-origin:100% 100%;border-radius:20px;padding:10px 12px 12px;animation:.25s cubic-bezier(.3,1.6,.5,1) speechIn}.view-verbs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px;display:grid}.view-verbs .verb{white-space:nowrap;padding:7px 8px;font-size:14.5px}.view-verbs .verb.alt{grid-column:1/-1}.verb.alt{color:var(--cocoa);text-shadow:none;background:#fff}.view-light{border-top:2px dashed #e2cdbd;margin-top:12px;padding-top:10px}.view-light .thing-status{margin:0}.segmented{border:2.5px solid var(--cocoa);border-radius:999px;grid-template-columns:repeat(3,1fr);margin-top:8px;display:grid;overflow:hidden}.segmented button{font-family:var(--font-display);cursor:pointer;background:#fff;border:0;padding:6px 4px;font-size:15px}.segmented button+button{border-left:2px solid var(--cocoa)}.segmented button.on{background:var(--butter)}@media (width<=720px){.view-dock.busy{display:none}}#panel{box-sizing:border-box;background:var(--cream);border:3px solid var(--cocoa);width:min(560px,100% - 32px);box-shadow:0 6px 0 var(--cocoa);border-radius:26px;gap:10px;padding:14px 18px 16px;display:grid;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.panel-head{align-items:center;gap:10px;display:flex}#stepTitle{font-family:var(--font-display);text-wrap:balance;margin:0;font-size:24px;font-weight:400;line-height:1.1}#stepHint{color:var(--cocoa-soft);text-wrap:pretty;margin:0;font-size:15px;line-height:1.5}.panel-row{align-items:center;gap:14px;display:flex}.meter{flex:1;min-width:0}.track-wrap{position:relative}.track{border:3px solid var(--cocoa);background:var(--paper);border-radius:999px;height:20px;position:relative;overflow:hidden}.fill{background:var(--judge-pending);border-right:3px solid var(--cocoa);width:0;transition:width 80ms linear,background-color .15s;position:absolute;top:0;bottom:0;left:0}.fill.zero{border-right:none}.fill.perfect{background:var(--judge-perfect)}.fill.good{background:var(--judge-good)}.fill.miss{background:var(--judge-miss)}.band{border-left:2.5px solid var(--cocoa);border-right:2.5px solid var(--cocoa);box-sizing:border-box;position:absolute;top:0;bottom:0}.band.good{background:repeating-linear-gradient(135deg,#ffcf5af2 0 6px,#ffe7a8f2 6px 12px)}.band.perfect{background:repeating-linear-gradient(135deg,#8fdcc2f2 0 6px,#c1f0def2 6px 12px)}.cells{display:flex;position:absolute;inset:0}.cell{flex:1;min-width:0;transition:background-color .15s}.cell+.cell{border-left:2px solid var(--cocoa)}.cell.done{background:var(--judge-pending)}.cell.perfect{background:var(--judge-perfect)}.cell.good{background:var(--judge-good)}.cell.miss{background:var(--judge-miss)}.target{background:var(--coral);border:2px solid var(--cocoa);border-radius:3px;width:5px;margin-left:-2.5px;display:none;position:absolute;top:-7px;bottom:-7px}.marker{background:var(--cocoa);border:2px solid var(--cream);border-radius:4px;width:8px;margin-left:-4px;display:none;position:absolute;top:-8px;bottom:-8px}.meter[data-type=heat] .track{background:linear-gradient(90deg,#ffd9cf 0%,#f7c58c 34%,#d58a4d 60%,#8a4a2a 80%,#3a2318 100%)}.meter[data-type=heat] .fill{display:none}.meter[data-type=heat] .marker,.meter[data-type=pour] .target{display:block}.meter[data-type=gauge] .fill{display:none}.meter[data-type=gauge] .marker{display:block}.mlabels{color:var(--cocoa-soft);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:8px;margin-top:6px;font-size:13px;display:flex}#mVal{font-family:var(--font-display);color:var(--cocoa);text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:16px;overflow:hidden}#mVal.hot{color:#c23b2c}#mVal.ok{color:#1f8a66}.btn{font-family:var(--font-display);color:var(--cream);background:var(--coral);border:3px solid var(--cocoa);box-shadow:0 5px 0 var(--cocoa);cursor:pointer;touch-action:none;white-space:nowrap;text-shadow:0 2px #4a2f2759;border-radius:999px;flex:none;padding:14px 22px;font-size:20px;line-height:1;transition:transform 60ms,box-shadow 60ms}.btn.pressed,.btn:active{box-shadow:0 1px 0 var(--cocoa);transform:translateY(4px)}.btn.alt{background:var(--cream);color:var(--cocoa);text-shadow:none}#fx{pointer-events:none;z-index:4;position:absolute;inset:0}.fb{font-family:var(--font-display);white-space:nowrap;color:var(--butter);text-shadow:3px 0 var(--cocoa),-3px 0 var(--cocoa),0 3px var(--cocoa),0 -3px var(--cocoa),2px 2px var(--cocoa),-2px 2px var(--cocoa),2px -2px var(--cocoa),-2px -2px var(--cocoa),0 7px 0 var(--cocoa);font-size:clamp(30px,6.5vw,50px);animation:1.15s ease-out forwards fb;position:absolute;top:22%;left:50%}.fb.perfect{color:var(--judge-perfect)}.fb.good{color:var(--judge-good)}.fb.miss{color:var(--judge-miss)}@keyframes fb{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}16%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}28%{transform:translate(-50%,-50%)scale(1)}72%{opacity:1;transform:translate(-50%,-55%)scale(1)}to{opacity:0;transform:translate(-50%,-110%)scale(.95)}}.star{vertical-align:-.14em;width:1em;height:1em;display:inline-block}.star svg{width:100%;height:100%;display:block}.star path{fill:#eadccd;stroke:var(--cocoa);stroke-width:1.9px;stroke-linejoin:round}.star.on path{fill:var(--butter)}.star.pop{animation:.4s cubic-bezier(.3,1.7,.5,1) starPop}@keyframes starPop{0%{transform:scale(.2)}to{transform:scale(1)}}#clear{pointer-events:none;z-index:5;place-items:center;padding-inline:16px;display:grid;position:absolute;inset:0}.clear-card{background:var(--cream);border:3px solid var(--cocoa);box-shadow:0 6px 0 var(--cocoa);text-align:center;border-radius:26px;padding:16px 30px 18px;animation:.45s cubic-bezier(.3,1.6,.5,1) cardPop;transform:translateY(-12vh)}@keyframes cardPop{0%{opacity:0;transform:translateY(-12vh)scale(.5)}to{opacity:1;transform:translateY(-12vh)scale(1)}}.clear-title{font-family:var(--font-display);margin:0 0 6px;font-size:24px}.clear-stars{justify-content:center;gap:6px;font-size:46px;display:flex}.clear-note{color:var(--cocoa-soft);margin:8px 0 0;font-size:15px}.speech{z-index:4;pointer-events:none;visibility:hidden;box-sizing:border-box;background:var(--cream);border:3px solid var(--cocoa);width:max-content;max-width:min(300px,100% - 24px);box-shadow:0 5px 0 var(--cocoa);text-align:center;transform-origin:50% 100%;border-radius:22px;padding:20px 18px 12px;animation:.4s cubic-bezier(.3,1.6,.5,1) speechIn;position:absolute}.speech.placed{visibility:visible}.speech.at-side{transform-origin:0}@keyframes speechIn{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.speech-chip{font-family:var(--font-display);background:var(--judge-pending);border:2.5px solid var(--cocoa);white-space:nowrap;border-radius:999px;padding:1px 12px;font-size:15px;position:absolute;top:-15px;left:50%;transform:translate(-50%)}.speech-chip.perfect{background:var(--judge-perfect)}.speech-chip.good{background:var(--judge-good)}.speech-chip.miss{background:var(--judge-miss)}.speech-who{font-family:var(--font-display);margin:0;font-size:17px;line-height:1.2}.speech-who b{font-size:21px;font-weight:400}.speech-text{text-wrap:balance;border-top:2px dashed #e2cdbd;margin:8px 0 0;padding-top:8px;font-size:17px;line-height:1.45}.speech-tail{background:var(--cream);border:0 solid var(--cocoa);width:18px;height:18px;position:absolute;transform:rotate(45deg)}.at-above .speech-tail{bottom:-11px;left:var(--tail);border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:4px;margin-left:-9px}.at-side .speech-tail{left:-11px;top:var(--tail);border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:4px;margin-top:-9px}#menu{z-index:3;box-sizing:border-box;background:radial-gradient(at 50% 45%,#fff6eed1 0%,#ffece28c 55%,#ffe4d633 100%);justify-content:center;align-items:safe center;padding:72px 16px 24px;display:flex;position:absolute;inset:0;overflow:auto}.menu-inner{justify-items:center;gap:18px;width:min(1120px,100%);display:grid}.logo{font-family:var(--font-display);color:var(--coral);letter-spacing:.02em;text-shadow:4px 0 var(--cocoa),-4px 0 var(--cocoa),0 4px var(--cocoa),0 -4px var(--cocoa),3px 3px var(--cocoa),-3px 3px var(--cocoa),3px -3px var(--cocoa),-3px -3px var(--cocoa),0 10px 0 var(--cocoa);margin:0;font-size:clamp(52px,11vw,92px);font-weight:400;line-height:1;transform:rotate(-2deg)}.logo span{color:var(--butter)}.tagline{text-align:center;color:var(--cocoa);text-wrap:balance;margin:0;font-size:17px}.cards{flex-wrap:wrap;justify-content:center;gap:18px;width:100%;margin-top:4px;display:flex}.cards .card{flex:0 200px;min-width:0}.card{text-align:center;background:var(--cream);border:3px solid var(--cocoa);box-shadow:0 6px 0 var(--cocoa);cursor:pointer;border-radius:26px;grid-template-rows:auto 1fr;gap:10px;padding:12px 12px 16px;transition:transform .14s;display:grid}.card:hover{transform:translateY(-4px)rotate(-1deg)}.card:active{box-shadow:0 2px 0 var(--cocoa);transform:translateY(3px)}.thumb{aspect-ratio:1;background:var(--card-bg,var(--sky));border:2.5px solid var(--cocoa);border-radius:18px;place-items:center;max-width:100%;display:grid;overflow:hidden}.thumb img{object-fit:contain;width:100%;height:100%;display:block}.card h3{font-family:var(--font-display);margin:0;font-size:27px;font-weight:400}.card .sub{color:var(--cocoa-soft);margin:4px 0 0;font-size:14px;line-height:1.4}.card .meta{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;font-size:13px;display:flex}.chip{border:2px solid var(--cocoa);white-space:nowrap;font-variant-numeric:tabular-nums;background:#fff;border-radius:999px;padding:2px 9px}.chip.best{background:var(--butter)}.shop-standing{box-sizing:border-box;background:var(--cream);border:3px solid var(--cocoa);width:min(460px,100%);box-shadow:0 5px 0 var(--cocoa);border-radius:22px;justify-items:center;gap:8px;padding:12px 16px;display:grid}.standing-chips{flex-wrap:wrap;justify-content:center;gap:6px;margin:0;font-size:13px;display:flex}.chip.special{background:#ffe1ea}.chip.streak{background:#ffe6c7}.rank-bar{justify-items:center;gap:5px;width:100%;display:grid}.rank-name{font-family:var(--font-display);align-items:baseline;gap:8px;margin:0;display:flex}.rank-name b{color:var(--cocoa-soft);font-size:15px;font-weight:400}.rank-name span{font-size:22px}.rank-track{box-sizing:border-box;border:2.5px solid var(--cocoa);background:#fff;border-radius:999px;width:100%;height:14px;display:block;overflow:hidden}.rank-fill{background:var(--butter);border-right:2px solid var(--cocoa);box-sizing:border-box;height:100%;transition:width .6s;display:block}.rank-bar small{color:var(--cocoa-soft);font-variant-numeric:tabular-nums;font-size:13px}.card.locked .thumb img{filter:grayscale(.85)brightness(1.08);opacity:.55}.card .thumb{position:relative}.card .lock{place-items:center;display:grid;position:absolute;inset:0}.card .lock svg{width:44px;height:44px;fill:var(--cream);stroke:var(--cocoa);stroke-width:2px;stroke-linejoin:round}.chip.lock-chip{background:var(--paper)}.report-progress{border-top:2px dashed var(--cocoa-soft);justify-items:center;gap:6px;width:100%;padding-top:10px;display:grid}.report-gain{font-family:var(--font-display);align-items:baseline;gap:8px;margin:0;font-size:20px;display:flex}.report-gain small{font-family:var(--font-body);color:var(--coral);font-size:13px}.report-rankup,.report-unlock{font-family:var(--font-display);color:var(--coral);text-wrap:balance;margin:0;font-size:17px}.tag-x2{color:#c2185b;border:2px solid var(--cocoa);background:#ffe1ea;border-radius:999px;padding:0 5px;font-size:12px;line-height:1.3}.btn.open-shop{padding:16px 38px;font-size:26px}.menu-section{font-family:var(--font-display);margin:8px 0 -6px;font-size:20px;font-weight:400}.howto{flex-wrap:wrap;justify-content:center;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.howto li{border:2px solid var(--cocoa);background:#fffaf2e6;border-radius:999px;padding:5px 12px;font-size:14px}.howto b{font-family:var(--font-display);color:var(--coral);margin-right:6px;font-weight:400}@media (width<=680px){.cards{gap:12px}.cards .card{flex-basis:100%}.card{text-align:left;grid-template-rows:auto;grid-template-columns:104px minmax(0,1fr);align-items:center;padding:10px 14px 10px 10px}.card .meta{justify-content:flex-start}.card h3{font-size:24px}}@media (height<=600px){.speech{padding:16px 14px 10px}.speech-who b{font-size:18px}.speech-text{margin-top:6px;padding-top:6px;font-size:15px}}.book-veil{z-index:7;background:#4a2f274d;position:absolute;inset:0}.recipe-book{z-index:8;box-sizing:border-box;background:var(--cream);border:3px solid var(--cocoa);width:min(560px,100% - 32px);max-height:calc(100% - 48px);box-shadow:0 6px 0 var(--cocoa);border-radius:26px;padding:14px 18px 18px;animation:.3s cubic-bezier(.3,1.6,.5,1) speechIn;position:absolute;top:50%;left:50%;overflow:auto;translate:-50% -50%}.book-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.book-head h2{font-family:var(--font-display);margin:0;font-size:22px;font-weight:400}.round.small{width:36px;height:36px;box-shadow:0 3px 0 var(--cocoa);font-size:20px;line-height:1}.book-tabs{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.book-tabs button{font-family:var(--font-display);border:2.5px solid var(--cocoa);cursor:pointer;background:#fff;border-radius:999px;padding:4px 14px;font-size:16px}.book-tabs button.on{background:var(--card-bg,var(--butter))}.book-page{border-top:2px dashed #e2cdbd;margin-top:12px;padding-top:12px}.book-title{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:14px;display:grid}.thumb.small{border-radius:14px;width:96px}.book-title h3{font-family:var(--font-display);margin:0;font-size:26px;font-weight:400}.book-title .sub{color:var(--cocoa-soft);margin:2px 0 0;font-size:14px;line-height:1.4}.book-dish{margin:6px 0 0;font-size:13.5px}.book-page h4{font-family:var(--font-display);color:var(--coral);margin:14px 0 6px;font-size:17px;font-weight:400}.book-parts{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.book-parts li{border:2px solid var(--cocoa);background:#fff;border-radius:999px;padding:2px 10px;font-size:14px}.book-steps{gap:4px;margin:0;padding-left:22px;font-size:14.5px;line-height:1.45;display:grid}.book-guests{gap:4px;margin:0;padding:0;font-size:14.5px;line-height:1.45;list-style:none;display:grid}.book-guests b{font-family:var(--font-display);margin-right:6px;font-weight:400}#nogl{text-align:center;z-index:9;background:var(--peach);place-items:center;padding-inline:16px;display:grid;position:absolute;inset:0}#nogl div{background:var(--cream);border:3px solid var(--cocoa);max-width:420px;box-shadow:0 6px 0 var(--cocoa);border-radius:24px;padding:20px}@media (width<=480px){#panel{border-radius:22px;gap:8px;padding:12px 14px 14px}#stepTitle{font-size:21px}#stepHint{font-size:14px}.btn{padding:13px 16px;font-size:18px}.topbar{gap:8px;padding-right:70px}.ticket{width:128px;padding:5px 9px 7px}.ticket-recipe{font-size:16px}.shift-stats{padding:5px 10px;font-size:14px}.stat-long,.orders-hint{display:none}.held-chip{max-width:calc(100% - 150px)}.stat-short{display:inline}.recipe-book{padding:12px 14px 16px}.book-title{grid-template-columns:72px minmax(0,1fr)}.thumb.small{width:72px}}@media (prefers-reduced-motion:reduce){.card:hover{transform:none}.speech,.thing-tag,.recipe-book,.guest-tag.deciding,.view-card,.guide-arrow svg{animation:none}}.together{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.join{gap:8px;display:flex}.join input{box-sizing:border-box;width:6.2em;font-family:var(--font-display);letter-spacing:.18em;text-align:center;color:var(--cocoa);background:var(--cream);border:3px solid var(--cocoa);border-radius:999px;outline:none;padding:11px 12px;font-size:20px}.join input:focus-visible{border-color:var(--coral)}.btn:disabled{opacity:.5;cursor:default;box-shadow:0 5px 0 var(--cocoa);transform:none}.lobby{z-index:3;box-sizing:border-box;background:radial-gradient(at 50% 45%,#fff6eee0 0%,#ffece29e 60%,#ffe4d64d 100%);flex-direction:column;justify-content:safe center;align-items:center;gap:14px;padding:72px 16px 24px;display:flex;position:absolute;inset:0;overflow:auto}.lobby-title{font-family:var(--font-display);color:var(--coral);margin:0;font-size:30px;font-weight:400}.room-code{background:var(--cream);border:3px solid var(--cocoa);box-shadow:0 5px 0 var(--cocoa);border-radius:24px;justify-items:center;gap:2px;padding:10px 26px 12px;display:grid}.room-code span{color:var(--cocoa-soft);font-size:14px}.room-code b{font-family:var(--font-display);letter-spacing:.14em;font-variant-numeric:tabular-nums;font-size:52px;font-weight:400;line-height:1}.room-code small{color:var(--cocoa-soft);text-align:center;font-size:13px}.room-code.share{font:inherit;color:inherit;cursor:pointer;transition:transform 80ms,box-shadow 80ms}.room-code.share:hover{background:var(--paper)}.room-code.share:active{box-shadow:0 1px 0 var(--cocoa);transform:translateY(4px)}.room-code.share:focus-visible{outline:3px dashed var(--coral);outline-offset:3px}.share-icon{vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;margin-right:4px}.lobby-crew{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.hat{font-family:var(--font-display);font-weight:400}.hat:before{content:"";background:var(--hat,var(--cream));border:2px solid var(--cocoa);vertical-align:-.05em;border-radius:50%;width:.8em;height:.8em;margin-right:.3em;display:inline-block}.lobby-partner{border:2px solid var(--cocoa);background:var(--paper);border-radius:999px;padding:2px 10px;font-size:14px}.lobby-partner.on{background:var(--mint)}.duty-cards{flex-wrap:wrap;justify-content:center;gap:14px;width:min(560px,100%);display:flex}.duty-card{text-align:center;background:var(--cream);border:3px solid var(--cocoa);box-shadow:0 5px 0 var(--cocoa);cursor:pointer;border-radius:24px;flex:220px;justify-items:center;gap:4px;padding:12px 14px 14px;transition:transform 60ms,box-shadow 60ms;display:grid;position:relative}.duty-card:active{box-shadow:0 2px 0 var(--cocoa);transform:translateY(3px)}.duty-card.mine{border-color:var(--coral);background:#fff1c7}.duty-card.taken{background:var(--paper)}.duty-icon{font-size:34px;line-height:1.1}.duty-card b{font-family:var(--font-display);font-size:21px;font-weight:400}.duty-holder{font-family:var(--font-display);border:2px solid var(--cocoa);background:var(--hat,#fff);border-radius:999px;padding:1px 10px;font-size:15px}.duty-text{color:var(--cocoa-soft);text-wrap:balance;font-size:13.5px;line-height:1.4}.duty-why{white-space:nowrap;color:#c2402f;border:2.5px solid var(--coral);background:#fff0ea;border-radius:999px;padding:2px 12px;font-size:14px;animation:.22s cubic-bezier(.3,1.6,.5,1) speechIn;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.lobby-note{color:var(--cocoa-soft);text-align:center;margin:0;font-size:14px}.lobby-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-width:100%;display:flex}.lobby-actions .btn.open-shop{white-space:normal;text-wrap:balance;max-width:100%;line-height:1.15}.lobby-wait{font-family:var(--font-display);background:var(--cream);border:3px dashed var(--cocoa);border-radius:999px;margin:0;padding:10px 18px;font-size:18px}.room-tag{z-index:2;background:var(--cream);border:2.5px solid var(--cocoa);box-shadow:0 3px 0 var(--cocoa);white-space:nowrap;pointer-events:none;border-radius:999px;align-items:center;gap:8px;margin:0;padding:4px 12px;font-size:13.5px;display:flex;position:absolute;top:72px;left:16px}.room-tag .dot{border:2px solid var(--cocoa);background:var(--coral);border-radius:50%;width:10px;height:10px}.room-tag .dot.on{background:var(--mint)}.notice{z-index:9;box-sizing:border-box;background:var(--cocoa);max-width:calc(100% - 32px);color:var(--cream);text-align:center;text-wrap:balance;pointer-events:none;border-radius:16px;margin:0;padding:10px 16px;font-size:15px;animation:.22s cubic-bezier(.3,1.6,.5,1) speechIn;position:absolute;top:64px;left:50%;transform:translate(-50%);box-shadow:0 4px #4a2f2759}@media (width<=480px){.room-code b{font-size:44px}.lobby-actions .btn.open-shop{padding:14px 24px;font-size:21px}.duty-card{flex-basis:100%}.room-tag{top:66px}}@media (prefers-reduced-motion:reduce){.duty-why,.notice{animation:none}}.day-clock{border-right:2px dashed #e2cdbd;margin-right:8px;padding-right:8px}.day-clock b{font-variant-numeric:tabular-nums;font-weight:400}.day-clock.prep{color:#2f8a6c}.day-clock.last,.day-clock.done,.day-clock.soon{color:#c2402f}.side-cards{z-index:2;pointer-events:none;flex-direction:column;align-items:stretch;gap:8px;width:min(230px,44vw);display:flex;position:absolute;top:100px;right:16px}.partner-chip,.alert-chip{background:var(--cream);border:2.5px solid var(--cocoa);box-shadow:0 3px 0 var(--cocoa);border-radius:16px;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;padding:5px 12px;font-size:13.5px;line-height:1.35;display:flex}.partner-chip.away{background:var(--paper);color:var(--cocoa-soft)}.alert-chip{border-color:var(--coral);box-shadow:0 3px 0 var(--coral);color:#c2402f;background:#fff0ea;animation:1s ease-in-out 3 alertBlink}.memo{border:2.5px solid var(--cocoa);box-shadow:0 3px 0 var(--cocoa);background:#fffdf3 repeating-linear-gradient(#0000 0 21px,#f1e3cf 21px 22px) 0 30px;border-radius:16px;padding:6px 12px 8px;font-size:13.5px}.memo h3{font-family:var(--font-display);color:var(--coral);margin:0 0 2px;font-size:16px;font-weight:400}.memo ul{gap:1px;margin:0;padding:0;list-style:none;display:grid}.memo li{align-items:baseline;gap:6px;line-height:21px;display:flex}.memo li b{font-weight:400}.memo li small{color:var(--cocoa-soft);white-space:nowrap;margin-left:auto;font-size:12px}.memo li.alert{color:#c2402f;animation:1s ease-in-out 3 alertBlink}.memo-count{font-variant-numeric:tabular-nums}.memo-bang{font-family:var(--font-display);color:var(--coral)}.memo-empty,.memo-basket{color:var(--cocoa-soft);margin:2px 0 0;font-size:12.5px}.memo-basket{border-top:2px dashed #e2cdbd;margin-top:4px;padding-top:3px}@keyframes alertBlink{50%{opacity:.35}}.partner-tag{z-index:2;background:var(--cream);border:2.5px solid var(--cocoa);border-left:8px solid var(--hat,var(--cream));box-shadow:0 3px 0 var(--cocoa);white-space:nowrap;pointer-events:none;border-radius:12px;align-items:baseline;gap:6px;margin:0;padding:2px 10px 3px;font-size:13px;display:flex;position:absolute;transform:translate(-50%,-100%)}.partner-tag b{font-family:var(--font-display);font-size:15px;font-weight:400}.partner-tag.away{opacity:.7}.report-veil{z-index:7;background:#4a2f274d;position:absolute;inset:0}.day-report{z-index:8;box-sizing:border-box;background:var(--cream);border:3px solid var(--cocoa);width:min(440px,100% - 32px);max-height:calc(100% - 48px);box-shadow:0 6px 0 var(--cocoa);text-align:center;border-radius:26px;justify-items:center;gap:8px;padding:16px 18px 18px;animation:.45s cubic-bezier(.3,1.6,.5,1) reportPop;display:grid;position:absolute;top:50%;left:50%;overflow:auto;translate:-50% -50%}@keyframes reportPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.day-report h2{font-family:var(--font-display);color:var(--coral);margin:0;font-size:28px;font-weight:400}.report-stars{font-family:var(--font-display);color:#e2a400;text-shadow:0 2px 0 var(--cocoa);margin:0;font-size:34px}.report-stats{gap:10px;margin:0;display:flex}.report-stats div{background:var(--paper);border:2.5px solid var(--cocoa);border-radius:14px;min-width:76px;padding:4px 8px;display:grid}.report-stats dt{color:var(--cocoa-soft);font-size:12.5px}.report-stats dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:0;font-size:24px}.report-share{box-sizing:border-box;text-align:left;border-top:2px dashed #e2cdbd;flex-wrap:wrap;align-items:baseline;gap:2px 8px;width:100%;margin:0;padding-top:6px;font-size:14px;display:flex}.report-share small{color:var(--cocoa-soft)}.report-share span{flex-basis:100%}.report-share.together b{font-family:var(--font-display);font-weight:400}.report-grade{font-family:var(--font-display);margin:4px 0 0;font-size:22px}.report-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}@media (width<=480px){.side-cards{width:min(200px,48vw);top:92px}.partner-chip,.alert-chip,.memo{font-size:12.5px}.day-clock{margin-right:4px;padding-right:4px}}@media (prefers-reduced-motion:reduce){.alert-chip,.memo li.alert,.day-report{animation:none}}.act-dock{z-index:4;pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:12px;right:76px}.act-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-family:var(--font-display);background:var(--cream);border:2.5px solid var(--cocoa);border-radius:999px;padding:1px 10px;font-size:14px;overflow:hidden}.act-name.empty{color:var(--cocoa-soft);background:var(--paper)}.act-btn{pointer-events:auto;background:var(--butter);border:3px solid var(--cocoa);width:72px;height:72px;box-shadow:0 5px 0 var(--cocoa);cursor:pointer;touch-action:manipulation;border-radius:50%;place-items:center;padding:0;transition:transform 60ms,box-shadow 60ms;display:grid}.act-btn svg{fill:none;width:34px;height:34px;stroke:var(--cocoa);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.act-btn:active{box-shadow:0 1px 0 var(--cocoa);transform:translateY(4px)}.act-btn:disabled{background:var(--paper);opacity:.7;cursor:default;box-shadow:0 5px 0 var(--cocoa);transform:none}.joystick{z-index:4;touch-action:none;background:#fffaf28c;border:3px solid #4a2f278c;border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:absolute;bottom:18px;left:18px}.joy-knob{background:var(--cream);border:3px solid var(--cocoa);width:50px;height:50px;box-shadow:0 3px 0 var(--cocoa);pointer-events:none;border-radius:50%}@media (hover:hover) and (pointer:fine){.joystick{display:none}}@media (pointer:coarse){.held-chip{bottom:136px}}.language.svelte-1kzoi4f{align-items:center;gap:8px;display:flex}.language.svelte-1kzoi4f svg:where(.svelte-1kzoi4f){fill:none;width:22px;height:22px;stroke:var(--cocoa);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.language-pick.svelte-1kzoi4f{border:2.5px solid var(--cocoa);box-shadow:0 3px 0 var(--cocoa);background:#fff;border-radius:999px;display:flex;overflow:hidden}.language-pick.svelte-1kzoi4f button:where(.svelte-1kzoi4f){font-family:var(--font-display);color:var(--cocoa);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:5px 14px;font-size:14px;line-height:1.2}.language-pick.svelte-1kzoi4f button:where(.svelte-1kzoi4f)+button:where(.svelte-1kzoi4f){border-left:2px solid var(--cocoa)}.language-pick.svelte-1kzoi4f button.on:where(.svelte-1kzoi4f){background:var(--butter);cursor:default}.language-pick.svelte-1kzoi4f button:where(.svelte-1kzoi4f):focus-visible{outline:3px dashed var(--cocoa);outline-offset:-6px}@media (hover:hover){.language-pick.svelte-1kzoi4f button:where(.svelte-1kzoi4f):not(.on):hover{background:var(--paper)}}
