:root{--panel: rgba(255, 255, 255, .93);--panel-solid: #ffffff;--panel-border: rgba(38, 50, 78, .12);--ink: #1f2a44;--ink-soft: #5a6a86;--accent: #ff9f43;--accent-ink: #fff;--radius: 18px;--shadow: 0 10px 28px rgba(24, 38, 66, .18);--z-world-label: 3;--z-underwater: 5;--z-hud: 10;--z-prompt: 20;--z-backdrop: 30;--z-modal: 40;--z-alert: 50;--hud-left: 288px;--hud-right: 300px;--hud-top: min(620px, calc(100vw - var(--hud-left) - var(--hud-right) - 64px));--hud-gap: 8px;font-family:Nunito,Segoe UI,Roboto,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;color:var(--ink);background:#bfe4ff;overflow:hidden}button{font-family:inherit;cursor:pointer}.app{position:relative;width:100%;height:100%}.underwater{position:absolute;inset:0;z-index:var(--z-underwater);pointer-events:none;background:linear-gradient(180deg,#2474b88c,#124a84b3);transition:opacity .22s ease}.ui-backdrop{position:absolute;inset:0;z-index:var(--z-backdrop);background:#0e162680;pointer-events:auto}.app--modal .hud{opacity:.18;pointer-events:none;transition:opacity .16s ease}.modal-card{position:absolute;z-index:var(--z-modal);left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:min(760px,92vw);max-height:min(84vh,820px);border-radius:22px;background:var(--panel-solid);border:1px solid var(--panel-border);box-shadow:var(--shadow);overflow:hidden;pointer-events:auto}.modal-card--sm{width:min(460px,92vw);max-height:min(86vh,720px)}.modal-card--wide{width:min(880px,94vw)}.modal-card__body{padding:16px 18px 20px;overflow-y:auto}.modal-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#1f2a440f;border-bottom:1px solid var(--panel-border);flex:0 0 auto}.modal-card__title{margin:0;font-size:20px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin .ghost,.mailbox .ghost,.door-panel .ghost{background:#ffffff24;border:1px solid rgba(255,255,255,.22);color:#fff}.admin .ghost:hover,.mailbox .ghost:hover,.door-panel .ghost:hover{background:#ffffff3d}.admin .ghost:disabled,.mailbox .ghost:disabled,.door-panel .ghost:disabled{opacity:.45}.admin .ghost.admin__kick{background:#ff786e38;border-color:transparent;color:#ffd0cb}canvas{display:block;touch-action:none}.start{display:grid;place-items:center;height:100%;padding:24px;background:radial-gradient(circle at 30% 20%,#d8f0ff,#9fd0f5 60%,#7ab8e8)}.start-card{width:min(560px,100%);max-height:92vh;overflow:auto;padding:28px;border-radius:26px;background:var(--panel);box-shadow:var(--shadow)}.start-card h1{margin:0 0 6px;font-size:40px;letter-spacing:.5px}.start-lead{margin:0 0 20px;color:var(--ink-soft);line-height:1.45}.field{display:block;margin-bottom:16px}.field>span{display:block;margin-bottom:6px;font-weight:700;font-size:15px}.field input{width:100%;padding:12px 14px;font-size:18px;font-family:inherit;color:var(--ink);border:2px solid var(--panel-border);border-radius:14px;background:#fff}.field input:focus{outline:none;border-color:var(--accent)}.species-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.species{display:flex;flex-direction:column;gap:2px;padding:12px 10px;border-radius:14px;border:2px solid var(--panel-border);background:#fff;font-size:15px}.species small{color:var(--ink-soft)}.species.is-active{border-color:var(--accent);background:#fff6ea}.primary{width:100%;padding:16px;margin-top:6px;font-size:20px;font-weight:800;color:var(--accent-ink);background:linear-gradient(180deg,#ffb05c,#f28a1f);border:none;border-radius:16px;box-shadow:0 8px 18px #f28a1f59}.primary:disabled{opacity:.6;cursor:default}.ghost{width:100%;margin-top:10px;padding:10px;font-size:14px;font-weight:700;color:var(--ink-soft);background:#1f2a440f;border:none;border-radius:12px}.ghost.small{width:auto;margin:0;padding:6px 10px;font-size:13px}.hint{margin:14px 0 0;font-size:13px;color:var(--ink-soft);line-height:1.5}.error{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#ffe8e8;color:#a12c2c;font-size:14px}.loading{position:absolute;inset:0;z-index:var(--z-alert);display:grid;place-items:center;font-size:20px;font-weight:700;color:var(--ink);background:#bfe4ffb3}.root-error{height:100%}.error-screen{display:grid;place-items:center;min-height:100%;padding:24px;background:radial-gradient(circle at 30% 20%,#ffe9d6,#ffd0a8 60%,#f5b183)}.error-screen__card{width:min(560px,100%);padding:28px;border-radius:26px;background:var(--panel);box-shadow:var(--shadow);text-align:center}.error-screen__card h1{margin:0 0 8px;font-size:30px}.error-screen__card p{margin:0 0 18px;color:var(--ink-soft);line-height:1.45}.error-screen__detail{margin:16px 0 0;padding:10px 12px;max-height:180px;overflow:auto;font-size:12px;text-align:left;color:var(--ink-soft);background:#1f2a440f;border-radius:12px;white-space:pre-wrap}.hud{position:absolute;inset:0;z-index:var(--z-hud);pointer-events:none;transition:opacity .16s ease}.hud__left{position:absolute;top:16px;left:16px;width:var(--hud-left);display:flex;flex-direction:column;gap:10px}.hud__right{position:absolute;top:16px;right:16px;width:var(--hud-right);display:flex;flex-direction:column;gap:10px}.hud__top{position:absolute;top:16px;left:50%;transform:translate(-50%);width:var(--hud-top);display:flex;flex-direction:column;align-items:stretch;gap:var(--hud-gap)}.hud__bottom{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--hud-gap)}.hud__corner{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:row;align-items:flex-end;gap:8px}.hud__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.hud__slot{display:flex;flex-direction:column;align-items:center;gap:var(--hud-gap);width:100%}.hud__slot:empty{display:none}.panel{pointer-events:auto;padding:12px 14px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow)}.icon-button{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:44px;padding:0 12px;border-radius:14px;border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow);font-family:inherit;font-size:15px;font-weight:800;color:var(--ink);cursor:pointer}.icon-button:hover{background:#fff}.icon-button.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.icon-button__badge{padding:0 6px;border-radius:999px;background:#f0a500;color:#fff;font-size:11px;font-weight:900}.pet-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.pet-panel__close{flex:0 0 auto;width:30px;height:30px;border:none;border-radius:10px;background:#1f2a4414;color:var(--ink);font-size:14px;cursor:pointer}.pet-chip{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 12px;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow);font-family:inherit;font-size:14px;font-weight:800;color:var(--ink);cursor:pointer}.pet-chip__emoji{font-size:18px}.pet-chip__name{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pet-chip__bar{width:56px;height:8px;border-radius:999px;background:#1f2a441f;overflow:hidden}.pet-chip__fill{display:block;height:100%;background:#2e9e4f}.pet-chip__value{font-size:12px;color:var(--ink-soft)}.pet-panel__name{font-size:17px}.pet-panel__stage{font-size:12px;color:var(--ink-soft)}.stat{display:grid;grid-template-columns:74px 1fr;align-items:center;gap:8px;font-size:11.5px;margin-bottom:4px}.stat__label{color:var(--ink-soft);white-space:nowrap}.stat__bar{height:9px;border-radius:6px;background:#1f2a441a;overflow:hidden}.stat__fill{display:block;height:100%;border-radius:6px;transition:width .3s ease}.stat__value{display:none}.pet-panel__hint{margin:8px 0 0;font-size:11.5px;line-height:1.3;color:var(--ink-soft)}.topbar{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:14px}.topbar__row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.topbar__item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;min-width:0}.topbar__status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-soft);white-space:nowrap}.dot{width:9px;height:9px;border-radius:50%}.dot--ok{background:#48c774}.dot--off{background:#e35d5d}.topbar__actions{display:flex;gap:6px}.topbar__actions .icon-button{flex:1 1 0;min-width:0;height:38px;padding:0 6px;font-size:16px;box-shadow:none}.topbar__actions .icon-button__badge{position:absolute;top:-6px;right:-4px}.topbar__actions .icon-button{position:relative}.chatlog{max-height:168px;overflow-y:auto}.chatlog__title{display:block;margin-bottom:4px;font-size:13px;color:var(--ink-soft)}.chatlog ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}.chatlog li{font-size:12.5px;line-height:1.3}.chatlog__name{font-weight:800;margin-right:6px}.chatlog__en{font-weight:700}.chatlog__ru{display:block;color:var(--ink-soft);font-size:11.5px}.chatlog__empty{margin:0;font-size:12px;color:var(--ink-soft)}.chat-button{pointer-events:auto;padding:12px 22px;font-size:16px;font-weight:800;color:var(--ink);background:var(--panel);border:1px solid var(--panel-border);border-radius:999px;box-shadow:var(--shadow);cursor:pointer}.chat-button kbd{margin-left:6px;padding:2px 7px;font-size:12px;border-radius:7px;background:#1f2a4414}.chat-wheel{pointer-events:auto;width:min(880px,92vw);max-height:min(76vh,760px)}.chat-wheel__body{padding:0 18px 18px;overflow-y:auto}.chat-wheel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:17px}.chat-wheel__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.chat-wheel__sector h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft)}.phrase{display:block;width:100%;margin-bottom:6px;padding:8px 10px;text-align:left;border-radius:12px;border:1px solid var(--panel-border);background:#fff}.phrase:hover{background:#fff2e2}.phrase__en{display:block;font-weight:800;font-size:14px}.phrase__ru{display:block;font-size:12px;color:var(--ink-soft)}.crosshair{display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.crosshair__dot{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:#1f2a4440;box-shadow:0 0 0 1px #1f2a4459}.crosshair__label{display:flex;flex-direction:column;align-items:center;padding:4px 10px;border-radius:10px;background:#1f2a4499;color:#fff;font-size:14px;line-height:1.2;white-space:nowrap}.crosshair__label small{font-size:11px;opacity:.8}.pointer-hint{display:flex;flex-direction:column;align-items:center;gap:2px;align-self:center;padding:10px 18px;border-radius:16px;background:#1f2a44b8;color:#fff;font-size:14px;pointer-events:none;text-align:center}.pointer-hint span{font-size:12px;opacity:.85}.hotbar{display:flex;gap:6px;padding:8px;border-radius:18px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);pointer-events:auto}.slot{position:relative;width:62px;padding:8px 4px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:12px;border:2px solid transparent;background:#f3f6fb;font-size:11px;font-weight:700;color:var(--ink)}.slot.is-active{border-color:var(--accent);background:#fff2e2}.slot__swatch{width:24px;height:24px;border-radius:7px;border:1px solid rgba(31,42,68,.18);background-size:cover;background-position:center;image-rendering:pixelated}.slot__key{position:absolute;top:3px;left:5px;font-size:10px;color:var(--ink-soft)}.slot__name{font-size:10px;letter-spacing:-.2px}.toast{padding:10px 18px;border-radius:14px;background:#1f2a44d9;color:#fff;font-size:14px;font-weight:700;pointer-events:none;max-width:100%;text-align:center}.plot{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 16px;text-align:center}.plot strong{font-size:15px}.plot__owner{font-size:12px;color:var(--ink-soft)}.admin{gap:12px;padding:16px 18px;height:min(84vh,700px);overflow-y:auto;background:#1c263efa;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:14px}.admin__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin__head strong{font-size:17px}.admin__head .ghost{margin-left:auto}.admin__hint{color:#ffffff9e;font-size:12px;line-height:1.35}.admin__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin__stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:#ffffff14}.admin__stat strong{font-size:20px}.admin__stat span{color:#ffffffa8;font-size:12px}.admin__result{padding:10px 12px;border-radius:12px;font-weight:700}.admin__result.is-ok{background:#5ee06b2e;color:#b6ffbe}.admin__result.is-bad{background:#ff8a5c2e;color:#ffc7ad}.admin__section{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:#ffffff0d}.admin__section-head{display:flex;align-items:baseline;gap:10px}.admin__section-head .ghost{margin-left:auto}.admin__empty{margin:0;color:#fff9;font-size:13px}.admin__players{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.admin__player{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:12px;background:#ffffff12}.admin__player-name{display:flex;flex-direction:column;gap:2px;min-width:190px;flex:1 1 190px}.admin__player-name small{color:#ffffff9e;font-size:12px}.admin__player-actions{display:flex;gap:6px;flex-wrap:wrap}.admin__badge{margin-left:8px;padding:2px 8px;border-radius:8px;background:#ffe6b8;color:#8a5a12;font-size:11px}.admin__kick{background:#ff786e38;color:#ffd0cb}.admin__kick:disabled,.admin__player-actions .ghost:disabled{opacity:.45;cursor:not-allowed}.admin__plots{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.admin__plots li{display:flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:10px;background:#ffffff17;font-size:13px}.admin__plots span{color:#ffffffa8}.admin__danger{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.admin__danger .admin__hint{flex:1 1 240px}.admin__media{gap:10px}.admin__tabs{display:flex;gap:6px;flex-wrap:wrap}.admin__tab{padding:7px 14px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:#ffffff0f;color:#ffffffd1;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer}.admin__tab:hover{background:#ffffff24}.admin__tab.is-active{background:#ffd479;border-color:#ffd479;color:#4a3208}.admin__media-body{display:flex;flex-direction:column;gap:8px}.admin__slots{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.admin__slots .is-active{background:#ffd479;border-color:#ffd479;color:#4a3208}.admin__field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#ffffffd1}.admin__field input[type=text]{width:100%;padding:8px 10px;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:#00000047;color:#fff;font-family:inherit;font-size:14px}.admin__field input[type=text]:focus{outline:2px solid #ffd479;outline-offset:1px}.admin__field input[type=range]{width:100%;accent-color:#ffd479}.admin__hint.is-bad{color:#ffc7ad}.admin__media-actions{display:flex;gap:6px;flex-wrap:wrap}.wall-layer{position:absolute;top:0;left:0;pointer-events:none;z-index:var(--z-world-label)}.wall-surface{position:absolute;transform-origin:0 0;pointer-events:none;background:#05070c;overflow:hidden;border-radius:2px}.wall-surface__frame{position:absolute;top:0;left:0;width:100%;height:100%;border:0;display:block}.toggles__volume{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#f3f6fb;border:1px solid var(--panel-border);font-size:14px;color:var(--ink)}.toggles__volume input[type=range]{flex:1 1 auto;min-width:120px;accent-color:var(--accent)}.toggles__volume span{min-width:44px;text-align:right;color:var(--ink-soft)}.venue-hint{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border-radius:12px;background:#101420b8;color:#ffffffdb;font-size:12px;pointer-events:none;text-align:center}.venue-hint.is-audible{background:#183c26cc}.venue-hint small{color:#ffffff9e;font-size:11px}.admin__field textarea{width:100%;padding:8px 10px;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:#00000047;color:#fff;font-family:inherit;font-size:13px;resize:vertical}.admin__field textarea:focus{outline:2px solid #ffd479;outline-offset:1px}.admin__media-now{padding-top:2px}.admin__files{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:12px;background:#ffffff0d}.admin__files-list{display:flex;flex-wrap:wrap;gap:6px}.admin__files-list .ghost{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left}.admin__files-list small{color:#ffffff8c;font-size:10px}.admin__files-list small.is-bad{color:#ffc7ad}.admin__files-list .is-active{background:#ffd47938;color:#ffe6b8}.admin__playlist{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;max-height:260px;overflow-y:auto}.admin__playlist li{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:12px;background:#ffffff0f;border:1px solid transparent}.admin__playlist li.is-now{border-color:#ffd479;background:#ffd4791f}.admin__playlist-index{min-width:20px;padding-top:6px;color:#fff9;font-size:12px;text-align:right}.admin__playlist-body{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0}.admin__playlist-link{color:#b9d8ff;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin__playlist-row{display:flex;align-items:center;gap:6px}.admin__playlist-row input[type=text]{flex:1 1 auto;min-width:0;padding:5px 8px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#0000003d;color:#fff;font-family:inherit;font-size:12px}.admin__playlist-seconds{display:flex;align-items:center;gap:3px;font-size:11px;color:#ffffffb3}.admin__playlist-seconds input{width:62px;padding:5px 6px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#0000003d;color:#fff;font-family:inherit;font-size:12px}.admin__playlist-actions{display:flex;flex-direction:column;gap:4px}.kick-notice{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 20px;border-radius:16px;background:#2d1e3ef0;border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow);color:#fff;font-size:14px;text-align:center;pointer-events:auto}.kick-notice span{color:#fffc}.help-modal{width:min(640px,92vw)}.help-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 10px}.help-modal__head h2{margin:0;font-size:20px}.help-modal__sections{display:flex;flex-direction:column;gap:14px;padding:0 18px 20px;overflow-y:auto}.help-modal__section h3{margin:0 0 6px;font-size:15px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.help-modal__section ul{margin:0;padding-left:20px;font-size:14px;line-height:1.55;color:var(--ink)}.help-modal__section li{margin-bottom:4px}.settings-modal__body{display:flex;flex-direction:column;gap:14px;padding:16px 18px 20px}.settings-modal__row{display:flex;flex-direction:column;gap:6px}.settings-modal__label{font-size:13px;font-weight:800;color:var(--ink-soft)}.settings-modal__note{font-size:12px;line-height:1.35;color:var(--ink-soft)}.hud--house .hud__left{width:320px}.catalog{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 32px)}.catalog__head{display:flex;align-items:center;justify-content:space-between;font-size:17px}.catalog__count{font-size:13px;color:var(--ink-soft)}.catalog__search{width:100%;padding:9px 12px;font-size:14px;font-family:inherit;color:var(--ink);border:2px solid var(--panel-border);border-radius:12px;background:#fff}.catalog__search:focus{outline:none;border-color:var(--accent)}.catalog__filters{display:flex;flex-wrap:wrap;gap:5px}.chip{padding:4px 9px;border-radius:999px;border:1px solid var(--panel-border);background:#f3f6fb;color:var(--ink);font-size:12px;font-weight:700}.chip.is-active{background:#ffe9d2;border-color:var(--accent)}.catalog__grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;overflow-y:auto;padding-right:2px}.catalog__empty{grid-column:1 / -1;margin:6px 0;font-size:13px;color:var(--ink-soft)}.item-card{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:6px;padding:6px 8px;border-radius:12px;border:2px solid transparent;background:#f3f6fb;color:var(--ink);text-align:left}.item-card.is-active{border-color:var(--accent);background:#fff2e2}.item-card__emoji{font-size:18px}.item-card__names{display:flex;flex-direction:column;line-height:1.15;overflow:hidden}.item-card__names strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-card__names small{font-size:11px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-card__size{font-size:10px;color:var(--ink-soft)}.house-hint{display:flex;flex-direction:column;gap:8px}.house-hint p{margin:0;font-size:13px;color:var(--ink-soft)}.house-hint__head{display:flex;align-items:center;gap:10px}.house-hint__emoji{font-size:26px}.house-hint__head small{display:block;font-size:12px;color:var(--ink-soft)}.house-hint__feature{padding:6px 8px;border-radius:10px;background:#eef7ef;color:#2f6b45;font-size:12px}.house-hint__buttons{display:flex;flex-wrap:wrap;gap:6px}.house-toolbar{display:flex;flex-wrap:nowrap;justify-content:center;gap:8px;padding:8px;border-radius:18px;background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);pointer-events:auto}.house-toolbar>button{width:auto;flex:0 0 auto;white-space:nowrap}.house-toolbar .primary{flex:1 1 auto;min-width:0}.house-toolbar .icon-only{flex:0 0 auto;width:44px;padding:0;font-size:18px}.house-toolbar button:disabled{opacity:.45;cursor:default}.door-prompt{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 18px;border-radius:18px;background:#1f2a44f5;color:#fff;font-size:15px;font-weight:700;text-align:center;max-width:min(440px,92vw)}.door-prompt--own,.door-prompt--guest,.door-prompt--host{position:absolute;z-index:var(--z-modal);left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,92vw);box-shadow:0 18px 48px #00000059}.door-prompt--invited{align-self:center;background:#2e7d3ef2}.door-prompt--deny{align-self:center;background:#1f2a44e6;pointer-events:none}.door-prompt__text{margin:0;line-height:1.35}.door-prompt__buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.door-prompt__button{padding:10px 16px;border:none;border-radius:14px;background:#3f4a68;color:#fff;font-size:15px;font-weight:800;cursor:pointer}.door-prompt__button:hover{filter:brightness(1.12)}.door-prompt__button--yes{background:#2e9e4f}.door-prompt__button--no{background:#6b4a4a}.door-prompt__key{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:6px;background:#ffffff38;font-size:13px}.interact-hint{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:16px;background:#1f2a44e0;color:#fff;font-size:15px;font-weight:700;pointer-events:none;max-width:min(520px,92vw)}.interact-hint__emoji{font-size:22px}.interact-hint__text{display:flex;flex-direction:column;line-height:1.2}.interact-hint__text strong{font-size:15px}.interact-hint__text small{font-size:12.5px;font-weight:600;opacity:.85}.interact-hint__key{display:inline-block;padding:2px 9px;border-radius:7px;background:#2e9e4f;color:#fff;font-size:13px;font-weight:800;box-shadow:inset 0 -2px #00000040}.door-panel{display:flex;flex-direction:column;gap:10px;padding:16px 18px;background:#1f2a44fa;color:#fff;font-size:14px;overflow-y:auto}.door-panel__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.door-panel__head strong{font-size:16px}.door-panel__now{font-weight:700;color:#ffd98a}.door-panel__modes{display:flex;flex-direction:column;gap:6px}.door-panel__mode{display:flex;align-items:center;gap:8px;padding:8px 12px;border:2px solid transparent;border-radius:12px;background:#3f4a68;color:#fff;font-size:14px;font-weight:700;text-align:left;cursor:pointer}.door-panel__mode:hover{filter:brightness(1.14)}.door-panel__mode.is-active{border-color:#ffd98a;background:#4c5a80}.door-panel__emoji{font-size:18px}.door-panel__hint{margin:0;font-size:12.5px;line-height:1.35;color:#d6e0f5}.door-panel__list{display:flex;flex-direction:column;gap:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.18)}.door-panel__title{font-weight:800}.door-panel__empty{font-size:12.5px;line-height:1.35;color:#d6e0f5}.door-panel__row{display:flex;align-items:center;justify-content:space-between;gap:8px}.door-panel__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mailbox{display:flex;flex-direction:column;gap:8px;padding:16px 18px;background:#1f2a44fa;color:#fff;font-size:14px;overflow-y:auto}.mailbox__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.mailbox__count{color:#ffd98a;font-weight:700}.mailbox__empty{margin:0;font-size:12.5px;line-height:1.35;color:#d6e0f5}.mailbox__list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.mailbox__note{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 10px;border-radius:12px;background:#ffffff14}.mailbox__author{font-weight:800}.mailbox__age{font-size:12px;color:#d6e0f5}.mailbox__phrase{grid-column:1 / -1;font-weight:700}.mailbox__en{grid-column:1 / -1;font-size:12.5px;color:#bfe4ff}.mailbox__note button{grid-row:1;grid-column:2}.mailbox__write{padding:10px 14px;border:none;border-radius:14px;background:#3f4a68;color:#fff;font-size:15px;font-weight:800;cursor:pointer}.mailbox__write:hover{filter:brightness(1.14)}.mailbox__picker{display:flex;flex-direction:column;gap:6px}.mailbox__phrase-button{display:flex;flex-direction:column;gap:1px;padding:8px 12px;border:none;border-radius:12px;background:#3f4a68;color:#fff;text-align:left;cursor:pointer}.mailbox__phrase-button:hover{filter:brightness(1.14)}.mailbox__phrase-ru{font-size:14px;font-weight:800}.mailbox__phrase-en{font-size:12.5px;color:#bfe4ff}.mailbox__result{padding:6px 10px;border-radius:12px;background:#ffffff1f;font-size:12.5px}.pet-menu__actions{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 1200px){:root{--hud-left: 248px;--hud-right: 264px}.slot{width:52px}.slot__name{display:none}.chatlog{max-height:132px}.pet-panel__stage{font-size:11.5px}}@media (max-width: 900px){:root{--hud-left: 208px;--hud-right: 220px}.hud--house .hud__left{width:220px}.catalog__grid{grid-template-columns:1fr}.slot{width:42px;padding:6px 2px 4px}.slot__swatch{width:20px;height:20px}.chatlog{display:none}.chat-button{padding:10px 16px;font-size:14px}}@media (max-height: 700px){.stat:nth-child(n+6){display:none}.pet-panel__hint{margin-top:6px}.hotbar{padding:6px}.slot{padding:6px 3px 4px}}.home-inside{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:min(720px,94vw)}.home-inside__bar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:16px;background:#1f2a44e6;color:#fff}.home-inside__title{font-size:15px;font-weight:800}.home-inside__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.home-inside__button{display:flex;align-items:center;gap:8px;padding:12px 18px;border:none;border-radius:16px;background:#3f4a68;color:#fff;font-size:15px;font-weight:800;cursor:pointer}.home-inside__button:hover{filter:brightness(1.14)}.home-inside__emoji{font-size:20px}.home-inside__hint,.home-inside__result{padding:8px 14px;border-radius:14px;background:#1f2a44cc;color:#fff;font-size:14px;font-weight:700;text-align:center}.home-inside__result{background:#2e7d3eeb}.touch-layer{position:absolute;inset:0;z-index:var(--z-prompt);pointer-events:none}.touch-joystick{position:absolute;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));width:128px;height:128px;border-radius:50%;background:#1f2a4447;border:2px solid rgba(255,255,255,.55);box-shadow:0 6px 18px #18264240;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.touch-joystick__knob{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#ffffffd1;border:2px solid rgba(31,42,68,.18);pointer-events:none;will-change:transform}.touch-actions{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,64px);gap:10px;pointer-events:none}.touch-button{pointer-events:auto;width:64px;height:64px;border-radius:20px;border:2px solid rgba(255,255,255,.6);background:#1f2a446b;color:#fff;font-size:26px;line-height:1;touch-action:none;-webkit-user-select:none;user-select:none}.touch-button:active{background:#ff9f43bf}.touch-button--action{grid-column:span 2;width:100%;height:56px;font-size:24px}.app--touch .chat-button{display:none}.app--touch .hud__bottom{bottom:max(16px,env(safe-area-inset-bottom));max-width:calc(100vw - 340px)}.app--touch .hotbar{max-width:100%;overflow-x:auto;scrollbar-width:none}.app--touch .hotbar::-webkit-scrollbar{display:none}.app--touch .slot{flex:0 0 auto;width:38px;padding:6px 2px 4px}.app--touch .slot__name,.app--touch .slot__key,.app--touch .xp__bar{display:none}.app--touch .topbar__xp{min-width:0}.app--touch .hud__corner{top:auto;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 136px);left:max(16px,env(safe-area-inset-left));transform:none;flex-direction:row}.app--touch .stat:nth-child(n+6){display:none}.app--touch .interact-hint{padding:6px 12px;gap:8px;font-size:13px}.app--touch .interact-hint__text small{display:none}.app--touch .interact-hint__emoji{font-size:18px}.app--touch .touch-button--plot{background:#2e9e4f8c}.app--touch .crosshair{position:relative}.app--touch .crosshair__label{position:absolute;bottom:26px;left:50%;transform:translate(-50%)}@media (max-height: 500px){.app--touch .pet-panel__hint{display:none}}.app--touch .hud__left,.app--touch .hud__right{top:max(16px,env(safe-area-inset-top))}.app--touch .hud__left{left:max(16px,env(safe-area-inset-left));width:220px}.app--touch .hud__right{right:max(16px,env(safe-area-inset-right));width:232px}.app--touch .chatlog{display:none}.app--touch .hud__top{width:min(420px,calc(100vw - 520px))}@media (max-height: 460px){.app--touch .touch-actions{grid-template-columns:repeat(2,58px);gap:8px}.app--touch .touch-button{width:58px;height:58px;font-size:24px}.app--touch .touch-button--action{width:100%;height:50px}.app--touch .touch-joystick{width:108px;height:108px}.app--touch .hud__corner{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 120px)}}@media (max-width: 700px){.app--touch .hud__bottom{bottom:236px;max-width:calc(100vw - 24px)}.app--touch .hud__left{width:44vw}.app--touch .hud__right{width:46vw}.app--touch .stat:nth-child(n+5){display:none}.app--touch .hud__top{top:132px;width:calc(100vw - 32px)}.app--touch .hud__corner{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 120px)}.touch-joystick{width:112px;height:112px}.touch-actions{grid-template-columns:repeat(2,58px)}.touch-button{width:58px;height:58px;font-size:24px}.touch-button--action{width:100%;height:50px}.modal-card{width:96vw;max-height:92vh;border-radius:16px}.city-panel__title{font-size:17px}.start-card{padding:20px}}@supports (height: 100dvh){html,body,#root{height:100dvh}}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}.hud--house .catalog{max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px)}.app--touch .hud--house .hud__corner{display:none}.app--touch .hud--house .hud__left{width:min(46vw,240px)}.app--touch .hud--house .catalog{max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px)}.app--touch .hud--house .hud__bottom{left:50%;transform:translate(-50%);bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.app--touch .hud--house .house-toolbar{padding:6px;gap:6px}.topbar__xp{display:inline-flex;align-items:center;gap:8px;min-width:180px}.xp__level{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:900;font-size:14px}.xp__bar{position:relative;display:block;width:90px;height:10px;border-radius:999px;background:#1f2a442e;overflow:hidden}.xp__fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#57c785,#2e9e4f);transition:width .24s ease}.xp__title{font-size:13px;font-weight:700;color:var(--ink-soft)}.city-panel{width:min(780px,92vw);height:min(84vh,700px)}.city-panel--dialogue{height:min(84vh,620px)}.city-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#1f2a440f;border-bottom:1px solid var(--panel-border);flex:0 0 auto}.city-panel__title{margin:0;font-size:20px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.city-panel__title-en{font-size:15px;font-weight:600;color:var(--ink-soft)}.city-panel__body{padding:16px 18px 20px;overflow-y:auto;flex:1 1 auto}.city-panel__subtitle{margin:18px 0 8px;font-size:16px;font-weight:900;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.city-panel__hint{margin:6px 0;font-size:14px;line-height:1.4;color:var(--ink-soft)}.city-panel__message{margin:10px 0;padding:10px 14px;border-radius:14px;background:#c96a4a29;font-weight:700}.city-panel__message--good{background:#2e9e4f29}.dialogue__bubble{padding:14px 16px;border-radius:18px;border:3px solid #ccc;background:#fff}.dialogue__en{margin:0;font-size:19px;font-weight:800;line-height:1.35}.dialogue__ru{margin:6px 0 0;font-size:15px;color:var(--ink-soft)}.dialogue__tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.dialogue__options{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.dialogue__option{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border:1px solid var(--panel-border);border-radius:16px;background:#fff;text-align:left;cursor:pointer}.dialogue__option:hover{background:#fff7e8}.dialogue__option-en{font-size:17px;font-weight:800}.dialogue__option-ru{font-size:14px;color:var(--ink-soft)}.dialogue__badge,.quest__badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:800}.dialogue__quests{margin-top:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.dialogue__venue{display:flex;margin-top:12px}.dialogue__venue .quest__button{width:100%;padding:12px 16px}.quest-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.quest{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--panel-border);background:#fff}.quest--ready{border-color:#2e9e4f;background:#f2fbf4}.quest__text{display:flex;flex-direction:column;gap:2px}.quest__text strong{font-size:16px}.quest__en{font-size:14px;font-weight:700;color:var(--ink-soft)}.quest__brief,.quest__progress{font-size:14px;color:var(--ink-soft)}.quest__progress{font-weight:800;color:var(--accent)}.quest__reward{font-size:14px;font-weight:800}.quest__button{flex:0 0 auto;padding:10px 16px;border:none;border-radius:14px;background:#2e9e4f;color:#fff;font-size:15px;font-weight:800;cursor:pointer}.quest__button:hover{filter:brightness(1.1)}.quest__button:disabled{background:#9aa7b5;cursor:default;filter:none}.streak-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin:8px 0;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:#ffffff0d}.streak-card--ready{border-color:#f0b84a;background:#f0b84a1f}.streak-card__text{display:flex;flex-direction:column;gap:2px;min-width:0}.quests__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.quests__list{min-width:0}.quest__open{flex:1 1 auto;display:flex;align-items:flex-start;gap:8px;padding:0;border:none;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit}.quest--selected{border-color:var(--accent);box-shadow:0 0 0 2px #ff9f4359}.quest--claimed{opacity:.7}.quest-list--done .quest{padding:8px 12px}.quest-details{padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--panel-border)}.quest-details__title{margin:0;font-size:19px;font-weight:900}.quest-details__en{margin:2px 0 8px;font-size:14px;font-weight:700;color:var(--ink-soft)}.quest-details__brief{margin:0 0 10px;font-size:15px;line-height:1.4}.quest-details__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.quest-details__state{padding:2px 10px;border-radius:999px;background:#e8eefc;font-size:13px;font-weight:800}.quest-details__state--done{background:#2e9e4f2e}.quest-details__state--active{background:#ff9f4338}.quest-details__state--claimed{background:#1f2a441f}.quest-details__subtitle{margin:14px 0 6px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.quest-details__reward{margin:0;font-size:16px;font-weight:800}.quest-details__where{margin:0 0 4px;font-size:15px;font-weight:700}.quest-details__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.quest-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.quest-step{display:flex;align-items:flex-start;gap:8px;font-size:15px}.quest-step.is-done .quest-step__text{color:var(--ink-soft);text-decoration:line-through}.quest-step__text{line-height:1.35}.quest-reqs{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.quest-req{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:12px;background:#f7f9ff}.quest-req.is-done{background:#f2fbf4}.quest-req__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.quest-req__count{font-weight:900;color:var(--accent)}.quest-req.is-done .quest-req__count{color:#2e9e4f}.quest-req__en{font-size:13px;font-weight:700;color:var(--ink-soft)}.quest-req__where{font-size:13px;color:var(--ink-soft)}.quest-hint{display:flex;align-items:center;gap:10px;max-width:100%;padding:10px 14px;border-radius:16px;background:#1f2a44e6;color:#fff;font-size:14px;flex-wrap:wrap}.quest-hint--ready{background:#2e7d3ef0}.quest-hint__text{display:flex;flex-direction:column;line-height:1.25}.quest-hint__progress{font-size:13px;opacity:.85}.quest-hint .ghost{background:#ffffff29;color:#fff;border-color:#ffffff3d}.quest-hint .ghost:hover{background:#ffffff42}.quest-hint .quest__button{background:#2e9e4f;color:#fff}.quest-hint .quest__button:disabled{background:#fff3;color:#fff9}.quest-hint--compact{flex-wrap:nowrap;gap:8px;padding:6px 8px;border-radius:12px;font-size:13px}.quest-hint--compact .quest-hint__emoji{font-size:15px}.quest-hint--compact .quest-hint__line{display:flex;align-items:baseline;gap:6px;min-width:0;flex:1 1 auto}.quest-hint--compact .quest-hint__line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quest-hint--compact .quest-hint__progress{flex:0 0 auto;font-size:12px;white-space:nowrap}.quest-hint__icon{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;padding:0;border-radius:10px;border:1px solid rgba(255,255,255,.24);background:#ffffff29;color:#fff;font-size:15px;cursor:pointer}.quest-hint__icon:hover{background:#ffffff42}.bag__list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.bag__item{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--panel-border)}.bag__emoji{font-size:30px;text-align:center}.bag__text{display:flex;flex-direction:column;gap:2px;min-width:0}.bag__count{color:var(--accent);font-weight:900}.bag__en{font-size:13px;font-weight:700;color:var(--ink-soft)}.bag__effect,.bag__about{font-size:13px;color:var(--ink-soft)}.bag__stack{display:block;height:5px;margin-top:4px;border-radius:999px;background:#1f2a441f;overflow:hidden}.bag__stack-fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.bag__actions{display:flex;align-items:center;gap:6px}@media (max-width: 720px){.quests__layout{grid-template-columns:minmax(0,1fr)}.quest-hint{top:68px;flex-wrap:wrap;justify-content:center}}.cafe__menu{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.cafe__dish{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 10px;border:2px solid var(--panel-border);border-radius:16px;background:#fff;cursor:pointer}.cafe__dish.is-active{border-color:var(--accent);background:#fff7e8}.cafe__dish-emoji{font-size:30px}.cafe__dish-en{font-size:16px;font-weight:800}.cafe__dish-ru{font-size:13px;color:var(--ink-soft)}.cafe__dish-price{font-size:13px;font-weight:800;color:var(--accent)}.cafe__size{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.cafe__sentence{margin:6px 0;padding:10px 14px;border-radius:14px;background:#fff;border:1px dashed var(--panel-border);font-size:17px;font-weight:800}.cafe__chips{display:flex;flex-wrap:wrap;gap:8px}.cafe__chip{padding:8px 14px;border:none;border-radius:999px;background:#e8eefc;color:var(--ink);font-size:16px;font-weight:800;cursor:pointer}.cafe__chip:hover{background:#d6e2fb}.cafe__picked{margin:10px 0 0;min-height:26px;font-size:17px;font-weight:800}.cafe__input{width:100%;padding:12px 14px;border:2px solid var(--panel-border);border-radius:14px;font-size:17px;font-family:inherit}.cafe__correct{margin:8px 0;font-size:16px}.shop__slots{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.ghost.is-active{background:var(--accent);color:var(--accent-ink)}.shop__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.shop__item{display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--panel-border);background:#fff}.shop__item.is-owned{background:#f2fbf4}.shop__item.is-needed{border-color:#f0b45a;background:#fff8eb}.shop__item.is-focus{outline:3px solid #ffb347;outline-offset:1px}.quest-details__quiz{margin:10px 0;padding:10px 12px;border:1px dashed #f0b45a;border-radius:12px;background:#fff9ef}.shop__emoji{font-size:26px;text-align:center}.shop__text{display:flex;flex-direction:column}.shop__en{font-size:13px;color:var(--ink-soft)}.shop__price{font-size:15px;font-weight:800;white-space:nowrap}.library__words{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.library__word{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:#fff;border:1px solid var(--panel-border)}.library__word.is-known{background:#f2fbf4}.library__ru{margin-left:auto;font-size:13px;color:var(--ink-soft)}.library__card{padding:16px;border-radius:18px;background:#fff;border:2px solid var(--accent);text-align:center}.library__card-word{margin:0 0 6px;font-size:26px}.library__card-ru{margin:0 0 10px;font-size:18px;color:var(--ink-soft)}.library__books{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.library__book{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--panel-border)}.library__book.is-read{background:#f2fbf4}.library__book-text{display:flex;flex-direction:column}.library__book-en{font-size:13px;font-weight:700;color:var(--ink-soft)}.library__book-meta{font-size:13px;color:var(--ink-soft)}.bag__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.bag__cell{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:2px solid var(--panel-border);border-radius:14px;background:#fff;cursor:pointer;text-align:center;color:inherit;font:inherit}.bag__cell:hover{border-color:var(--accent)}.bag__cell.is-selected{border-color:var(--accent);background:#fff7e8}.bag__cell.is-empty{opacity:.55;background:#f4f6fa}.bag__cell-emoji{font-size:28px;line-height:1.1}.bag__cell-emoji,.mail__icon,.quest-req__icon,.shop__emoji{display:inline-flex;align-items:center;justify-content:center;flex:none}img.bag__cell-emoji{width:44px;height:44px}img.bag__card-emoji{width:64px;height:64px}img.mail__icon{width:26px;height:26px;vertical-align:-6px;margin-right:4px}img.quest-req__icon{width:30px;height:30px;margin-right:6px;vertical-align:-8px}img.shop__emoji{width:40px;height:40px}.bag__cell-name{font-size:12px;font-weight:800;line-height:1.15}.bag__cell-count{font-size:12px;font-weight:900;color:var(--accent)}.bag__card-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.bag__card-emoji{font-size:48px;line-height:1}.bag__card-titles{min-width:0}.bag__card-count{margin:2px 0 0;font-size:14px;color:var(--ink-soft)}.shop__owned{font-size:12px;font-weight:700;color:var(--ink-soft)}.bag__cell{position:relative}.bag__cell.is-needed{border-color:#f0a500;background:#fffdf3}.bag__badge{position:absolute;top:4px;right:4px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:900;line-height:1.4;white-space:nowrap}.bag__badge--quest{background:#f0a500;color:#fff}.bag__badge--new{background:#2f9e44;color:#fff}.mail__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.mail__letter{padding:12px 14px;border-radius:16px;border:2px solid var(--panel-border);background:#fffdf5}.mail__letter.is-opened{background:#f4f6fa;opacity:.75}.mail__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px}.mail__from{font-size:12px;font-weight:700;color:var(--ink-soft)}.mail__text{margin:0 0 8px;font-size:14px}.mail__items{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:10px;font-weight:800}.mail__actions{display:flex;align-items:center;gap:10px}.mail__opened,.mail__days{font-size:12px;font-weight:700;color:var(--ink-soft)}@media (max-width: 900px){.city-panel{width:96vw;height:88vh;max-height:88vh}.shop__item{grid-template-columns:32px 1fr auto}}
