/* Chotopia website design system. Loaded after structural styles on both
   public/account and staff layouts. Game renderer dimensions remain independent. */
.site-world {
    --ink:#2b5065; --muted:#617b82; --surface:#fff8e7; --surface-soft:#edf4e8;
    --line:#cadccf; --purple:#397d77; --purple-dark:#285f61; --purple-700:#315c6c;
    --blue:#77b7c4; --orange:#dfad50; --gold:#ffe29a;
    --paper:#fff8e7; --mint:#bcebd7; --rim:#8bbfc1; --night:#192d4c;
    --world-paper:var(--paper); --world-mint:var(--mint); --world-ink:var(--ink);
    --shadow:0 5px 0 #10283d55; --section-accent:#bcebd7;
    color-scheme:light; color:#e3eee6;
    background:#101343;
    isolation:isolate;
    font-family:'Trebuchet MS','Segoe UI',sans-serif;
}
/* One static decorative layer for every public, account and staff page.
   Native game rooms keep their own scene artwork and rendering dimensions. */
.site-world::before {
    content:'';
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:#101343 url('../images/worlds/website-space-v1.webp') center top / cover no-repeat;
}
@media(max-width:760px) {
    .site-world::before { background-position:left top; }
}
.site-world[data-section=market] { --section-accent:#ffe2a0; }
.site-world[data-section=support] { --section-accent:#cddfeb; }
.site-world[data-section=community] { --section-accent:#dfd5ed; }
.site-world :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #f4c260; outline-offset:4px; }
.site-world :is(button,.button,a,input,select,textarea) { -webkit-tap-highlight-color:transparent; }
.site-world :is(button,.button):disabled { opacity:.6; cursor:not-allowed; transform:none; }
.site-world :is(h1,h2,h3,h4) { text-wrap:balance; }
.site-world :is(main,.page-hero>div,.staff-titlebar>div,.form-grid>div,.staff-form-grid>div) { min-width:0; }
.site-world .site-header { position:relative; top:auto; width:min(calc(100% - 40px),1160px); margin:22px auto; border:2px solid #80b7bf55; border-radius:21px; background:#203b59; box-shadow:0 5px 0 #11253b55; backdrop-filter:none; }
.site-world .site-header__inner { width:100%; min-height:70px; gap:20px; padding:10px 15px; }
.site-world .brand img { width:163px; filter:none; }
.site-world .site-nav { gap:3px; }
.site-world .site-nav>a,.site-world .nav-menu__trigger { padding:10px 12px; color:#dcebe6; font-size:13px; border-radius:12px; }
.site-world .site-nav>a:hover,.site-world .nav-menu__trigger:hover,.site-world .nav-menu.is-open .nav-menu__trigger { background:#385873; border-color:#81b7b844; }
.site-world .site-nav>a.is-active,.site-world .nav-menu__trigger.is-active { color:#2c5562; background:var(--mint); border-color:var(--mint); box-shadow:0 3px 0 #122e44; }
.site-world .site-nav .nav-account { background:#ffe3a3; color:#5a583c; border:1px solid #dfc588; box-shadow:0 3px 0 #122e44; }
.site-world .site-nav>.nav-partner { margin:0 5px; border-color:#7c9c9e66; color:#dcebe6; background:#2b4a61; box-shadow:none; }
.site-world .nav-menu__panel { background:var(--paper); border:2px solid var(--rim); box-shadow:0 6px 0 #10283c66,0 15px 30px #10283c33; }
.site-world .nav-menu__panel a { color:var(--ink); }
.site-world .nav-menu__panel a:hover,.site-world .nav-menu__panel a:focus-visible { background:#dcefe2; color:#244d5a; }
.site-world .nav-menu__panel a small,.site-world .nav-menu__identity small { color:var(--muted); }
.site-world .nav-menu__identity { background:#d9efe0; border-color:#b7d2c6; }
.site-world .nav-menu__identity strong { color:var(--ink); }
.site-world .nav-menu__logout { border-color:#b7d2c6; }
.site-world .nav-menu__logout button { color:#843f44; background:#f6ddd6; }
.site-world .nav-toggle { color:var(--mint); background:#2b4c63; border-color:#80b7bf88; }
.site-world .site-main { width:min(calc(100% - 40px),1160px); min-height:calc(100dvh - 500px); padding:0 0 55px; }
.site-world .eyebrow { margin:0 0 9px; color:#a8d8cb; font-size:10px; font-weight:700; letter-spacing:1.6px; }
.site-world .section { margin-top:35px; }
.site-world .section-heading { margin-bottom:25px; }
.site-world .section-heading h2 { color:#fff8e7; font-size:32px; letter-spacing:-.7px; }
.site-world .section-heading>p:last-child { color:#bcd5cf; }
.site-world :is(.page-hero,.staff-titlebar) { position:relative; isolation:isolate; overflow:hidden; gap:28px; margin:0 0 28px; padding:37px 35px 31px; border:2px solid var(--rim); border-top-width:12px; border-top-color:var(--section-accent); border-radius:23px; background:var(--paper); box-shadow:var(--shadow); color:var(--ink); }
.site-world :is(.page-hero,.staff-titlebar)::after { position:absolute; z-index:-1; top:-65px; right:-8px; content:'\2727'; color:#b6d9ca55; font-size:245px; line-height:1; rotate:12deg; pointer-events:none; }
.site-world :is(.page-hero,.staff-titlebar) h1 { margin:0 0 12px; color:var(--ink); font:700 clamp(31px,4vw,47px)/1.08 'Trebuchet MS',sans-serif; letter-spacing:-1.3px; text-shadow:none; }
.site-world :is(.page-hero,.staff-titlebar) p:not(.eyebrow) { max-width:730px; margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
.site-world :is(.page-hero,.staff-titlebar) .eyebrow { color:#4b827e; font-size:9px; }
.site-world .page-hero--compact { padding-top:29px; padding-bottom:27px; }
.site-world .page-hero--compact h1 { font-size:36px; }
.site-world .button { min-height:44px; padding:11px 17px; border:2px solid #365d65; border-radius:12px; background:var(--mint); box-shadow:0 3px 0 #365d65; color:#2c535d; font-family:Trebuchet MS,Segoe UI,sans-serif; font-size:13px; font-weight:bold; line-height:1.3; text-align:center; text-shadow:none; text-decoration:none; transition:background .15s,transform .15s; }
.site-world .button:hover { color:#244d55; background:#d1f4e3; transform:translateY(-1px); }
.site-world .button:active { transform:translateY(2px); box-shadow:0 1px 0 #365d65; }
.site-world .button--secondary { background:#ffebba; border-color:#c4aa71; box-shadow:0 3px 0 #baa16c; color:#655c3c; }
.site-world .button--secondary:hover { background:#fff1ce; color:#655c3c; }
.site-world .button--ghost { border-color:#a9c6bd; background:#fff8e7; color:var(--ink); box-shadow:0 3px 0 #a9c6bd; }
.site-world .button--danger { border-color:#b27575; background:#f4d4cb; color:#833e44; box-shadow:0 3px 0 #b27575; }
.site-world .button--danger:hover { background:#ffe4dd; color:#833e44; }
.site-world .button--success { border-color:#639989; background:#c6ead1; color:#315e4e; box-shadow:0 3px 0 #639989; }
.site-world .button--small { min-height:37px; padding:8px 12px; font-size:11px; }
.site-world .button-row { gap:12px; }
/* Shared paper surfaces: all existing page families use these components. */
.site-world :is(.feature-card,.download-card,.faq-card,.account-card,.legal-card,.info-panel,.directory-card,.sitemap-card,.job-card,.auth-card,.security-notes,.catalog-card,.item-detail,.market-card,.market-detail,.market-filters,.balance-card,.citizenship-card,.exchange-card,.community-card,.poll-panel,.event-card,.status-incident,.support-message,.support-empty,.staff-panel,.staff-report-card,.santa-item-card,.timeline__item) {
    border:2px solid var(--rim); border-radius:21px; background:var(--paper); color:var(--ink); box-shadow:var(--shadow); backdrop-filter:none;
}
.site-world :is(.feature-card,.download-card,.faq-card,.account-card,.directory-card,.sitemap-card,.job-card,.info-panel,.security-notes,.community-card,.poll-panel,.citizenship-card,.balance-card) { padding:26px; }
.site-world :is(.info-panel,.feature-card,.faq-card,.download-card,.account-card,.community-card,.job-card,.security-notes,.auth-card,.staff-panel,.poll-panel,.citizenship-card,.balance-card,.legal-card) :is(h1,h2,h3,h4) { color:var(--ink); text-shadow:none; }
.site-world :is(.info-panel,.feature-card,.faq-card,.download-card,.account-card,.community-card,.job-card,.security-notes,.auth-card,.staff-panel,.poll-panel,.citizenship-card,.legal-card) p { color:var(--muted); }
.site-world :is(.info-panel,.feature-card,.faq-card,.download-card,.community-card,.job-card,.security-notes,.auth-card,.staff-panel,.poll-panel,.legal-card) .eyebrow { color:#548780; font-size:9px; }
.site-world :is(.info-panel,.faq-card,.legal-card,.community-card,.auth-card,.sitemap-card) a:not(.button) { color:#34756f; text-underline-offset:3px; }
.site-world :is(.feature-card__icon,.worlds-help__icon) { border:2px solid #84b6ad; border-radius:13px; background:#bcebd7; box-shadow:0 3px 0 #a8c9b8; color:#3c766e; }
.site-world .check-list li::before { color:#438773; }
.site-world :is(.page-hero,.info-panel,.auth-card,.staff-panel,.security-notes,.market-detail__body,.item-detail__body) .world-status { color:#42766a; }
.site-world .world-status span { background:#65a680; box-shadow:0 0 0 4px #65a68022; }
.site-world .account-grid { gap:22px; }
.site-world .account-card { position:relative; border-top:8px solid #bcebd7; }
.site-world .account-card:nth-child(2) { border-top-color:#ffe29a; }
.site-world .account-card:nth-child(3) { border-top-color:#d9ccea; }
.site-world .account-card>span { color:#547c7a; font-size:10px; }
.site-world .account-card strong { color:var(--ink); font-size:31px; letter-spacing:-.8px; }
.account-tool-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:30px; }
.site-world .account-tool-group { padding:0; overflow:hidden; }
.account-tool-group__header { padding:23px 24px 19px; border-bottom:1px solid #cadccf; background:#e7f1e2; }
.account-tool-group:nth-child(2) .account-tool-group__header { background:#fff0ca; }
.account-tool-group:nth-child(3) .account-tool-group__header { background:#eee7f3; }
.site-world .account-tool-group h2 { margin:0 0 7px; font-size:24px; letter-spacing:-.5px; }
.site-world .account-tool-group p { margin:0; font-size:12px; }
.account-tool-links { display:grid; padding:10px 16px 16px; }
.site-world .account-tool-links a { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; padding:10px 9px; border-bottom:1px dashed #d0ded0; color:#3c6970; font-size:12px; font-weight:bold; text-decoration:none; }
.account-tool-links a::after { content:'\2197'; color:#80a59a; }
.site-world .account-tool-links a:hover { border-radius:8px; background:#e5f1e3; color:#2d605d; }
.account-tool-links a:last-child { border-bottom:0; }
/* One set of form controls across sign-in, account, commerce and staff. */
.site-world input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),.site-world select,.site-world textarea { min-width:0; min-height:45px; padding:11px 13px; border:2px solid #aac8c2; border-radius:11px; background:#fffdf6; color:var(--ink); font:inherit; font-size:14px; box-shadow:inset 0 2px 0 #e2ece122; }
.site-world :is(input,select,textarea):focus { border-color:#4b9690; }
.site-world :is(input,textarea)::placeholder { color:#829b9d; opacity:1; }
.site-world :is(input[type=checkbox],input[type=radio],input[type=range]) { accent-color:#448a7d; }
.site-world textarea { min-height:125px; resize:vertical; }
.site-world label,.site-world .auth-form label { color:#426b74; font-size:12px; font-weight:bold; }
.site-world .auth-form { gap:10px; }
.site-world :is(.field-help,.table-note,.staff-form-note) { color:#66857f; font-size:11px; }
.site-world :is(.auth-card__note,.auth-card__note a) { color:#5e7a7d; font-size:11px; }
.site-world :is(.form-alert,.flash-message,.notice-box) { padding:15px 18px; border:2px solid #c9ad75; border-radius:13px; background:#fff0cc; box-shadow:0 3px 0 #15324822; color:#796038; font-size:13px; }
.site-world .form-alert,.site-world .flash-message--error { border-color:#c58c85; background:#fce7df; color:#8c4545; }
.site-world .flash-message--success { border-color:#80b3a0; background:#e3f2df; color:#396e5c; }
.site-world .flash-message { max-width:1120px; margin:0 auto 20px; }
.site-world .auth-shell { max-width:1040px; margin:30px auto 0; }
.site-world .auth-shell--arrival { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.95fr); align-items:stretch; justify-items:stretch; min-height:0; gap:0; overflow:hidden; border:3px solid var(--rim); border-radius:26px; background:#eaf3e3; box-shadow:var(--shadow); }
.site-world .auth-shell>.auth-card { width:100%; max-width:none; margin:0; padding:32px; border:0; border-radius:0; background:var(--paper); box-shadow:none; }
.site-world .auth-card__intro { margin:-32px -32px 24px; padding:27px 32px 22px; border-bottom:2px solid #a7c9be; background:#c8eada; }
.site-world .auth-card h1 { margin:0 0 12px; font:700 32px/1.08 'Trebuchet MS',sans-serif; letter-spacing:-.8px; }
.site-world .auth-card__intro>p:not(.eyebrow) { margin:0; font-size:13px; line-height:1.6; }
.account-arrival { position:relative; isolation:isolate; min-height:510px; padding:31px 28px; overflow:hidden; border-right:2px solid #8bbfc1; background:#2b26b1; color:#fff8df; }
.account-arrival::before { position:absolute; inset:0; z-index:-2; content:''; background:url('../images/worlds/arrival.webp') 18% center/auto 100% no-repeat; }
.account-arrival::after { position:absolute; inset:0; z-index:-1; content:''; background:linear-gradient(#202772aa,transparent 60%); }
.account-arrival .eyebrow { color:#d8f1df; font-size:8px; }
.account-arrival__title { max-width:320px; margin:14px 0 0; color:#fff8df; font-size:37px; font-weight:bold; line-height:1.05; letter-spacing:-1px; }
.account-arrival__cho { position:absolute; left:50%; bottom:74px; width:133px; height:249px; transform:translateX(-50%); z-index:2; object-fit:contain; }
.account-arrival__platform { position:absolute; left:50%; bottom:57px; width:236px; height:48px; transform:translateX(-50%); border:7px solid #ffe3a0; border-bottom-color:#e1b348; border-radius:50%; background:radial-gradient(ellipse,#e7fff0,#99dcda 56%,#5b9eaf 66%,#c7eadc 72%); box-shadow:0 6px 0 #c99642,0 12px 0 #8a6bad; }
.account-arrival__note { position:absolute; bottom:15px; left:15px; right:15px; margin:0; padding:8px 12px; border:1px solid #a9dbd1; border-radius:14px; background:#244c68e8; color:#e7f2dd; font-size:10px; text-align:center; }
/* Catalogs and market item displays form a consistent store, not plain lists. */
.site-world :is(.category-nav,.market-nav,.player-mode-toggle,.staff-tabs) { gap:7px; padding:9px; border:1px solid #86b8b177; border-radius:15px; background:#294963; box-shadow:0 3px 0 #11283d44; }
.site-world :is(.category-nav,.market-nav,.staff-tabs) a,.site-world .player-mode-toggle__option { min-height:37px; padding:9px 13px; border:1px solid transparent; border-radius:10px; background:transparent; color:#d5e8dd; font-size:12px; font-weight:bold; }
.site-world :is(.category-nav,.market-nav,.staff-tabs) a:is(:hover,.is-active),.site-world .player-mode-toggle__option:is(:hover,.is-active) { border-color:#b0d9c9; background:#bcebd7; color:#315e65; box-shadow:0 2px 0 #102b3f; }
.site-world .catalog-heading { align-items:center; margin:24px 0 18px; }
.site-world .catalog-heading h2 { color:#fff8e7; font-size:28px; }
.site-world .catalog-heading>span { padding:7px 12px; border:1px solid #8ab6ae77; border-radius:18px; background:#294b65; color:#c2ded1; font-size:11px; }
.site-world .catalog-grid { gap:22px; }
.site-world .catalog-card { overflow:hidden; }
.site-world :is(.catalog-card__preview,.item-detail__preview,.market-card__preview,.market-detail__preview) { position:relative; border-bottom:1px solid #bdd2c3; background:radial-gradient(ellipse at 50% 40%,#fffdf1 8%,#dfeddd 65%,#cce6d5); }
.site-world .catalog-card__preview>span { border:1px solid #c5b17d; background:#ffe7a9; color:#6b5d3c; }
.site-world .catalog-card__body { padding:21px; }
.site-world .catalog-card__body h3 { margin-top:0; color:var(--ink); font-size:20px; }
.site-world .catalog-card__body>strong { color:#3d7864; }
.site-world :is(.catalog-card__badges span,.market-card__time,.staff-badge,.application-status) { border:1px solid #b4cebd; background:#e3efdf; color:#486f68; }
.site-world :is(.catalog-card__badges .is-sold-out,.catalog-card__badges .is-sold-out,.market-card__legacy) { border-color:#d5b98c; background:#f8e9c8; color:#82633c; }
.site-world :is(.item-detail__body,.market-detail__body) { padding:33px; }
.site-world :is(.item-detail__body,.market-detail__body) :is(h1,h2) { color:var(--ink); font-family:'Trebuchet MS',sans-serif; letter-spacing:-1px; }
.site-world :is(.item-detail__body,.market-detail__body) .eyebrow { color:#54877d; }
.site-world .pagination a { min-width:37px; min-height:37px; padding:7px 11px; border:1px solid #91b9b0; border-radius:10px; background:#fff7e4; color:#3a6970; box-shadow:0 3px 0 #16354a55; }
.site-world .pagination a:is(.is-active,:hover) { border-color:#bcdfce; background:#bcebd7; color:#2f595c; }
.site-world .exchange-card { background:#f3f5e4; }
.site-world .exchange-card>span,.site-world .citizenship-card__price { color:#3c7d61; }
.site-world .download-card__platform { display:inline-grid; place-items:center; min-width:58px; height:48px; padding:0 12px; border:2px solid #9dbaad; border-radius:13px; background:#e4f0df; color:#4b7874; font-size:11px; font-weight:bold; }
/* Tables, conversations, community feeds and factual status states. */
.site-world .table-scroll { max-width:100%; border:1px solid #bbd2c3; border-radius:13px; }
.site-world .data-table { color:var(--ink); background:#fffdf3; font-size:12px; }
.site-world .data-table th { padding:14px 16px; background:#dcebdc; color:#416d70; font-size:10px; }
.site-world .data-table td { border-color:#d2dfd1; padding:14px 16px; }
.site-world .data-table tbody tr:nth-child(even) { background:#f0f4e7; }
.site-world .data-table a { color:#347a72; font-weight:bold; text-underline-offset:3px; }
.site-world .support-ticket-row { border-color:#d0ded0; border-radius:10px; color:var(--ink); }
.site-world .support-ticket-row:hover { background:#e7f0e1; }
.site-world .support-ticket-row__id { background:#dcebd9; color:#497970; border-radius:9px; }
.site-world .support-message { padding:24px; }
.site-world .support-message--staff { border-left:6px solid #82b9a5; background:#edf5e7; }
.site-world .support-message header { padding-bottom:13px; margin-bottom:14px; border-bottom:1px dashed #c6d8c9; }
.site-world .support-message header time { color:#6d8882; font-size:11px; }
.site-world .support-message>div { color:#4b6973; line-height:1.75; }
.site-world .ticket-status { border:1px solid #b4cebd; background:#deefdd; color:#447363; }
.site-world :is(.ticket-status--3,.ticket-status--4,.ticket-status--5) { border-color:#c8b898; background:#f4e8cf; color:#7d6844; }
.site-world .community-feed__item::before { background:#83b8a5; box-shadow:0 0 0 5px #83b8a522; }
.site-world .community-summary-list a { color:var(--ink); border-color:#cadccf; }
.site-world :is(.community-feed__meta,.community-summary-list span,.community-card>small) { color:#708d86; }
.site-world .poll-option { border-color:#bdd3c4; border-radius:12px; background:#edf3e4; color:var(--ink); }
.site-world .poll-result__bar { border:1px solid #a6c5b7; background:#e3ecda; }
.site-world .poll-result__bar span { background:#84c7b4; border-radius:inherit; }
.site-world .poll-result.is-selected strong { color:#357567; }
.site-world .event-card--official { border-top:6px solid #e3bf71; }
.site-world .event-card__date { border:2px solid #8fbcb1; border-radius:15px; background:#bcebd7; color:#315f68; box-shadow:0 3px 0 #a1c7b5; }
.site-world .event-card__date :is(strong,span) { color:inherit; }
.site-world .status-all-clear { border:2px solid #8eb79b; background:#dcefd8; color:#3d7357; }
.site-world .status-incident--warning { border-color:#d1b374; background:#fff0cc; }
.site-world .status-incident--critical { border-color:#c58c85; background:#fce7df; }
.site-world .status-feedback { border-color:#c3d6c7; background:#eff3e5; color:#5b7c76; }
.site-world .directory-card__avatar { border:2px solid #94bbae; background:#d6edda; color:#4b8078; box-shadow:0 3px 0 #b5d2bb; }
.site-world .directory-card--agent .directory-card__avatar { background:#ffe6ab; color:#8a743e; border-color:#d0b979; }
.site-world .directory-card__role { color:#3b7a70; }
.site-world .directory-card__age { color:#708c83; }
.site-world .job-card__openings { background:#dfeeda; color:#3f7764; border:1px solid #b8d0b9; }
.site-world .timeline::before { background:#83b5ae; }
.site-world .timeline__year { border:2px solid #90b9a9; border-radius:12px; background:#bcebd7; color:#365f65; box-shadow:0 3px 0 #a1bfaf; }
.site-world .timeline__item h3 { color:var(--ink); }
.site-world .timeline__item p { color:var(--muted); }
.site-world :is(.history-option,.sources-panel,.cta-panel) { border:2px solid var(--rim); border-radius:22px; background:#edf4e5; color:var(--ink); box-shadow:var(--shadow); }
.site-world :is(.history-option,.sources-panel,.cta-panel) :is(h2,h3) { color:var(--ink); }
.site-world :is(.history-option,.sources-panel,.cta-panel) p:not(.eyebrow) { color:var(--muted); }
.site-world :is(.history-option,.sources-panel,.cta-panel) :is(a,.eyebrow) { color:#39796f; }
.site-world .history-option:hover { background:#dceedd; color:#326c66; }
.site-world .cta-panel .button { color:#315b64; }
.site-world :is(.empty-state,.empty-catalog,.staff-empty-state) { padding:40px 28px; border:2px dashed #96bdb5; border-radius:23px; background:#ecf2e4; color:var(--ink); }
.site-world :is(.empty-state,.empty-catalog,.staff-empty-state)>span { color:#86b6a3; }
.site-world :is(.empty-state,.empty-catalog,.staff-empty-state) :is(h1,h2) { color:var(--ink); }
.site-world :is(.empty-state,.empty-catalog,.staff-empty-state) p { color:var(--muted); }
/* Classic player wrapper: shared website chrome, original game viewport. */
.site-world .player-card { border:3px solid var(--rim); border-radius:22px; background:#294d68; box-shadow:var(--shadow); }
.site-world .player-card__header { padding:23px 25px; border-bottom:2px solid #8ebfba; background:#d7ebdd; color:var(--ink); }
.site-world .player-card__header h2 { margin:0 0 7px; color:var(--ink); font-size:23px; }
.site-world .player-card__header p { margin:0; color:var(--muted); font-size:12px; }
.site-world .player-stage { border-radius:0; }
.site-world .player-card__help { padding:22px 25px; border-top:2px solid #93bcb1; background:var(--paper); color:var(--ink); }
.site-world .player-card__help h3 { color:var(--ink); }
.site-world .player-card__help p { color:var(--muted); }
.site-world .player-stage p { color:#d5e8df; }
.site-world .player-stage p a { color:#bcebd7; text-underline-offset:3px; }
/* Staff shares the palette and components, with denser operational layouts. */
.site-world.staff-body { --content:1380px; background:radial-gradient(ellipse at 0 0,#345d7580,transparent 50%),#192d4c; }
.site-world .staff-header { width:min(calc(100% - 40px),1380px); margin:20px auto; border:2px solid #80b7bf55; border-radius:19px; background:#203b59; box-shadow:var(--shadow); }
.site-world .staff-header__inner { width:100%; min-height:75px; flex-wrap:wrap; gap:15px 23px; padding:16px 20px; }
.site-world .staff-brand img { width:130px; height:auto; }
.site-world .staff-brand span { padding:5px 9px; border:1px solid #b9d3bf; border-radius:8px; background:#bcebd7; color:#355f62; font-size:10px; }
.site-world .staff-nav { order:3; width:100%; gap:6px; padding-top:12px; border-top:1px solid #82afa966; overflow-x:auto; flex-wrap:nowrap; justify-content:flex-start; }
.site-world .staff-nav a { flex:none; padding:8px 12px; border:1px solid #7c9f9d55; border-radius:9px; background:#294a62; color:#d4e7de; font-size:11px; }
.site-world .staff-nav a:is(.is-active,:hover) { border-color:#bcdfce; background:#bcebd7; color:#315e65; }
.site-world .staff-header__account { margin-left:auto; }
.site-world .staff-header__account small { color:#accbbf; }
.site-world .staff-main { width:min(calc(100% - 40px),1380px); padding:0 0 45px; }
.site-world .staff-titlebar { padding:27px 30px; }
.site-world .staff-titlebar h1 { font-size:34px; }
.site-world .staff-stat-grid { gap:16px; }
.site-world .staff-stat-grid> :is(a,div) { min-width:0; padding:21px; border:2px solid #88b9b6; border-top:7px solid #bcebd7; border-radius:17px; background:var(--paper); color:var(--ink); box-shadow:0 4px 0 #10283d55; }
.site-world .staff-stat-grid> :is(a,div):nth-child(even) { border-top-color:#ffe29a; }
.site-world .staff-stat-grid strong { color:var(--ink); font-size:29px; }
.site-world .staff-stat-grid span { color:#658279; font-size:10px; }
.site-world .staff-stat-grid>.is-alert { border-top-color:#db9c89; background:#fff0e2; }
.site-world .staff-stat-grid>a:hover { background:#eaf3e3; }
.site-world .staff-panel { padding:24px; }
.site-world .staff-tool-card { border:2px solid var(--rim); border-radius:20px; background:var(--paper); color:var(--ink); box-shadow:var(--shadow); }
.site-world .staff-tool-card:hover { background:#e8f2e2; transform:translateY(-2px); }
.site-world .staff-tool-card>span { color:#5b8c81; }
.site-world .staff-tool-card :is(h2,strong) { color:var(--ink); }
.site-world .staff-tool-card :is(p,small) { color:var(--muted); }
.site-world .staff-panel-heading a,.site-world .staff-panel .data-table a { color:#347a72; }
.site-world :is(.staff-form-note,.staff-empty-copy,.staff-form-note p,.staff-history time,.staff-activity-list time,.staff-activity-list span) { color:#67857c; }
.site-world :is(.staff-detail-grid>div,.staff-quick-links a,.staff-application-answers article,.staff-security-note,.staff-report-content,.staff-check-fieldset,.staff-inline-security,.staff-sensitive-confirm) { border-color:#c4d9c8; border-radius:12px; background:#edf3e4; color:var(--ink); }
.site-world .staff-quick-links a:hover { background:#dcebd9; }
.site-world .staff-quick-links a span { color:var(--muted); }
.site-world :is(.staff-detail-grid dt,.staff-inline-edit summary,.staff-report-card summary small,.staff-report-card summary time) { color:#648277; }
.site-world .staff-badge--success { border-color:#a0c9ad; background:#deefda; color:#346951; }
.site-world .staff-badge--warning { border-color:#d1b777; background:#fff0c8; color:#7d6338; }
.site-world .staff-badge--danger { border-color:#c58c85; background:#f8e0d9; color:#8b4446; }
.site-world .staff-panel--sensitive { border-color:#c9958e; background:#fff0e7; }
.site-world .staff-login-shell { max-width:490px; }
.site-world .staff-login-shell>.auth-card { overflow:hidden; border:2px solid var(--rim); border-radius:22px; }
.site-world .staff-check-grid label { background:#fffcf1; }
.site-world .staff-ticket-table tr.is-past-due { background:#ffead8; }
/* Footer shared by every public and account page. */
.site-world .site-footer { width:min(calc(100% - 40px),1160px); margin:0 auto; border-top:1px solid #8bb3b244; background:none; }
.site-world .site-footer__inner { width:100%; padding-top:35px; gap:25px 40px; }
.site-world .site-footer__nav h2 { color:#a6cdc3; font-size:10px; text-transform:uppercase; letter-spacing:1.2px; }
.site-world .site-footer__nav a,.site-world .site-footer__documents a { color:#d3e4df; font-size:11px; }
.site-world .site-footer p { color:#a4bec2; font-size:11px; }
.site-world .site-footer__documents { border-color:#8bb3b233; }
.site-world.fullscreen-page { min-width:0; background:#000; }
.site-world.fullscreen-page .site-main { width:100%; min-height:0; margin:0; padding:0; }
@media(max-width:1040px) {
    .site-world .site-header__inner { min-height:64px; }
    .site-world .site-nav { background:#203b59; border:2px solid #709fa5; border-radius:17px; }
    .site-world .site-nav>.nav-partner { margin:4px 0; }
    .site-world .account-tool-groups { gap:17px; }
    .account-tool-group__header { padding:21px 19px 17px; }
    .site-world .account-tool-group h2 { font-size:21px; }
}
@media(max-width:850px) {
    .site-world .auth-shell--arrival { grid-template-columns:minmax(0,.8fr) minmax(340px,1fr); }
    .account-arrival { padding:26px 22px; }
    .account-arrival__title { font-size:31px; }
    .site-world .page-hero { flex-wrap:wrap; }
    .site-world .account-tool-groups { grid-template-columns:1fr; }
    .site-world .account-tool-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
}
@media(max-width:680px) {
    .site-world .site-header { width:calc(100% - 28px); margin:14px auto 19px; border-radius:18px; }
    .site-world .site-header__inner { padding:8px 12px; }
    .site-world .brand img { width:145px; }
    .site-world .site-main { width:calc(100% - 28px); padding-bottom:35px; min-height:0; }
    .site-world :is(.page-hero,.staff-titlebar) { flex-direction:column; align-items:stretch; gap:20px; padding:25px 23px; border-top-width:9px; border-radius:20px; }
    .site-world :is(.page-hero,.staff-titlebar) h1,.site-world .page-hero--compact h1 { font-size:30px; letter-spacing:-.8px; }
    .site-world :is(.page-hero,.staff-titlebar) p:not(.eyebrow) { font-size:13px; }
    .site-world .page-hero .button-row { margin-top:0; }
    .site-world .section { margin-top:27px; }
    .site-world :is(.info-panel,.auth-card,.feature-card,.faq-card,.account-card,.staff-panel,.security-notes,.legal-card) { padding:23px; border-radius:19px; }
    .site-world .auth-shell { margin-top:0; }
    .site-world .auth-shell--arrival { grid-template-columns:1fr; border-radius:22px; }
    .account-arrival { min-height:235px; border-right:0; border-bottom:2px solid #8bbfc1; }
    .account-arrival::before { background-position:20% 65%; background-size:cover; }
    .account-arrival__title { max-width:170px; font-size:29px; }
    .account-arrival__cho { left:74%; bottom:48px; width:75px; height:141px; }
    .account-arrival__platform { left:74%; bottom:36px; width:129px; height:28px; border-width:4px; box-shadow:0 4px 0 #c99642,0 8px 0 #8a6bad; }
    .account-arrival__note { bottom:9px; padding:6px 9px; font-size:9px; }
    .site-world .auth-shell>.auth-card { padding:25px; border:0; border-radius:0; }
    .site-world .auth-card__intro { margin:-25px -25px 23px; padding:24px 25px 21px; }
    .site-world .auth-card h1 { font-size:29px; }
    .site-world .staff-login-shell>.auth-card { border:2px solid var(--rim); border-radius:20px; }
    .site-world .account-card strong { font-size:28px; }
    .site-world .account-tool-group { padding:0; }
    .site-world .account-tool-links { grid-template-columns:1fr; }
    .site-world .catalog-grid { gap:18px; }
    .site-world .catalog-card__body { padding:19px; }
    .site-world :is(.item-detail__body,.market-detail__body) { padding:24px; }
    .site-world .player-card__header,.site-world .player-card__help { padding:21px; flex-direction:column; align-items:stretch; gap:16px; }
    .site-world .player-card__actions { flex-wrap:wrap; gap:10px; }
    .site-world .player-mode-toggle { flex-wrap:wrap; }
    .site-world .staff-header,.site-world .staff-main { width:calc(100% - 28px); }
    .site-world .staff-header__inner { flex-direction:row; align-items:center; padding:14px; }
    .site-world .staff-header__account { flex-direction:row; align-items:center; gap:10px; font-size:11px; }
    .site-world .staff-brand img { width:105px; }
    .site-world .staff-brand span { font-size:8px; padding:4px 6px; }
    .site-world .staff-header__account .button { min-height:32px; padding:6px 8px; font-size:10px; }
    .site-world .staff-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .site-world .staff-stat-grid> :is(a,div) { padding:16px; }
    .site-world .staff-stat-grid strong { font-size:25px; }
    .site-world .staff-user-sidebar,.site-world .staff-ticket-sidebar { min-width:0; }
    .site-world .staff-registration-actions { min-width:200px; }
    .site-world .site-footer { width:calc(100% - 40px); }
    .site-world .site-footer__inner { gap:25px; }
    .site-world .site-footer__brand { text-align:left; }
    .site-world .site-footer__brand img { margin:0; }
    .site-world .site-footer__nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 20px; }
    .site-world.fullscreen-page .site-main { width:100%; padding:0; }
}
@media(prefers-reduced-motion:reduce) {
    .site-world .button,.site-world .staff-tool-card { transition:none; transform:none!important; }
}
.site-world .world-status span.is-offline { background:#c78175; box-shadow:0 0 0 4px #c7817522; }
.site-world .form-alert--success { border-color:#80b3a0; background:#e3f2df; color:#396e5c; }
.site-world .ticket-status--4 { border-color:#c58c85; background:#f8e0d9; color:#8b4446; }
.site-world .ticket-status--5 { border-color:#a0c9ad; background:#deefda; color:#346951; }
.site-world.worlds-home .site-main { min-height:0; }
.site-world .robot-bonus-grid>div { border:1px solid #bed4c1; background:#e7f0df; color:#4d756b; }
.site-world .robot-team-color { border-color:#fff3d5; box-shadow:0 3px 0 #789b8e55; }
.site-world .team-editor summary,.site-world .ranking-list li::marker { color:#468375; }
.site-world .activity-chart__row>div { border:1px solid #b4cdbb; background:#e0ecd9; }
.site-world .activity-chart__row i { background:#82bda9; }
.site-world .santa-item-card.is-selected { border-color:#d7b362; box-shadow:0 0 0 3px #ffe29a55,0 4px 0 #10283d55; }
.site-world .breadcrumbs { color:#aecdc5; font-size:11px; }
.site-world .breadcrumbs a { color:#d3e9df; }
.site-world .text-link,.site-world .timeline a { color:#397d73; }
.site-world .proof-strip { border-color:#85b6b177; background:#294b65; box-shadow:0 4px 0 #12293c55; }
.site-world .proof-strip a { background:#294b65; }
.site-world .proof-strip a:hover { background:#355e74; }
.site-world .proof-strip strong { color:#ffe4a1; }
.site-world .proof-strip span { color:#bed7cf; }

/* Staff / agent directory: native equipped Chos on a stable shared platform. */
.site-world .directory-card--portrait { display:flex; flex-direction:column; align-items:stretch; overflow:hidden; padding:0; gap:0; text-align:center; }
.directory-portrait { position:relative; height:244px; isolation:isolate; overflow:hidden; border-bottom:2px solid #b5cebf; background:radial-gradient(ellipse at 50% 45%,#fffcf0,#deeddd 65%,#cfe7d8); }
.directory-card--agent .directory-portrait { background:radial-gradient(ellipse at 50% 45%,#fffdf1,#fff0c4 65%,#f2e2ae); }
.directory-portrait__orbit { position:absolute; top:15px; left:50%; width:190px; height:195px; transform:translateX(-50%) rotate(-12deg); border:2px solid #a5cdbb88; border-radius:50%; }
.directory-portrait__platform { position:absolute; left:50%; bottom:35px; width:173px; height:35px; transform:translateX(-50%); border:5px solid #ffe4a5; border-bottom-color:#d6b062; border-radius:50%; background:radial-gradient(ellipse,#e7fff0,#a3dcd3 55%,#639eaa 67%,#c3e7d9 73%); box-shadow:0 4px 0 #c39950,0 8px 0 #9b85b0; }
.site-world .directory-portrait__image { position:absolute; z-index:1; left:50%; bottom:51px; width:calc(100% - 24px); max-width:280px; height:181px; transform:translateX(-50%); object-fit:contain; object-position:50% 100%; border:0; border-radius:0; box-shadow:none; background:none; opacity:.45; }
.directory-portrait[data-ready] .directory-portrait__image { opacity:1; }
.directory-portrait[data-unavailable] .directory-portrait__image { opacity:.6; }
.directory-portrait__wave { position:absolute; z-index:2; bottom:10px; left:50%; display:flex; align-items:center; justify-content:center; gap:12px; min-height:27px; padding:5px 13px; transform:translateX(-50%); border:1px solid #88b5a7; border-radius:16px; background:#fff9e7; color:#48786f; font:bold 10px/1.2 'Trebuchet MS',sans-serif; white-space:nowrap; cursor:pointer; }
.directory-portrait__wave:enabled:hover { background:#c6edda; }
.site-world .directory-portrait__wave:disabled { transform:translateX(-50%); }
.site-world .directory-card__identity { padding:23px 20px 24px; }
.site-world .directory-card__identity h2 { margin:0 0 10px; color:#2b5065; font-size:25px; line-height:1.1; letter-spacing:-.5px; overflow-wrap:anywhere; }
.site-world .directory-card__identity .directory-card__role { display:inline-block; margin:0; padding:6px 11px; border:1px solid #b0cdbc; border-radius:9px; background:#e2efdf; color:#457367; font-size:11px; }
.site-world .directory-card--agent .directory-card__role { border-color:#d0bd89; background:#fff0c9; color:#7d683f; }
.site-world .directory-card__identity .directory-card__age { margin:14px 0 0; color:#6d8881; font-size:11px; }

/* Original item artwork, rendered in a shared browser worker. */
.shop-art{position:relative;display:flex;width:100%;height:100%;min-height:170px;align-items:center;justify-content:center;isolation:isolate}
.shop-art__content{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%;min-height:inherit;padding:14px;gap:8px}
.shop-art__drawing{display:block;width:100%;height:100%;max-height:240px;object-fit:contain;filter:drop-shadow(0 6px 2px #284f5425)}
.shop-art__loading{font-size:.8rem;color:#52787b}
.shop-art__ticket{display:grid;place-items:center;width:100px;height:80px;border:3px solid #ba913d;border-radius:17px;background:#ffe6a0;box-shadow:0 5px #b99552;transform:rotate(-7deg);font-size:3rem;color:#37666a}
.shop-art__label{font-weight:800;color:#345f62}
.site-world .catalog-card__preview{background:radial-gradient(ellipse at 50% 80%,#9fd6ca55 0 27%,transparent 28%),linear-gradient(150deg,#e4f5eb,#fff8e7);height:220px;padding:0;overflow:hidden}
.site-world .catalog-card__preview>.shop-art{height:220px;width:100%;border:0;border-radius:0;background:transparent;font-size:1rem;display:flex}
.catalog-card__preview .shop-art__drawing{width:100%;height:190px}
.item-detail__preview .shop-art__drawing{width:100%;height:340px}
.item-detail__preview>.shop-art{min-height:340px}
.item-detail__preview .shop-art__drawing{max-height:340px}
.cart-item>.shop-art{width:70px;height:70px;min-height:70px;flex:none}
.cart-item .shop-art__content{padding:3px}.cart-item .shop-art__ticket{width:50px;height:40px;font-size:1.5rem}.cart-item .shop-art__label,.cart-item .shop-art__loading{font-size:.65rem}
/* Service health belongs to each world; account totals describe the community. */
.world-health{margin-bottom:30px}
.world-health__heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0}
.world-health__heading h1{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 8px;color:#fff8e7}
.world-health__heading p{margin:0;color:#bfd6db}.world-health__heading .eyebrow{color:#bcebd7;margin-bottom:10px}
.world-health__servers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.world-health__server{border:2px solid #588b8e;border-radius:24px;overflow:hidden;background:#fff8e7;color:#284f54;box-shadow:0 8px #102a3c60}
.world-health__art{height:195px;position:relative;overflow:hidden;background:#163b62}
.world-health__art img{width:100%;height:100%;object-fit:cover;object-position:center}
.world-health__badge{position:absolute;bottom:14px;left:18px;display:flex;align-items:center;gap:8px;padding:8px 15px;border:2px solid #41696a;border-radius:30px;background:#edf3ef;color:#456060;font-size:.85rem;font-weight:800;box-shadow:0 3px #183e4c30}
.world-health__badge:before{content:'';width:9px;height:9px;border-radius:50%;background:#7c9090}
[data-state=online] .world-health__badge{background:#c2efcf;color:#245e3b}[data-state=online] .world-health__badge:before{background:#20a650}
[data-state=offline] .world-health__badge{background:#ffe0cd;color:#8d4934}[data-state=offline] .world-health__badge:before{background:#cc6445}
[data-state=upcoming] .world-health__badge{background:#ffe8a7;color:#71572d}
.world-health__body{padding:24px 28px}.world-health__body h2{color:#284f54;font-size:1.75rem;margin:0 0 16px}.world-health__body .eyebrow{color:#537f7b}
.world-health__players{display:flex;align-items:baseline;gap:12px}.world-health__players strong{font-size:3rem;color:#294f55;line-height:1.2}.world-health__players span{font-weight:700;color:#507579}
.world-health__note{font-size:.85rem;line-height:1.6;color:#59777a;margin:16px 0 0}
.world-health__details{display:flex;gap:30px;margin:14px 0 0;padding-top:12px;border-top:1px dashed #a3c5b9}.world-health__details div{display:grid;gap:4px}.world-health__details dt{font-size:.75rem;color:#607a77}.world-health__details dd{margin:0;font-weight:800}
.world-health__community{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid #5b8a89;border-radius:20px;background:#c8ebdf;margin-top:24px;overflow:hidden;color:#345e60}
.world-health__community>div{display:grid;gap:5px;padding:20px 24px}.world-health__community>div+div{border-left:1px dashed #82b3a5}.world-health__community strong{font-size:1.8rem;color:#294f55}.world-health__community .world-health__service{font-size:1.2rem;align-self:center}.world-health__community small{color:#547a76;font-size:.75rem}
.world-health__freshness,.world-health__caption{font-size:.8rem;color:#bdd7dc;margin:17px 3px 0;line-height:1.6}.world-health__caption{margin-top:4px;color:#a6c4cb}
@media(max-width:650px){.world-health__servers{grid-template-columns:1fr}.world-health__heading{align-items:start;flex-direction:column}.world-health__community{grid-template-columns:1fr}.world-health__community>div+div{border-left:0;border-top:1px dashed #82b3a5}.world-health__art{height:175px}.world-health__body{padding:20px}.world-health__community>div{padding:16px 20px}.item-detail__preview>.shop-art{min-height:240px}}

.account-arrival__cho{width:200px;object-position:center bottom}
@media(max-width:680px){.account-arrival__cho{width:120px}}
