@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-cyrillic-ext-400-normal-CuPM9foi.woff2) format("woff2"),url(./nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-cyrillic-400-normal-xAOo5cBP.woff2) format("woff2"),url(./nunito-cyrillic-400-normal-D1j0u8EH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(./nunito-vietnamese-400-normal-DtOtW02z.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(./nunito-latin-ext-400-normal-CjMJVfGn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(./nunito-latin-400-normal-DKg4f3fz.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2) format("woff2"),url(./nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-cyrillic-700-normal-DP36NgGt.woff2) format("woff2"),url(./nunito-cyrillic-700-normal-DfHRUDv-.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2"),url(./nunito-vietnamese-700-normal-C9SQsXvj.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(./nunito-latin-ext-700-normal-D4woHhbd.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-cyrillic-ext-800-normal-B-cvGohL.woff2) format("woff2"),url(./nunito-cyrillic-ext-800-normal-pjRatrRO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-cyrillic-800-normal-D3igD7Kl.woff2) format("woff2"),url(./nunito-cyrillic-800-normal-DymMgApb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2"),url(./nunito-vietnamese-800-normal-Dz0hZPb5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(./nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(./playfair-display-cyrillic-700-normal-Dw3uKy19.woff2) format("woff2"),url(./playfair-display-cyrillic-700-normal-Dk1mTcxf.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(./playfair-display-vietnamese-700-normal-CaKJSIny.woff2) format("woff2"),url(./playfair-display-vietnamese-700-normal-Cr1rw0mr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(./playfair-display-latin-ext-700-normal-C58ejOkc.woff2) format("woff2"),url(./playfair-display-latin-ext-700-normal-D5HUU8GT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(./playfair-display-latin-700-normal-CuDiGg7c.woff2) format("woff2"),url(./playfair-display-latin-700-normal-Bc_1Q1cG.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg0: #23182a;--bg1: #3a2840;--bg2: #523a4f;--ink: #3a2a35;--ink-soft: #7a6470;--cream: #fff8ee;--cream2: #f6ead8;--line: rgba(58, 42, 53, .12);--amber: #f0a93a;--amber-d: #c97d18;--teal: #2f9c8d;--teal-d: #1f7266;--rose: #d9718a;--danger: #d24f4f;--gold: #f2c14e;--glass: rgba(255, 248, 238, .12);--glass-b: rgba(255, 248, 238, .22);--shadow: 0 6px 20px rgba(20, 10, 20, .35);--radius: 16px;--font: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--title: "Playfair Display", Georgia, serif;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg0);color:var(--cream);font-family:var(--font);font-size:15px;overscroll-behavior:none;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;touch-action:manipulation}#app{height:100%}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}button:disabled{cursor:default}h1,h2,h3{margin:0;font-family:var(--title);font-weight:700;letter-spacing:.01em}small{font-size:.84em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.icon{flex:none;display:inline-block;vertical-align:middle}.icon.flip{transform:scaleX(-1)}.muted{color:var(--ink-soft)}.center{text-align:center}.small{font-size:.86rem}.app{position:fixed;inset:0;display:flex;flex-direction:column;max-width:540px;margin:0 auto;padding-top:var(--safe-t);overflow:hidden;isolation:isolate}.app-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 60% at 50% -10%,rgba(240,169,58,.28),transparent 60%),radial-gradient(80% 50% at 100% 100%,rgba(47,156,141,.22),transparent 60%),linear-gradient(180deg,var(--bg1),var(--bg0))}.game-interface{display:contents}.app-bg:after{content:"";position:absolute;inset:0;opacity:.06;background-image:radial-gradient(circle at 1px 1px,#fff 1px,transparent 1.4px);background-size:18px 18px}@media(min-width:560px){body{background:radial-gradient(60% 60% at 50% 30%,#3a2840,#160e18),#160e18}.app{top:12px;bottom:12px;border-radius:26px;box-shadow:0 30px 80px #0000008c,0 0 0 1px #ffffff0f}}.main{flex:1;min-height:0;position:relative}.screen{height:100%;overflow-y:auto;padding:6px 12px 18px;-webkit-overflow-scrolling:touch}.screen-title{font-size:1.5rem;margin:6px 2px 12px}.topbar{display:flex;align-items:center;gap:6px;padding:8px 10px 6px}.pill{display:flex;align-items:center;gap:4px;min-width:0;min-height:42px;padding:4px 8px 4px 6px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-b);backdrop-filter:blur(8px);animation:bump .4s ease;font-variant-numeric:tabular-nums}.pill b{font-weight:800;font-size:1rem}.pill small{opacity:.7;font-weight:700}.pill.energy{flex:1.3;position:relative;justify-content:flex-start}.pill-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}.pill-main em{font-style:normal;font-weight:800;color:#ffd76a;font-size:.85rem}.pill-col{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;min-width:0}.pill-sub{font-size:.68rem;opacity:.75;white-space:nowrap}.topbar>.pill:not(.energy){flex:1;justify-content:center}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:12px;color:var(--ink)}.icon-btn.round{border-radius:999px;background:var(--glass);border:1px solid var(--glass-b);color:var(--cream);min-width:40px;min-height:40px}.icon-btn.on{background:var(--amber);color:#fff}.icon-btn.danger{color:var(--danger)}.tabbar{display:flex;gap:4px;padding:6px 8px calc(6px + var(--safe-b));background:#140c168c;backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.08)}.tab{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:52px;padding:6px 0 4px;border-radius:14px;color:#fff8ee99;font-size:.74rem;font-weight:700;transition:background .2s,color .2s}.tab.active{color:var(--cream);background:linear-gradient(180deg,#f0a93a47,#f0a93a14)}.tab .dot{position:absolute;top:6px;right:calc(50% - 18px);width:9px;height:9px;border-radius:50%;background:#ff6b5a;box-shadow:0 0 0 2px var(--bg0)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 16px;border-radius:14px;font-weight:800;font-size:.95rem;transition:transform .12s,filter .2s,opacity .2s;white-space:nowrap}.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.btn:disabled{opacity:.45}.btn.primary{color:#fff;background:linear-gradient(180deg,#ffbe57,var(--amber-d));box-shadow:0 3px #9a5c0c,0 6px 14px #c97d1859;text-shadow:0 1px 0 rgba(0,0,0,.2)}.btn.soft{color:var(--ink);background:linear-gradient(180deg,#fff,#f1e3cc);box-shadow:0 2px #d8c3a2}.btn.ghost{color:inherit;background:#7f647024;border:1px solid rgba(127,100,112,.25)}.btn.danger{color:#fff;background:linear-gradient(180deg,#f07a6a,var(--danger));box-shadow:0 3px #9a2f2f}.danger-text{color:var(--danger)!important}.btn.small{min-height:38px;padding:6px 12px;font-size:.86rem}.btn.tiny{min-height:30px;padding:4px 10px;font-size:.8rem;border-radius:10px}.btn.wide{width:100%;margin-top:10px}.btn .amount b{color:inherit}.link{color:var(--teal-d);font-weight:800;text-decoration:underline;margin-left:6px}.amount{display:inline-flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.amount b{font-weight:800}.row-btns{display:flex;gap:10px;margin-top:14px}.row-btns .btn{flex:1}.tile{position:relative;width:100%;height:100%;border-radius:24%;background:radial-gradient(120% 120% at 30% 20%,var(--t0),var(--t1));box-shadow:inset 0 -3px #0000001a,inset 0 2px #ffffffb3,0 2px 4px #28141e40;display:flex;align-items:center;justify-content:center}.tile .item-art{width:88%;height:88%;filter:drop-shadow(0 1px 0 rgba(255,255,255,.4));pointer-events:none}.tile.max{box-shadow:inset 0 -3px #0000001a,inset 0 2px #ffffffb3,0 0 0 2px var(--gold),0 2px 8px #f2c14e99}.tile .lvl{position:absolute;right:6%;bottom:5%;min-width:1.35em;padding:0 3px;border-radius:999px;background:#3a2a35d1;color:#fff;font-size:clamp(9px,1.9vmin,12px);font-weight:800;line-height:1.35em;text-align:center}.tile .pin{position:absolute;left:5%;top:5%;width:1.5em;height:1.5em;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--amber);color:#fff;font-size:11px}.board-screen{display:flex;flex-direction:column;gap:6px;overflow-y:auto;padding-bottom:8px}.orders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.order{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;border-radius:14px;background:linear-gradient(180deg,var(--cream),var(--cream2));color:var(--ink);box-shadow:var(--shadow);min-height:92px;cursor:pointer}.order.ready{box-shadow:0 0 0 2px var(--teal),var(--shadow)}.order-who{position:absolute;left:4px;top:3px;width:30px;height:30px;border-radius:50%;overflow:hidden;background:#f1e1c8;box-shadow:inset 0 0 0 1.5px #3a2a3540}.order-who .portrait{margin-top:-2px}.order-items{display:flex;gap:1px;padding-left:22px;min-height:38px;align-items:center}.order-item{position:relative;border-radius:10px;background:#3a2a3512}.order-item.have{background:#2f9c8d2e}.order-item .tick{position:absolute;right:-2px;bottom:-2px;width:14px;height:14px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center}.order-reward{display:flex;gap:6px;font-size:.8rem}.order-swap{position:absolute;right:6px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--teal)}.board-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:none}.board{display:flex;flex-direction:column;padding:0;border-radius:18px;background:linear-gradient(180deg,#f3e3c8,#e6cfa9);box-shadow:0 0 0 4px #b98a58,0 0 0 6px #7a5434,0 14px 28px #00000073;overflow:hidden}.cell{position:relative;padding:calc(var(--gap) / 2 + 1px);touch-action:none}.cell.alt{background:#7a543414}.cell.locked{background:repeating-linear-gradient(135deg,#3a2a352e 0 6px,#3a2a351a 6px 12px)}.cell.locked+.cell.locked{border-left:0}.lock-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font-size:.72rem;font-weight:800;color:#3a2a35a6;display:flex;align-items:center;gap:4px;pointer-events:none;z-index:2}.cell-item{width:100%;height:100%;cursor:grab}.cell-item.pop{animation:pop .42s cubic-bezier(.3,1.6,.5,1)}.cell-item.lifted{opacity:.25}.cell.selected:after,.cell.merge-target:after,.cell.ready:after,.cell.flash:after,.cell.coach-target:after{content:"";position:absolute;inset:1px;border-radius:26%;pointer-events:none}.cell.selected:after{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--amber)}.cell.ready:after{box-shadow:inset 0 0 0 2px #2f9c8dd9}.cell.merge-target:after{box-shadow:0 0 0 3px #fff7c2,0 0 14px 4px #ffd76ae6;animation:pulse .8s infinite}.cell.flash:after{box-shadow:0 0 0 3px var(--teal),0 0 18px 6px #2f9c8dcc;animation:flash .6s ease forwards}.cell.coach-target:after{box-shadow:0 0 0 3px #fff,0 0 18px 6px #ffd76af2;animation:pulse 1s infinite}.drag-ghost{position:fixed;z-index:50;pointer-events:none;filter:drop-shadow(0 10px 12px rgba(0,0,0,.4));transform:rotate(-4deg)}.strip{display:flex;align-items:center;gap:8px;min-height:52px;padding:4px 6px 4px 12px;border-radius:14px;background:linear-gradient(180deg,var(--cream),var(--cream2));color:var(--ink);box-shadow:var(--shadow)}.strip.hint{font-size:.84rem;color:var(--ink-soft);justify-content:space-between}.strip.coach{background:linear-gradient(180deg,#fff3cf,#ffe2a0);font-weight:800;font-size:.9rem;animation:bump .5s ease}.strip-info{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.strip-info small{color:var(--ink-soft);overflow-wrap:anywhere}.strip-actions{display:flex;flex-shrink:0}.selected-details{flex-shrink:0}.item-help{display:block;padding:3px 8px 0;font-size:.7rem}.producer-bar{display:flex;gap:8px;flex-shrink:0;align-items:flex-start}.producers{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 4px;flex:1;min-width:0;scrollbar-width:thin}.producers::-webkit-scrollbar{height:4px}.producers::-webkit-scrollbar-thumb{background:var(--teal);border-radius:4px}.producer{position:relative;flex:none}.producer-btn,.storage-btn{position:relative;width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fff8ee,#ecd9bb);box-shadow:0 3px #c8ad86,0 6px 12px #0000004d;transition:transform .1s}.producer-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #c8ad86}.producer.locked .producer-btn{filter:grayscale(.9) brightness(.7)}.producer-chain{position:absolute;right:-4px;bottom:-4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--amber),0 2px 4px #00000040;display:flex;align-items:center;justify-content:center}.producer-lock{position:absolute;bottom:2px;left:0;right:0;font-size:.66rem;font-weight:800;color:#fff;display:flex;align-items:center;justify-content:center;gap:2px;text-shadow:0 1px 2px rgba(0,0,0,.6)}.producer-toggle{position:relative;margin-top:5px;width:60px;min-height:24px;border-radius:8px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000004d;font-size:.6rem;gap:2px}.producer-bar>.storage-btn{flex-direction:column;font-size:.7rem}.storage-btn{flex-direction:column;color:var(--ink);margin-left:auto;font-weight:800}.producer.coach-target .producer-btn{animation:pulseBox 1s infinite}.room-head{display:flex;align-items:flex-end;justify-content:space-between;margin:4px 2px 10px}.room-head small{color:#fff8eea6;font-weight:700}.room-head h1{font-size:1.55rem}.room-card{position:relative;border-radius:20px;overflow:hidden;background:#1a1016;box-shadow:0 0 0 3px #f2c14e59,0 16px 36px #00000080}.room-card.small{margin-bottom:8px}.room-svg{display:block;width:100%;height:auto;aspect-ratio:4 / 3}.room-progress{position:absolute;left:10px;right:10px;bottom:8px;display:flex;align-items:center;gap:8px;font-weight:800;font-size:.85rem;text-shadow:0 1px 3px rgba(0,0,0,.7)}.bar{flex:1;height:8px;border-radius:999px;background:#00000073;overflow:hidden}.bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd76a,var(--amber));transition:width .6s ease}.room-pop{animation:roomPop .7s cubic-bezier(.3,1.5,.5,1);transform-box:fill-box;transform-origin:50% 100%}.room-glow,.room-glow-poly{animation:glowPulse 1.2s ease-in-out infinite}.room-burst path{transform-box:fill-box;transform-origin:center;animation:sparkle 1s ease-out both}.anim-swing{animation:swing 2s ease-in-out infinite}.anim-flicker{animation:flicker .9s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 100%}.anim-water{stroke-dasharray:4 6;animation:water .8s linear infinite}.tasks{display:flex;flex-direction:column;gap:8px;margin-top:12px}.task{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;min-height:60px;border-radius:16px;background:linear-gradient(180deg,var(--cream),var(--cream2));color:var(--ink);box-shadow:var(--shadow)}.task.done{background:linear-gradient(180deg,#eef8f1,#dcefe2)}.task.muted{opacity:.85}.task.tutorial{background:linear-gradient(180deg,#fff3cf,#ffe2a0)}.task-info{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.task-info b{font-size:.98rem}.task-info small{color:var(--ink-soft)}.task .btn{gap:8px}.task-lock{width:44px;display:flex;justify-content:center;color:var(--ink-soft)}.task.coach-target,.btn.coach-target,.tab.coach-target{animation:pulseBox 1s infinite}.puzzle-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;text-align:left;color:#fff;background:linear-gradient(135deg,#3a7bd5,#6a5899);box-shadow:0 0 0 2px #ffffff40,var(--shadow);animation:pulseBox 1.6s infinite}.puzzle-card div{flex:1;display:flex;flex-direction:column}.puzzle-card small{opacity:.85}.coach-bubble{position:absolute;left:16px;right:16px;bottom:calc(76px + var(--safe-b));z-index:20;padding:10px 14px;border-radius:14px;background:linear-gradient(180deg,#fff3cf,#ffe2a0);color:var(--ink);font-weight:800;text-align:center;box-shadow:var(--shadow);animation:bump .5s ease;pointer-events:none}.sheet-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:#140a148c;backdrop-filter:blur(4px);animation:fade .2s ease}.sheet{width:100%;max-width:540px;max-height:92%;display:flex;flex-direction:column;border-radius:24px 24px 0 0;background:linear-gradient(180deg,#fffaf2,var(--cream2));color:var(--ink);box-shadow:0 -10px 40px #0006;animation:slideUp .28s cubic-bezier(.2,.9,.3,1);padding-bottom:var(--safe-b)}@media(min-width:560px){.sheet-backdrop{align-items:center}.sheet{border-radius:24px;max-width:480px}.sheet.wide{max-width:520px}}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 10px 4px 18px}.sheet-head h2{font-size:1.3rem}.sheet-body{overflow-y:auto;padding:6px 18px 18px}.sheet p{line-height:1.45}.variants{display:grid;grid-template-columns:1fr 1fr;gap:8px}.variant{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px 10px;border-radius:14px;background:#fff;border:2px solid var(--line);font-weight:800;text-align:left}.variant.active{border-color:var(--amber);box-shadow:0 0 0 3px #f0a93a40}.swatch{display:inline-flex;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px #00000026;flex:none}.swatch i{width:12px;height:26px}.map-list{display:flex;flex-direction:column;gap:6px}.map-room{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);text-align:left}.map-room.current{border:2px solid var(--amber)}.map-room.locked{opacity:.5}.map-room.done .icon{color:var(--teal)}.map-info{flex:1;display:flex;flex-direction:column}.map-info small{color:var(--ink-soft)}.map-num{flex:none;width:30px;height:30px;border-radius:50%;background:linear-gradient(180deg,#ffd27a,var(--amber-d));color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}.storage-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.storage-slot{aspect-ratio:1;border-radius:14px;background:#3a2a3512;border:1px dashed rgba(58,42,53,.2);padding:3px}.storage-slot.buy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.72rem;border-style:solid;background:#fff}.bin,.confirm-item{display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px;border-radius:14px;background:#fff}.bin>div:nth-child(2),.confirm-item>div:nth-child(2){flex:1;display:flex;flex-direction:column}.bin-item{width:52px;height:52px;flex:none}.energy-big{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:16px;background:#fff}.energy-big b{font-size:1.6rem;font-weight:800}.energy-big div{display:flex;flex-direction:column}.facts{padding-left:18px;line-height:1.5;margin:12px 0}.order-detail{display:flex;gap:12px;align-items:flex-start}.order-lines{flex:1;display:flex;flex-direction:column;gap:6px}.order-line{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;background:#fff}.order-line div{display:flex;flex-direction:column}.switch-row{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 4px;font-weight:700;border-bottom:1px solid var(--line)}.switch-row input{margin-left:auto;width:46px;height:26px;accent-color:var(--teal)}.stats{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin:14px 0 4px;color:var(--ink-soft);font-size:.86rem}.celebrate .sheet-body{padding-top:22px}.celebrate-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.celebrate-head .icon{color:var(--amber-d);animation:pop .6s cubic-bezier(.3,1.6,.5,1)}.celebrate-head small{color:var(--ink-soft);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.celebrate-head h2{font-size:1.45rem}.fact{margin:14px 0 0;padding:12px 14px;border-radius:14px;background:#fff;border-left:4px solid var(--amber);font-weight:700}.puzzle-prompt{font-size:1.15rem;margin-bottom:8px}.clues-toggle{font-weight:800;color:var(--teal-d);display:flex;align-items:center;gap:6px;min-height:36px}.clue-list{margin:4px 0 12px;padding:10px 12px 10px 28px;border-radius:14px;background:#fff;line-height:1.45;font-size:.9rem}.clue-list li+li{margin-top:6px}.pcards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pcard{position:relative;display:flex;flex-direction:column;gap:2px;min-height:74px;padding:10px 12px;border-radius:14px;background:#fff;border:2px solid var(--line);text-align:left;line-height:1.3}.pcard small{color:var(--ink-soft)}.pcard.active{border-color:var(--teal);background:#effaf6}.pcard:disabled{opacity:1}.pbadge{position:absolute;right:-6px;top:-6px;width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #00000040}.match{display:flex;flex-direction:column;gap:10px}.match-row .pcard{min-height:0;margin-bottom:6px}.match-options{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:40px;padding:6px 12px;border-radius:999px;background:#3a2a3512;border:2px solid transparent;font-weight:700;font-size:.86rem}.chip.active{background:#effaf6;border-color:var(--teal);color:var(--teal-d)}.match-legend{display:flex;flex-direction:column;gap:2px;color:var(--ink-soft)}.feedback{margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff1ec;border-left:4px solid var(--danger);font-size:.9rem;animation:shake .35s ease}.feedback.ok{background:#effaf6;border-left-color:var(--teal);animation:none}.daily-orders{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.daily-orders .order{min-height:0;box-shadow:0 0 0 1px var(--line);background:#fff;cursor:default}.daily-orders .order small{font-size:.72rem;text-align:center;line-height:1.15;min-height:2.3em}.daily-orders .order.done{opacity:.55;color:var(--teal-d)}.daily-board{height:min(78vw,360px,46vh);display:flex}.daily-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.moves b{font-size:1.2rem}.moves.low b{color:var(--danger)}.event-card{display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:10px;border-radius:18px;background:linear-gradient(180deg,var(--cream),var(--cream2));color:var(--ink);box-shadow:var(--shadow)}.event-card.disabled{opacity:.55}.event-card.fair{flex-direction:column;align-items:stretch}.event-icon{width:52px;height:52px;flex:none;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#3a7bd5,#6a5899)}.event-body{flex:1;display:flex;flex-direction:column;gap:2px}.event-body small{color:var(--ink-soft)}.event-head{display:flex;justify-content:space-between;align-items:flex-start}.event-head div{display:flex;flex-direction:column}.timer{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:800;padding:4px 8px;border-radius:999px;background:#3a2a3514}.fair-track{position:relative;height:78px;margin:14px 14px 0 4px}.fair-bar{position:absolute;left:0;right:0;top:12px;height:10px;border-radius:999px;background:#3a2a351f;overflow:hidden}.fair-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#6ad1b8)}.fair-node{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px}.fair-pts{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid rgba(58,42,53,.2);font-weight:800;font-size:.8rem}.fair-node.got .fair-pts{background:var(--teal);color:#fff;border-color:var(--teal-d)}.fair-reward{display:flex;flex-direction:column;align-items:center;font-size:.7rem}.fair-reward .icon{width:12px;height:12px}.fair-total{margin:4px 0 0;text-align:right}.journal-summary{padding:14px;border-radius:18px;background:linear-gradient(180deg,var(--cream),var(--cream2));color:var(--ink);margin-bottom:10px;box-shadow:var(--shadow)}.journal-summary p{margin:6px 0}.facts-list{margin:8px 0 0;padding-left:20px;line-height:1.45}.facts-list li+li{margin-top:6px}.journal-chapter{margin-bottom:8px;border-radius:16px;background:linear-gradient(180deg,var(--cream),var(--cream2));color:var(--ink);overflow:hidden}.journal-head{width:100%;display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;text-align:left}.journal-head>span:nth-child(2){flex:1;display:flex;flex-direction:column}.journal-body{padding:0 14px 14px}.dialogue{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(180deg,#140a141a,#140a14b3);animation:fade .2s ease}.dlg-stage{position:relative;width:100%;max-width:540px;padding:0 12px calc(12px + var(--safe-b))}.dlg-portrait{position:relative;z-index:0;height:140px;margin-bottom:-18px;display:flex;align-items:flex-end;animation:slideIn .3s ease}.dlg-stage.right .dlg-portrait{justify-content:flex-end}.dlg-portrait .portrait{filter:drop-shadow(0 8px 14px rgba(0,0,0,.45))}.dlg-box{position:relative;z-index:1;padding:14px 16px 10px;border-radius:20px;background:linear-gradient(180deg,#fffaf2,var(--cream2));color:var(--ink);box-shadow:0 12px 30px #00000073}.dlg-name{display:inline-block;margin-top:-28px;margin-bottom:6px;padding:4px 14px;border-radius:999px;background:linear-gradient(180deg,#ffbe57,var(--amber-d));color:#fff;font-weight:800;box-shadow:0 3px 8px #00000040}.dlg-stage.right .dlg-name{float:right}.dlg-name small{font-weight:700;opacity:.85}.dlg-text{clear:both;margin:2px 0 10px;font-size:1.02rem;line-height:1.45;max-height:34vh;overflow-y:auto}.dlg-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.dlg-progress{color:var(--ink-soft);font-size:.8rem;font-weight:700}.toasts{position:fixed;top:calc(64px + var(--safe-t));left:0;right:0;z-index:90;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{max-width:min(92vw,460px);padding:8px 14px;border-radius:14px;background:#1e1420eb;color:#fff;font-weight:700;font-size:.9rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:6px;animation:toastIn .3s cubic-bezier(.2,1.4,.5,1)}.toast.error{background:#962828f0}.toast.clue{background:linear-gradient(135deg,#3a7bd5,#6a5899)}.toast.reward{background:linear-gradient(180deg,#fff8ee,#f3dfb8);color:var(--ink);font-size:1.05rem}.reward-row{display:flex;gap:12px}.reward-row span{display:inline-flex;align-items:center;gap:3px;font-weight:800}@keyframes pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1)}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes pulseBox{0%,to{box-shadow:0 0 #ffd76ae6,var(--shadow)}50%{box-shadow:0 0 0 6px #ffd76a00,var(--shadow)}}@keyframes flash{0%{opacity:1}to{opacity:0}}@keyframes fade{0%{opacity:0}}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}}@keyframes slideIn{0%{transform:translateY(16px);opacity:0}}@keyframes toastIn{0%{transform:translateY(-12px) scale(.9);opacity:0}}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes roomPop{0%{transform:scale(.85);filter:brightness(1.8)}60%{transform:scale(1.05)}to{transform:scale(1);filter:brightness(1)}}@keyframes glowPulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes sparkle{0%{transform:scale(0) rotate(0);opacity:0}30%{transform:scale(1.4) rotate(45deg);opacity:1}to{transform:scale(.2) rotate(90deg) translateY(-12px);opacity:0}}@keyframes swing{0%,to{transform:rotate(8deg)}50%{transform:rotate(-8deg)}}@keyframes flicker{0%{transform:scale(1);opacity:.9}to{transform:scale(1.06,1.12);opacity:1}}@keyframes water{to{stroke-dashoffset:-20}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-iteration-count:1!important}}@media(max-height:680px){.order{min-height:80px}.order-item .item-art{width:28px;height:28px}.producer-btn,.storage-btn{width:52px;height:52px}.producer-btn .item-art{width:40px;height:40px}.strip,.tab{min-height:46px}.dlg-portrait{height:110px}.dlg-portrait .portrait{width:118px;height:auto}}.topbar .icon-btn.round{flex:none}.splash{margin:auto;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.splash h1{font-size:1.6rem}.splash p{margin:0;color:#fff8eebf;max-width:300px}.net-banner{margin:0 10px 4px;padding:6px 12px;border-radius:12px;background:#962828e6;font-size:.8rem;font-weight:700;text-align:center}.warn{color:#b5541f;font-weight:700}.ok{color:var(--teal)}.dot.static{width:10px;height:10px;border-radius:50%;background:#ff6b5a;flex:none}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.chips.scroll .chip{white-space:nowrap}.icon-chip{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center}.variants.three{grid-template-columns:1fr 1fr 1fr}.variants.three .variant{flex-direction:column;align-items:flex-start;font-size:.85rem}.variant.royal{background:linear-gradient(180deg,#fff8e6,#f6e3b4)}.lock-note{display:flex;align-items:center;gap:3px;color:var(--ink-soft);font-weight:700}.royal-offer{margin-top:12px;padding:12px;border-radius:14px;background:linear-gradient(135deg,#fff3cf,#f6dfa6);border:1px solid rgba(201,125,24,.35)}.royal-offer p{margin:0 0 6px}.room-head-actions{display:flex;gap:6px}.owner-plate{margin:-4px auto 10px;width:fit-content;padding:4px 16px;border-radius:8px;background:linear-gradient(180deg,#ffe39a,#c9922c);color:#4a2c0c;font-family:var(--title);font-weight:700;font-size:.85rem;box-shadow:inset 0 1px #fff9,0 3px 8px #00000059}.room-card.season-frame{box-shadow:0 0 0 3px #f2c14e,0 0 0 7px #8c5a1e,0 0 24px #f2c14e80,0 16px 36px #00000080}.shop-head{display:flex;align-items:center;justify-content:space-between}.pill.gems{flex:none}.shop-section{margin-bottom:14px}.shop-section h3{font-size:1.1rem;margin:8px 2px}.offer{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:8px;border-radius:16px;background:linear-gradient(180deg,var(--cream),var(--cream2));color:var(--ink);box-shadow:var(--shadow)}.offer.featured{background:linear-gradient(135deg,#fff3cf,#f6dfa6);box-shadow:0 0 0 2px var(--amber),var(--shadow)}.offer-icon{width:48px;height:48px;flex:none;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#6a5899,#3a7bd5)}.offer-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.offer-body small{color:var(--ink-soft)}.shop-section>small,.shop-section .chips,.item-shop{color:var(--cream)}.shop-section .chip{background:var(--glass);border-color:transparent}.shop-section .chip.active{background:var(--cream);color:var(--teal-d);border-color:var(--teal)}.item-shop{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.shop-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:14px;background:linear-gradient(180deg,var(--cream),var(--cream2));color:var(--ink);min-height:104px}.shop-item small{font-size:.68rem;text-align:center;line-height:1.1;min-height:2.2em}.shop-item:disabled{opacity:.5}.price{display:inline-flex;align-items:center;gap:2px;font-weight:800;font-size:.8rem}button.event-card{width:100%;text-align:left}.event-icon.gold{background:linear-gradient(135deg,#f2c14e,#c97d18)}.event-icon.teal{background:linear-gradient(135deg,#3aa6a0,#1f7266)}.season-head{display:flex;align-items:center;gap:12px}.season-level{width:64px;height:64px;flex:none;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f2c14e,#c97d18);color:#fff;box-shadow:0 3px #8c5a1e}.season-level b{font-size:1.5rem;line-height:1}.season-level small{font-size:.7rem}.season-bar-wrap{flex:1;display:flex;flex-direction:column;gap:4px}.season-bar-wrap .bar{background:#3a2a351f}.season-tasks{display:flex;flex-direction:column;gap:6px;margin:12px 0}.season-task{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:12px;background:#fff;font-size:.88rem}.season-task.done{background:#effaf6;color:var(--teal-d)}.season-task.weekly{border:1px dashed rgba(201,125,24,.5)}.tiers{display:flex;flex-direction:column;gap:4px;margin-top:12px}.tier-head,.tier-row{display:grid;grid-template-columns:40px 1fr 1fr;gap:6px;align-items:center}.tier-head{font-size:.75rem;font-weight:800;color:var(--ink-soft);padding:0 4px}.tier-row{padding:4px;border-radius:12px;background:#3a2a350d;opacity:.6}.tier-row.open{opacity:1;background:#fff}.tier-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;background:#3a2a351a}.tier-row.open .tier-num{background:linear-gradient(135deg,#f2c14e,#c97d18);color:#fff}.tier-cell{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:40px;padding:2px 6px;border-radius:10px}.tier-cell.premium{background:linear-gradient(135deg,#fff3cf,#f6dfa6)}.tier-cell.premium.locked{filter:grayscale(.6);opacity:.75}.tier-reward{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px;font-weight:800;font-size:.8rem}.tier-reward em{font-style:normal;font-size:.68rem;color:#8c5a1e;width:100%}.club-head{display:flex;align-items:center;gap:12px;margin:10px 0}.club-head div{display:flex;flex-direction:column}.club-emblem{width:52px;height:52px;flex:none;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#3aa6a0,#1f7266)}.club-emblem.small{width:38px;height:38px;border-radius:12px}.hall{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:14px;background:#fff}.hall-svg{width:100%;height:auto;border-radius:10px}.hall .bar{background:#3a2a351f}.club-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;font-size:.88rem}.club-list{display:flex;flex-direction:column;gap:6px}.club-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;background:#fff}.club-name{flex:1;display:flex;flex-direction:column}.club-create{margin-top:14px}.club-create select{flex:1;min-height:44px;padding:0 10px;border-radius:12px;border:1px solid var(--line);background:#fff;font:inherit;color:var(--ink)}.club-create .chip{background:#3a2a3512}.album-goals{display:flex;flex-direction:column;gap:6px;margin-top:10px}.album-goal{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:#fff}.album-goal span{flex:1;display:flex;flex-direction:column}.album-goal.done{background:#effaf6}.anim-twinkle{animation:twinkle 1.6s ease-in-out infinite}@keyframes twinkle{50%{opacity:.45}}@media(max-width:380px){.tab{font-size:.66rem}.item-shop{grid-template-columns:repeat(3,1fr)}}.screen>p.muted,.screen>.muted,.shop-section>small.muted{color:#fff8eead}textarea,.admin-panel input,.admin-panel select{width:100%;font:inherit;padding:12px;border-radius:10px;border:1px solid #b8aa94;box-sizing:border-box}.admin-panel{max-width:1000px;margin:auto;padding:24px;overflow:auto;height:100dvh;background:#f6efdc;color:#302a2b}.admin-panel label{display:block;margin:12px 0}.admin-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:50vh;overflow:auto;padding:12px;background:#fff}.admin-panel button{margin:8px}.evidence-art{width:100%;max-height:190px;display:block;margin:12px 0}.dlg-choices{display:grid;gap:8px;max-height:30vh;overflow:auto;margin-bottom:12px}.fair-scene{display:flex;align-items:center;gap:12px;border-radius:14px;padding:12px;margin:12px 0;color:#fff8ee}.fair-scene p{flex:1;font-size:14px;line-height:1.45;margin:0}.fair-scene svg{flex-shrink:0}:root{--bg0:#17282b;--bg1:#263a3b;--bg2:#3b5150;--teal:#347e72;--teal-d:#23574f;--glass:rgba(243,226,194,.1);--glass-b:rgba(237,212,168,.22)}.app-bg{background:radial-gradient(ellipse at 15% 5%,rgba(220,173,96,.16),transparent 50%),radial-gradient(ellipse at 90% 90%,rgba(46,100,94,.35),transparent 65%),linear-gradient(145deg,#18282b,#314340 55%,#1d3034)}.room-card{border-radius:22px;background:#746d60;box-shadow:0 0 0 1px #e8c886,0 0 0 4px #806243,0 0 0 6px #f1d8ab24,0 18px 38px #09161861}.room-head h1{text-shadow:0 2px 12px rgba(0,0,0,.15)}.task{border:1px solid rgba(229,208,169,.65);box-shadow:inset 0 1px #ffffffe6,0 4px #2a19111f,0 8px 18px #0a191a2e}.board{background:repeating-linear-gradient(93deg,transparent 0 27px,rgba(137,93,52,.025) 28px 29px),linear-gradient(180deg,#f5e9d3,#e2cfac)}.tile{box-shadow:inset 0 1px 2px #fffffff2,inset 0 -3px 4px #5839201f,0 3px 5px #52362029}.tile .item-art{filter:drop-shadow(0 1px 1px rgba(71,45,27,.14))}.producer-btn,.storage-btn{border:1px solid #e0c697;box-shadow:inset 0 2px #fffdf7,0 3px #a48253,0 7px 12px #07171847}.splash-art{width:min(100%,560px);height:auto;max-height:38vh;object-fit:cover;border-radius:22px;border:1px solid rgba(234,200,142,.6);box-shadow:0 20px 60px #0000004d;margin-bottom:20px}.hotel-cover{display:block;width:100%;height:155px;object-fit:cover;border-radius:16px;border:1px solid #d4b47d;margin-bottom:16px}.room-interactive{cursor:pointer;outline:none}.room-interactive:focus-visible .room-hit,.room-surface-hit:focus-visible rect,.room-surface-hit:focus-visible polygon{stroke:#fff4ba;stroke-width:3px;fill:#ffe0971f}.room-interactive:hover .room-hit{fill:#fff0b914;stroke:#fff0b9a6;stroke-width:1.5}.board-grid{display:grid}.board-locked{display:flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;font-size:clamp(.64rem,calc(var(--cell) * .22),.82rem);font-weight:800;color:#3a2a359e;background:repeating-linear-gradient(135deg,#3a2a3521 0 6px,#3a2a350f 6px 12px);border-top:1px dashed rgba(58,42,53,.28);white-space:nowrap;overflow:hidden}.board-locked span{overflow:hidden;text-overflow:ellipsis}.producer-toggle{gap:2px;padding:2px;background:var(--teal-d)}.producer-toggle .seg{flex:1;height:22px;display:flex;align-items:center;justify-content:center;border-radius:6px;opacity:.5;filter:grayscale(.7);transition:background .15s,opacity .15s}.producer-toggle .seg.on{opacity:1;filter:none;background:#fff8ee;box-shadow:0 1px 2px #0000004d}.order-items{min-width:0;max-width:100%}.order-item{min-width:0}.order-item .item-art{width:clamp(22px,8.4vw,34px);height:clamp(22px,8.4vw,34px);width:clamp(20px,calc(11cqi - 12px),34px);height:clamp(20px,calc(11cqi - 12px),34px)}.order-name{display:none}.goal-card{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 16px;border-radius:18px;background:linear-gradient(135deg,#fff7e2,#f5dca8);color:var(--ink);box-shadow:0 0 0 1.5px #c97d1880,inset 0 1px #fffdf6,var(--shadow)}.goal-card.ready{background:linear-gradient(135deg,#effaf3,#cfecdb);box-shadow:0 0 0 2px var(--teal),inset 0 1px #fff,var(--shadow)}.goal-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.goal-main>small{color:var(--ink-soft);font-size:.74rem;font-weight:700;line-height:1.3}.goal-main>b{font-size:1.06rem;line-height:1.2}.goal-progress{display:flex;align-items:center;gap:8px;margin:2px 0}.goal-progress .bar{background:#3a2a3524}.goal-card .btn{flex:none;padding-inline:14px}.order-line.have{background:#eef8f2;box-shadow:inset 0 0 0 1.5px #347e7273}.order-line>div{flex:1;min-width:0;gap:1px}.order-recipe{display:inline-flex;align-items:center;gap:3px;font-size:.8rem;font-weight:700;color:var(--ink-soft)}.order-status{flex:none;display:inline-flex;align-items:center;gap:2px;padding:3px 9px;border-radius:999px;background:#3a2a3514;color:var(--ink-soft);font-size:.74rem;font-weight:800}.order-status.ok{background:var(--teal);color:#fff}.order-reward-line{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0 10px;font-weight:700}.fly-icon{position:fixed;z-index:120;width:26px;height:26px;pointer-events:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35));will-change:transform,opacity}.fly-plus{position:fixed;z-index:121;pointer-events:none;font-weight:900;font-size:.95rem;color:#ffe08a;text-shadow:0 1px 0 #7a4a10,0 2px 6px rgba(0,0,0,.6);animation:flyPlus 1.1s ease-out forwards}@keyframes flyPlus{0%{opacity:0;transform:translate(-50%,6px) scale(.7)}20%{opacity:1;transform:translate(-50%) scale(1.12)}to{opacity:0;transform:translate(-50%,-12px) scale(1)}}.board-screen>.board-wrap{align-items:flex-end}.board-goal{display:flex;align-items:center;gap:8px;min-height:36px;padding:4px 12px;border-radius:999px;background:#140c1659;border:1px solid var(--glass-b);color:var(--cream);font-size:.8rem;text-align:left;flex-shrink:0}.board-goal>b{font-variant-numeric:tabular-nums}.board-goal .bar{flex:0 0 64px;height:6px}.board-goal-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;opacity:.9}.board-goal.ready{background:linear-gradient(180deg,#347e72d9,#23574fd9);border-color:#ffffff4d;animation:pulseBox 1.6s infinite}@media(orientation:portrait)and (max-height:720px),(orientation:landscape)and (max-height:430px){.board-goal{display:none}}.orders,.selected-details{container-type:inline-size}@container (max-width: 280px){.order{padding:24px 3px 5px;min-height:0;gap:2px}.order-who{width:22px;height:22px;left:3px;top:2px}.order-who .portrait{width:22px;height:auto;margin-top:0}.order-items{padding-left:0;gap:1px;min-height:0}.order-item .item-art{width:21px;height:21px}.order-reward{font-size:.72rem;gap:3px}.order-reward .icon{width:13px;height:13px}.strip{flex-wrap:wrap;row-gap:0;padding:6px 6px 2px 10px}.strip-info{flex-basis:100%}.strip-info small:last-child{display:none}.strip-actions{width:100%;justify-content:flex-end;margin-top:-4px}.strip-actions .icon-btn{min-width:40px;min-height:36px}}@media(max-height:680px){.item-help{display:none}}.merge-burst{position:absolute;inset:-12%;z-index:3;pointer-events:none;border-radius:50%;background:radial-gradient(circle at 50% 8%,#fff7c2 0 3%,transparent 4%),radial-gradient(circle at 92% 50%,#fff7c2 0 3%,transparent 4%),radial-gradient(circle at 50% 92%,#fff7c2 0 3%,transparent 4%),radial-gradient(circle at 8% 50%,#fff7c2 0 3%,transparent 4%),radial-gradient(circle at 20% 20%,#ffd76a 0 2.5%,transparent 3.5%),radial-gradient(circle at 80% 20%,#ffd76a 0 2.5%,transparent 3.5%),radial-gradient(circle at 80% 80%,#ffd76a 0 2.5%,transparent 3.5%),radial-gradient(circle at 20% 80%,#ffd76a 0 2.5%,transparent 3.5%),radial-gradient(circle,rgba(255,231,150,.55) 0 38%,transparent 62%);animation:mergeBurst .55s ease-out forwards}.merge-burst.big{inset:-30%;animation-duration:.8s}@keyframes mergeBurst{0%{opacity:.95;transform:scale(.45) rotate(0)}60%{opacity:.85}to{opacity:0;transform:scale(1.25) rotate(25deg)}}@media(min-width:900px)and (min-height:560px),(orientation:landscape)and (max-height:560px){.app{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"rail top" "rail banner" "rail main"}.app>.splash{grid-column:1 / -1;grid-row:1 / -1}.topbar{grid-area:top}.net-banner{grid-area:banner}.main{grid-area:main}.tabbar{grid-area:rail;flex-direction:column;justify-content:center;gap:6px;padding:10px 8px;padding-left:calc(8px + env(safe-area-inset-left,0px));border-top:0;border-right:1px solid rgba(255,255,255,.08)}.tab{flex:none;width:100%}.coach-bubble{left:calc(var(--rail) + 16px);bottom:14px;max-width:520px;margin:0 auto}.board-screen{display:grid;column-gap:16px;row-gap:8px;overflow:hidden}.board-screen>.board-goal{grid-area:goal}.board-screen>.orders{grid-area:orders}.board-screen>.board-wrap{grid-area:board}.board-screen>.strip,.board-screen>.selected-details{grid-area:strip}.board-screen>.producer-bar{grid-area:producers}.hotel-screen{display:grid;grid-template-columns:minmax(0,var(--room-w)) minmax(260px,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"head tasks" "plate tasks" "room tasks";column-gap:16px;align-content:start;overflow:hidden}.hotel-screen>.room-head{grid-area:head}.hotel-screen>.owner-plate{grid-area:plate;justify-self:start}.hotel-screen>.room-card{grid-area:room;align-self:start}.hotel-screen>.tasks{grid-area:tasks;min-height:0;margin-top:0;padding:4px 4px 16px;overflow-y:auto}}@media(min-width:900px)and (min-height:560px){:root{--rail: 100px;--side-min: 300px;--side-max: 380px;--room-w: min(62%, calc((100dvh - 200px) * 4 / 3))}.app{max-width:1280px;inset:16px}.topbar{padding:12px 20px 8px;gap:10px}.topbar>.pill.energy{flex:0 1 230px}.topbar>.pill:not(.energy){flex:0 1 160px}.topbar .icon-btn.round{margin-left:auto}.tab{min-height:64px;font-size:.78rem}.screen{padding:6px 24px 24px 20px}.events-screen,.shop-screen,.journal-screen{padding-inline:max(24px,calc((100% - 820px)/2))}.board-screen{grid-template-columns:minmax(0,1fr) minmax(var(--side-min),var(--side-max));grid-template-rows:auto auto auto minmax(0,1fr) auto;grid-template-areas:"board goal" "board orders" "board strip" "board ." "producers ."}.board-screen>.board-wrap{align-items:flex-end}.board-screen>.producer-bar{justify-self:center;width:min(100%,var(--board-w, 100%))}.board-screen>.orders{grid-template-columns:1fr;gap:8px}.board-screen .order{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"who name action" "who items action";align-items:center;column-gap:10px;min-height:72px;padding:8px 12px 8px 10px;text-align:left}.board-screen .order-who{grid-area:who;position:static;width:44px;height:44px}.board-screen .order-who .portrait{width:44px;height:auto}.board-screen .order-name{grid-area:name;display:block;font-size:.78rem;font-weight:800;color:var(--ink-soft)}.board-screen .order-items{grid-area:items;padding-left:0;justify-content:flex-start;gap:4px}.board-screen .order-item .item-art{width:34px;height:34px}.board-screen .order-reward,.board-screen .order>.btn{grid-area:action}.board-screen .order-reward{flex-direction:column;align-items:flex-end;gap:2px}.board-screen>.board-wrap{padding:6px 0 10px}}@media(orientation:landscape)and (max-height:560px){:root{--rail: 74px;--side-min: 250px;--side-max: 340px;--room-w: calc((100dvh - 118px) * 4 / 3)}.app{max-width:none;top:0;bottom:0;border-radius:0}.topbar{padding:6px calc(12px + env(safe-area-inset-right,0px)) 4px 12px}.pill{min-height:36px}.topbar .icon-btn.round{min-width:36px;min-height:36px}.tabbar{gap:2px;padding-block:6px;justify-content:space-evenly}.tab{flex:1 1 0;min-height:0;max-height:62px;padding:4px 0;font-size:.6rem}.tab .icon{width:22px;height:22px}.screen{padding:2px calc(12px + env(safe-area-inset-right,0px)) 8px 12px}.room-head{margin:0 2px 6px}.room-head h1{font-size:1.25rem}.board-screen{grid-template-columns:minmax(0,min(calc((100dvh - 62px) * var(--board-ratio, 1.25)),58%)) minmax(210px,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"board orders" "board strip" "board goal" "board producers"}.board-screen>.board-goal{align-self:end}.board-screen .order{min-height:72px}.sheet.daily-sheet{max-width:760px}.daily-sheet .sheet-body{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text board" "orders board" "info board" "foot board" "fb board";grid-template-rows:auto auto auto auto 1fr;column-gap:16px;align-items:start}.daily-sheet .sheet-body>p.muted{grid-area:text;margin-top:0}.daily-sheet .daily-orders{grid-area:orders}.daily-sheet .daily-board{grid-area:board;width:min(calc(96dvh - 76px),320px);height:min(calc(96dvh - 76px),320px)}.daily-sheet .daily-item-info{grid-area:info;margin-top:8px}.daily-sheet .daily-foot{grid-area:foot}.daily-sheet .feedback{grid-area:fb}.producer-btn,.storage-btn{width:52px;height:52px}.producer-toggle{width:52px}.producer-btn .item-art{width:40px;height:40px}.strip{min-height:44px;font-size:.8rem}.item-help{display:none}.goal-card{padding:10px 10px 10px 14px}.sheet-backdrop{align-items:center}.sheet{max-height:96%;max-width:600px;border-radius:20px}.dlg-stage{max-width:680px}.dlg-portrait{height:84px;margin-bottom:-12px}.dlg-portrait .portrait{width:84px;height:auto}.dlg-text{max-height:28vh;margin-bottom:6px}.toasts{top:50px;left:var(--rail)}}
