#ui{pointer-events:none;color:#e8d9b5;z-index:10;font-family:Georgia,Palatino Linotype,serif;position:absolute;inset:0;overflow:hidden}#ui *{box-sizing:border-box}.ui-layer{pointer-events:none;position:absolute;inset:0}.ui-layer--toasts{z-index:30}.ui-layer--panels{z-index:20}.ui-layer--hud{z-index:10}.is-hidden{display:none!important}.panel{pointer-events:auto;background:#2b1d12;border:2px solid #b08d44;border-radius:8px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 28px #0000008c}.panel__header{font-variant:small-caps;letter-spacing:.18em;color:#e8d9b5;background:#3a2a1a;border-bottom:2px solid #b08d44;padding:10px 16px;font-size:17px}.panel__body{flex:1;padding:14px;overflow-y:auto}.btn{pointer-events:auto;letter-spacing:.06em;color:#2a2018;cursor:pointer;background:#e8d9b5;border:1px solid #b08d44;border-radius:4px;padding:6px 12px;font-family:inherit;font-size:13px;transition:background .15s,color .15s,box-shadow .15s}.btn:hover:not(:disabled){background:#f4e9cb;box-shadow:0 2px 6px #00000059}.btn:disabled{opacity:.45;cursor:default}.btn--primary{color:#1d1409;font-variant:small-caps;letter-spacing:.12em;background:#b08d44}.btn--primary:hover:not(:disabled){background:#c6a356}.btn--danger{color:#e8d9b5;background:#7a2a1d}.btn--danger:hover:not(:disabled){background:#8f3424}.btn--ghost{color:#e8d9b5;background:0 0}.btn--ghost:hover:not(:disabled){background:#e8d9b51f}.tabs{background:#3a2a1a;gap:4px;padding:8px 14px 0;display:flex}.tabs__tab{font-variant:small-caps;letter-spacing:.12em;color:#b8a276;cursor:pointer;background:#2b1d12;border:1px solid #6f5a33;border-bottom:none;border-radius:6px 6px 0 0;padding:6px 16px;font-family:inherit;font-size:14px;transition:color .15s,background .15s}.tabs__tab.is-active{color:#2a2018;background:#e8d9b5;border-color:#b08d44}.auth{pointer-events:auto;background:radial-gradient(#2b1d128c,#140d08eb);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.auth__card{color:#2a2018;background:#e8d9b5;border:2px solid #b08d44;border-radius:10px;width:380px;padding:28px 30px 26px;box-shadow:0 14px 40px #0009}.auth__title{text-align:center;font-variant:small-caps;letter-spacing:.32em;color:#2a2018;margin:0;font-size:34px}.auth__subtitle{text-align:center;letter-spacing:.05em;color:#5d4c33;margin:6px 0 20px;font-size:13px;font-style:italic}.auth__tabs{border-bottom:2px solid #b08d44;margin-bottom:18px;display:flex}.auth__tab{font-variant:small-caps;letter-spacing:.14em;color:#5d4c33;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:8px 0;font-family:inherit;font-size:15px;transition:color .15s,border-color .15s}.auth__tab.is-active{color:#2a2018;border-bottom-color:#7a2a1d}.auth__form{flex-direction:column;gap:12px;display:flex}.auth__label{font-variant:small-caps;letter-spacing:.1em;color:#5d4c33;flex-direction:column;gap:4px;font-size:13px;display:flex}.auth__input{color:#2a2018;background:#f4ecd7;border:1px solid #b08d44;border-radius:4px;padding:8px 10px;font-family:inherit;font-size:15px}.auth__input:focus{outline-offset:-1px;outline:2px solid #7a2a1d}.auth__error{color:#7a2a1d;min-height:18px;margin:4px 0 0;font-size:13px;font-style:italic}.auth__submit{margin-top:6px;padding:10px;font-size:15px}.hud-stamina{pointer-events:none;background:#2b1d12;border:2px solid #b08d44;border-radius:7px;width:220px;height:14px;position:absolute;bottom:52px;left:18px;overflow:hidden}.hud-stamina__fill{background:#d9a441;height:100%;transition:width .15s,background .15s}.hud-stamina__fill.is-exhausted{background:#a33524}.hud-mount{pointer-events:none;letter-spacing:.08em;color:#e8d9b5;text-shadow:0 1px 3px #000c;font-size:13px;position:absolute;bottom:72px;left:18px}.hud-mount__gait{font-variant:small-caps;color:#c8b181}.hud-money{pointer-events:none;letter-spacing:.06em;color:#e8d9b5;background:#2b1d12;border:2px solid #b08d44;border-radius:6px;padding:5px 12px;font-size:16px;position:absolute;bottom:52px;right:18px}.hud-clock{pointer-events:none;letter-spacing:.1em;color:#e8d9b5;text-shadow:0 1px 3px #000c;text-align:right;font-size:13px;position:absolute;bottom:92px;right:18px}.hud-banner{pointer-events:none;font-variant:small-caps;letter-spacing:.28em;color:#e8d9b5;opacity:0;background:#2b1d12d9;border:2px solid #b08d44;border-radius:6px;padding:8px 26px;font-size:20px;transition:opacity .6s;position:absolute;top:36px;left:50%;transform:translate(-50%)}.hud-banner.is-visible{opacity:1;transition:opacity .15s}.hud-quest-hint{pointer-events:none;letter-spacing:.04em;color:#e8d9b5;text-shadow:0 1px 3px #000000d9;max-width:320px;font-size:13px;font-style:italic;position:absolute;top:18px;left:18px}.hud-controls{pointer-events:none;letter-spacing:.08em;color:#e8d9b5a8;text-shadow:0 1px 2px #000c;white-space:nowrap;font-size:11px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.minimap{background:#2b1d12;border:2px solid #b08d44;border-radius:10px;width:200px;height:200px;position:absolute;top:18px;right:18px;overflow:hidden;box-shadow:0 6px 18px #00000080}.minimap__canvas{width:100%;height:100%;display:block}.chat{pointer-events:auto;flex-direction:column;gap:4px;width:340px;display:flex;position:absolute;bottom:96px;left:18px}.chat__lines{flex-direction:column;gap:2px;max-height:180px;display:flex;overflow:hidden}.chat__line{color:#e8d9b5;text-shadow:0 1px 3px #000000d9;opacity:1;font-size:13px;transition:opacity .8s}.chat__line.is-faded{opacity:0}.chat:hover .chat__line{opacity:1}.chat__name{font-variant:small-caps;letter-spacing:.06em;color:#c8b181;margin-right:6px}.chat__line--self .chat__name{color:#d9a441}.chat__line--system{color:#b8a276;font-style:italic}.chat__input{color:#e8d9b5;opacity:0;pointer-events:none;background:#2b1d12eb;border:2px solid #b08d44;border-radius:5px;padding:6px 10px;font-family:inherit;font-size:13px;transition:opacity .15s}.chat.is-typing .chat__input{opacity:1;pointer-events:auto}.chat__input:focus{outline:none}.toasts{pointer-events:none;flex-direction:column;gap:8px;width:280px;display:flex;position:absolute;top:232px;right:18px}.toast{color:#2a2018;opacity:0;background:#e8d9b5;border:1px solid #b08d44;border-left-width:5px;border-radius:5px;padding:10px 14px;transition:transform .15s,opacity .15s;transform:translate(24px);box-shadow:0 4px 14px #00000073}.toast.is-in{opacity:1;transform:translate(0)}.toast.is-out{opacity:0;transform:translate(24px)}.toast--success{border-left-color:#4f6b3a}.toast--warn{border-left-color:#7a2a1d}.toast__title{font-variant:small-caps;letter-spacing:.1em;font-size:14px}.toast__body{color:#5d4c33;margin-top:2px;font-size:12px}.inventory{width:760px;max-width:92vw;height:520px;max-height:86vh;top:50%;left:50%;transform:translate(-50%,-50%)}.inventory__columns{flex:1;gap:14px;min-height:0;display:flex}.inventory__grid-wrap{flex:1.3;overflow-y:auto}.inventory__grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.inv-tile{aspect-ratio:1;cursor:pointer;background:#3a2a1a;border:2px solid #6f5a33;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.inv-tile:hover{border-color:#b08d44}.inv-tile.is-selected{border-color:#e8d9b5;box-shadow:0 0 0 1px #e8d9b5}.inv-tile.is-equipped{border-color:#d9a441;box-shadow:0 0 6px #d9a4418c}.inv-tile__glyph{font-variant:small-caps;letter-spacing:.05em;color:#e8d9b5;background:#5d4c33;border-radius:4px;justify-content:center;align-items:center;width:70%;height:70%;font-size:17px;display:flex}.inv-tile--saddle .inv-tile__glyph,.inv-tile--bridle .inv-tile__glyph,.inv-tile--horseshoes .inv-tile__glyph,.inv-tile--saddlebag .inv-tile__glyph{background:#6b4f3a}.inv-tile--hat .inv-tile__glyph,.inv-tile--coat .inv-tile__glyph,.inv-tile--boots .inv-tile__glyph,.inv-tile--gloves .inv-tile__glyph,.inv-tile--bandana .inv-tile__glyph{background:#4a5a4a}.inv-tile--tool .inv-tile__glyph{background:#50575f}.inv-tile--consumable .inv-tile__glyph,.inv-tile--horse-care .inv-tile__glyph{background:#5a6b3a}.inv-tile--quest .inv-tile__glyph{background:#7a2a1d}.inv-tile--trinket .inv-tile__glyph{background:#71583e}.inv-tile__qty{color:#e8d9b5;background:#2b1d12d9;border-radius:3px;padding:0 4px;font-size:11px;position:absolute;bottom:2px;right:3px}.inventory__side{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.inventory__detail{color:#2a2018;background:#e8d9b5;border:1px solid #b08d44;border-radius:6px;flex:1;padding:14px;overflow-y:auto}.detail__name{font-variant:small-caps;letter-spacing:.12em;margin:0 0 6px;font-size:18px}.detail__desc{color:#5d4c33;margin:0 0 10px;font-size:13px;font-style:italic}.detail__price{margin:0 0 10px;font-size:13px}.detail__effects{color:#3e5a2e;margin:0 0 12px;padding:0;font-size:13px;list-style:none}.detail__actions{flex-direction:column;gap:6px;display:flex}.detail__empty{color:#5d4c33;font-size:13px;font-style:italic}.equip-strips{flex-direction:column;gap:6px;margin-top:12px;display:flex}.equip-strip{align-items:center;gap:6px;display:flex}.equip-strip__owner{font-variant:small-caps;letter-spacing:.1em;color:#b8a276;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;width:84px;font-size:12px;overflow:hidden}.equip-chip{color:#e8d9b5;cursor:pointer;text-align:left;background:#3a2a1a;border:1px solid #6f5a33;border-radius:4px;flex:1;min-width:0;padding:3px 6px;font-family:inherit;font-size:11px;transition:border-color .15s}.equip-chip:hover{border-color:#b08d44}.equip-chip__slot{font-variant:small-caps;letter-spacing:.08em;color:#b8a276;display:block}.equip-chip__item{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.equip-chip--empty .equip-chip__item{color:#6f5a33;font-style:italic}.stable{width:720px;max-width:92vw;height:540px;max-height:88vh;top:50%;left:50%;transform:translate(-50%,-50%)}.horse-card{color:#2a2018;background:#e8d9b5;border:1px solid #b08d44;border-radius:6px;margin-bottom:12px;padding:12px 14px;position:relative}.horse-card__top{align-items:center;gap:10px;margin-bottom:8px;display:flex}.horse-card__swatch{border:2px solid #b08d44;border-radius:50%;flex-shrink:0;width:26px;height:26px}.horse-card__name{font-variant:small-caps;letter-spacing:.1em;color:#2a2018;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:18px}.horse-card__name:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.horse-card__name-input{color:#2a2018;background:#f4ecd7;border:1px solid #b08d44;border-radius:3px;width:160px;padding:2px 6px;font-family:inherit;font-size:16px}.horse-card__breed{color:#5d4c33;font-size:13px;font-style:italic}.horse-card__ribbon{color:#e8d9b5;font-variant:small-caps;letter-spacing:.16em;background:#4f6b3a;border-radius:3px;padding:2px 8px;font-size:11px;position:absolute;top:10px;right:12px}.mini-bars{gap:14px;margin-bottom:8px;display:flex}.mini-bar{font-variant:small-caps;letter-spacing:.08em;color:#5d4c33;flex:1;align-items:center;gap:6px;font-size:11px;display:flex}.mini-bar__track{background:#cdbd97;border-radius:4px;flex:1;height:7px;overflow:hidden}.mini-bar__fill{border-radius:4px;height:100%}.mini-bar__fill--bond{background:#b08d44}.mini-bar__fill--health{background:#4f6b3a}.skill-rows{grid-template-columns:1fr 1fr;gap:4px 16px;margin-bottom:10px;display:grid}.skill-row{align-items:center;gap:8px;font-size:12px;display:flex}.skill-row__name{font-variant:small-caps;letter-spacing:.06em;color:#5d4c33;flex-shrink:0;width:78px}.skill-row__level{text-align:right;flex-shrink:0;width:18px}.skill-row__track{background:#cdbd97;border-radius:3px;flex:1;height:5px;overflow:hidden}.skill-row__fill{background:#7a5a2a;height:100%}.horse-card__actions{gap:8px;display:flex}.stable-shop{border-top:2px solid #b08d44;margin-top:6px;padding-top:12px}.stable-shop__title{font-variant:small-caps;letter-spacing:.16em;color:#e8d9b5;margin:0 0 10px;font-size:16px}.breed-card{cursor:pointer;background:#3a2a1a;border:2px solid #6f5a33;border-radius:6px;align-items:center;gap:12px;margin-bottom:6px;padding:8px 12px;transition:border-color .15s;display:flex}.breed-card:hover{border-color:#b08d44}.breed-card.is-selected{border-color:#e8d9b5}.breed-card__info{flex:1;min-width:0}.breed-card__name{font-variant:small-caps;letter-spacing:.1em;font-size:15px}.breed-card__desc{color:#b8a276;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:italic;overflow:hidden}.breed-card__stats{flex-direction:column;gap:1px;display:flex}.stat-dots{font-variant:small-caps;letter-spacing:.06em;color:#b8a276;align-items:center;gap:3px;font-size:9px;display:flex}.stat-dots__label{width:28px}.stat-dots__dot{background:#5d4c33;border-radius:50%;width:5px;height:5px}.stat-dots__dot.is-filled{background:#d9a441}.breed-card__price{color:#e8d9b5;white-space:nowrap;font-size:14px}.stable-shop__order{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.coat-swatches{gap:6px;display:flex}.coat-swatch{cursor:pointer;border:2px solid #6f5a33;border-radius:50%;width:24px;height:24px;padding:0;transition:border-color .15s}.coat-swatch.is-selected{border-color:#e8d9b5}.stable-shop__name-input{color:#2a2018;background:#f4ecd7;border:1px solid #b08d44;border-radius:4px;width:170px;padding:6px 10px;font-family:inherit;font-size:14px}.shop{width:620px;max-width:92vw;height:520px;max-height:86vh;top:50%;left:50%;transform:translate(-50%,-50%)}.shop__vendor-role{font-variant:normal;letter-spacing:.04em;color:#b8a276;margin-left:10px;font-size:12px;font-style:italic}.shop-row{color:#2a2018;background:#e8d9b5;border:1px solid #b08d44;border-radius:5px;align-items:center;gap:12px;margin-bottom:6px;padding:8px 12px;display:flex}.shop-row__info{flex:1;min-width:0}.shop-row__name{font-variant:small-caps;letter-spacing:.08em;font-size:14px}.shop-row__desc{color:#5d4c33;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:italic;overflow:hidden}.shop-row__price{white-space:nowrap;font-size:14px}.qty-stepper{align-items:center;gap:4px;display:flex}.qty-stepper__button{color:#e8d9b5;cursor:pointer;background:#3a2a1a;border:1px solid #b08d44;border-radius:3px;width:22px;height:22px;font-family:inherit;font-size:14px;line-height:1}.qty-stepper__button:disabled{opacity:.4;cursor:default}.qty-stepper__value{text-align:center;width:22px;font-size:13px}.shop__footer{letter-spacing:.08em;text-align:right;background:#3a2a1a;border-top:2px solid #b08d44;padding:8px 16px;font-size:15px}.shop__empty{color:#b8a276;font-size:13px;font-style:italic}.dialogue{pointer-events:auto;color:#2a2018;background:#e8d9b5;border:2px solid #b08d44;border-radius:8px;width:620px;max-width:90vw;padding:16px 22px;position:absolute;bottom:60px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000008c}.dialogue__speaker{font-variant:small-caps;letter-spacing:.18em;margin:0;font-size:17px}.dialogue__role{color:#5d4c33;margin:0 0 10px;font-size:12px;font-style:italic}.dialogue__text{margin:0 0 14px;font-size:14px;line-height:1.55}.dialogue__options{flex-direction:column;gap:5px;display:flex}.dialogue__option{text-align:left;color:#2a2018;cursor:pointer;background:#b08d4424;border:1px solid #b08d44;border-radius:4px;padding:7px 12px;font-family:inherit;font-size:13px;transition:background .15s}.dialogue__option:hover{background:#b08d4452}.dialogue__option-number{color:#7a2a1d;width:18px;display:inline-block}.quest-log{width:600px;max-width:92vw;height:540px;max-height:88vh;top:50%;left:50%;transform:translate(-50%,-50%)}.quest-entry{color:#2a2018;background:#e8d9b5;border:1px solid #b08d44;border-radius:6px;margin-bottom:10px;padding:12px 16px}.quest-entry__title{font-variant:small-caps;letter-spacing:.14em;margin:0 0 2px;font-size:17px}.quest-entry__stage{font-variant:small-caps;letter-spacing:.1em;color:#7a2a1d;margin:0 0 6px;font-size:13px}.quest-entry__journal{color:#4a3c28;margin:0 0 10px;font-size:13px;font-style:italic;line-height:1.5}.quest-entry__giver{color:#5d4c33;margin:8px 0 0;font-size:13px}.quest-entry__objectives{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.objective{align-items:baseline;gap:8px;font-size:13px;display:flex}.objective.is-done{color:#8a7a5c}.objective.is-done .objective__text{color:#8a7a5c;text-decoration:line-through}.objective__check{color:#4f6b3a;flex-shrink:0;width:16px;font-weight:700}.objective__count{color:#5d4c33;white-space:nowrap;margin-left:auto;font-size:12px}.quest-log__empty{color:#b8a276;font-size:13px;font-style:italic}.quest-entry__actions{margin-top:8px}
