:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif;color:#202124;background:#eceef1;font-synthesis:none;--background:#f5f5f7;--text:#202124;--muted:#87888d;--blue:#007aff;--line:#eeeef1;--green:#218957;--orange:#9c6d15;--red:#c74742}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:default;opacity:.42}a{color:var(--blue);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.25;letter-spacing:-.7px;font-weight:700}h2{font-size:16px;font-weight:600}h3{font-size:15px;font-weight:600}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9fcaff;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:0}.phone-shell{position:relative;max-width:480px;min-height:100dvh;margin:auto;background:var(--background);padding:env(safe-area-inset-top) 0 calc(84px + env(safe-area-inset-bottom))}.topbar{padding:28px 20px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-size:11px;letter-spacing:.8px;color:var(--muted);margin-bottom:6px}.icon-button{height:44px;width:44px;border-radius:50%;background:#e8f1ff;color:var(--blue);font-size:28px;font-weight:300;display:grid;place-items:center}.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;color:var(--blue);background:transparent;font-size:13px;white-space:nowrap}main{padding:0 16px}.section-heading{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:0 4px;color:var(--muted);font-size:12px}.session-list{display:flex;flex-direction:column;gap:12px}.session-card{background:#fff;border-radius:18px;padding:17px 16px 15px;min-width:0}.account-head{display:flex;align-items:center;gap:11px}.avatar{width:42px;height:42px;flex:none;border-radius:13px;display:grid;place-items:center;background:#edf3fe;color:#467aaa;font-size:18px;font-weight:600}.account-copy{min-width:0;flex:1}.account-name{font-size:16px;font-weight:600;overflow-wrap:anywhere;letter-spacing:-.2px}.account-meta{color:var(--muted);font-size:11px;margin-top:3px;display:flex;gap:7px;align-items:center}.status-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#a3a5aa}.status-dot.green{background:#38a56a}.status-dot.orange{background:#d7a047}.status-dot.red{background:#cd605f}.account-more{width:36px;min-height:44px;background:transparent;color:#b0b2b8;font-size:26px}.account-runtime{display:flex;align-items:center;gap:8px;margin:16px 0 12px;font-size:12px;min-height:21px}.runtime-text{color:var(--muted);font-size:11px;min-width:0;overflow-wrap:anywhere}.pill{display:inline-flex;align-items:center;flex:none;border-radius:6px;font-size:10px;line-height:1.5;padding:3px 6px;color:#777b84;background:#f1f2f5;white-space:nowrap}.pill.green{background:#eaf7f0;color:var(--green)}.pill.blue{background:#ecf4ff;color:#3978bd}.pill.orange{background:#fff5e4;color:var(--orange)}.pill.red{background:#fcefed;color:var(--red)}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 17px;border-radius:12px;font-size:14px;font-weight:550;line-height:1.4}.button.primary{background:var(--blue);color:#fff}.button.secondary{background:#edf1f7;color:#4273a8}.button.danger{background:#f4f4f7;color:#696c76}.button.full-width{width:100%}.button:active:not(:disabled){transform:scale(.99)}.account-run{width:100%;min-height:42px;border-radius:10px;font-size:13px}.home-caption{font-size:11px;color:#93959d;padding:20px 12px;text-align:center}.page-footer{padding:8px 4px 14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:10px;color:#a3a5ad}.service-status{display:flex;align-items:center;gap:5px}.service-status i{width:4px;height:4px;border-radius:50%;background:#b2b4ba}.service-status.online i{background:#64b28b}.service-status.offline i{background:#d28b68}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:grid;grid-template-columns:repeat(3,1fr);padding:7px 16px calc(8px + env(safe-area-inset-bottom));background:rgba(250,250,252,.94);backdrop-filter:blur(18px);border-top:1px solid #e7e7eb}.bottom-nav button{min-height:49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;color:#90939b;font-size:10px}.bottom-nav svg{height:23px;width:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.bottom-nav button[aria-current=page]{color:var(--blue)}.notice{padding:11px 12px;border-radius:10px;font-size:12px;line-height:1.7;overflow-wrap:anywhere;margin:10px 0}.notice.info{background:#eaf3ff;color:#496c99}.notice.error{background:#fff0ed;color:#a95346}.notice.success{background:#eaf6ef;color:#427c59}.empty-state{background:#fff;border-radius:18px;padding:42px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;color:var(--muted);font-size:12px}.empty-state h3{color:#555c66;font-size:16px}.empty-icon{font-size:40px;font-weight:200;color:#a5bdd8;margin-bottom:7px}.empty-state .button{margin-top:9px}.screen-dialog{position:fixed;inset:0;width:100%;max-width:480px;height:100dvh;max-height:100dvh;margin:0 auto;padding:env(safe-area-inset-top) 0 0;border:0;background:var(--background);color:var(--text);overflow:hidden}.screen-dialog[open]{display:flex;flex-direction:column}.screen-dialog::backdrop{background:#1d25345c}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;min-height:60px;padding:8px 16px;background:rgba(250,250,252,.97);border-bottom:1px solid #e9eaed}.screen-header h2{font-size:16px;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-header>.text-button,.header-spacer{width:55px;flex:none}.screen-header>.text-button:first-child{justify-content:flex-start}.screen-header>.text-button:last-child{justify-content:flex-end}.screen-identity{text-align:center;font-size:11px;color:var(--muted);padding:12px 16px 7px;overflow-wrap:anywhere;flex:none}.screen-content{padding:16px;overflow:auto;min-height:0;flex:1;overscroll-behavior:contain}.screen-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e7e7ed;flex:none;background:#fafafc}.screen-footer .button{width:100%}.screen-dialog>.notice{margin:10px 16px 0;flex:none}.segmented{margin:6px 16px 0;display:flex;padding:3px;background:#e9e9ed;border-radius:10px;flex:none}.segmented button{flex:1;min-height:33px;background:transparent;color:#6f737d;font-size:12px;border-radius:8px}.segmented button[aria-current=page]{background:#fff;color:#26282e;box-shadow:0 1px 3px #00000012}.login-body{padding:24px;overflow:auto}.login-intro{text-align:center;margin:12px 0 34px}.login-symbol{display:grid;place-items:center;margin:auto auto 18px;width:62px;height:62px;border-radius:19px;background:#e8f0ff;color:#73a4df;font-size:43px;font-weight:200}.login-intro h3{font-size:22px;font-weight:600;letter-spacing:-.5px}.login-intro p{font-size:12px;color:var(--muted);margin-top:8px}.input-group{display:flex;align-items:center;gap:12px;background:#fff;padding:7px 14px;min-height:57px;border-bottom:1px solid var(--line)}.input-group:first-child{border-radius:13px 13px 0 0}.input-group:nth-child(2){border-radius:0 0 13px 13px;border-bottom:0}.input-group label{font-size:13px;flex:none}.input-group input{width:100%;min-width:0;min-height:42px;font-size:16px;color:var(--text);border:0;background:transparent;outline-offset:0}.input-group input::placeholder{color:#b0b1b7;font-size:14px}.input-group .text-button{font-size:12px}.field-hint{font-size:11px;color:#92949c;margin:12px 2px 25px}.login-body .notice{margin-top:16px}.account-picker{margin:12px 0 16px;display:flex;align-items:center;gap:9px;background:#fff;border-radius:11px;padding:4px 12px;min-height:45px}.account-picker label{font-size:11px;color:var(--muted);flex:none}.account-picker select{font-size:13px;border:0;background:transparent;color:var(--text);min-height:40px;width:100%;min-width:0;padding:7px 4px}.content-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 3px 10px}.content-heading h3{font-size:13px}.content-heading p,.content-heading>span{font-size:11px;color:var(--muted)}.plain-caption{font-size:11px;line-height:1.8;color:var(--muted);margin:10px 3px 18px}.content-block{border-radius:14px;background:#fff;margin-bottom:14px;overflow:hidden}.content-block.pad{padding:16px}.status-summary{display:flex;gap:10px;align-items:center;margin-bottom:8px}.status-summary h3{font-size:16px}.status-summary .status-orb{width:9px;height:9px;border-radius:50%;background:#9da0a8}.status-summary .status-orb.green{background:#37a370}.status-summary .status-orb.orange{background:#d4a35b}.status-summary .status-orb.red{background:#d06762}.summary-copy{font-size:12px;color:var(--muted);line-height:1.8}.auto-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 6px;margin-top:13px}.auto-features span{font-size:11px;color:#697485;background:#f5f7fa;border-radius:7px;text-align:center;padding:7px 3px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;min-height:51px;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row>div{min-width:0}.list-row strong{display:block;font-weight:500;font-size:13px;overflow-wrap:anywhere}.list-row p{font-size:11px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.list-row>span{font-size:12px;color:#777e89;flex:none}.disclosure{background:#fff;border-radius:13px;margin-bottom:12px;overflow:hidden}.disclosure>summary{padding:14px 15px;min-height:49px;list-style:none;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:after{content:'›';font-size:21px;color:#bdc0c7;line-height:1;transform:rotate(90deg)}.disclosure[open]>summary:after{transform:rotate(-90deg)}.disclosure>summary>span{margin-left:auto;font-size:11px;color:var(--muted)}.disclosure-body{padding:0 15px 15px}.disclosure .list-row{padding:12px 15px}.resource-value{font-variant-numeric:tabular-nums;max-width:55%;text-align:right;overflow-wrap:anywhere}.schedule-list{background:#fff;border-radius:14px;overflow:hidden;margin-bottom:17px}.schedule-row{display:flex;gap:12px;padding:14px 15px;border-bottom:1px solid var(--line);align-items:flex-start}.schedule-row:last-child{border-bottom:0}.schedule-mark{flex:none;width:25px;height:25px;background:#edf4ff;color:#5893ce;border-radius:8px;display:grid;place-items:center;font-size:12px;margin-top:1px}.schedule-mark.ready{background:#eaf7ef;color:#49a578}.schedule-copy{flex:1;min-width:0}.schedule-copy strong{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}.schedule-copy p{font-size:11px;color:#94979f;margin-top:4px;line-height:1.6}.schedule-time{flex:none;text-align:right;font-variant-numeric:tabular-nums}.schedule-time strong{font-size:12px;font-weight:500;display:block;color:#5d6775}.schedule-time span{font-size:9px;color:#9c9fa6;margin-top:4px;display:block}.schedule-time.ready strong{color:#329464}.next-event{margin-top:15px;padding-top:12px;border-top:1px solid #eeeef3;display:flex;justify-content:space-between;align-items:center;gap:9px;color:#777e88;font-size:12px}.next-event strong{font-size:12px;font-weight:500;color:#527da8}.filter-row{display:flex;gap:6px;margin:0 0 16px;flex-wrap:wrap}.filter-row button{padding:7px 13px;min-height:36px;color:#838996;background:transparent;font-size:12px;border-radius:8px}.filter-row button[aria-pressed=true]{color:#4678b6;background:#e7effb}.journal-list{border-radius:14px;background:#fff;overflow:hidden}.journal-day{padding:10px 15px 2px;font-size:10px;color:#a1a4ad}.journal-row{display:flex;gap:11px;padding:13px 15px;border-bottom:1px solid var(--line)}.journal-row:last-child{border-bottom:0}.journal-dot{width:6px;height:6px;flex:none;border-radius:50%;background:#c1c5ce;margin-top:7px}.journal-row.success .journal-dot{background:#64b994}.journal-row.error .journal-dot,.journal-row.warn .journal-dot{background:#d39267}.journal-copy{flex:1;min-width:0}.journal-copy p{font-size:12px;color:#565e6b;overflow-wrap:anywhere;line-height:1.7}.journal-copy time{display:block;color:#a0a4ad;font-size:10px;margin-top:5px;font-variant-numeric:tabular-nums}.journal-outcome{font-size:10px;color:#9da2ac;white-space:nowrap;margin-top:2px}.journal-row.success .journal-outcome{color:#63a88b}.journal-row.error .journal-outcome,.journal-row.warn .journal-outcome{color:#bc906b}.load-more{display:flex;justify-content:center;width:100%;margin-top:8px}.dialog-loading{padding:45px 10px;text-align:center;color:var(--muted);font-size:12px;display:flex;align-items:center;justify-content:center;gap:10px}.spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;opacity:.65}.world-form{display:flex;gap:8px;padding:12px 0}.world-form input{width:100%;min-width:0;border:1px solid #e3e5ec;min-height:44px;background:#fff;border-radius:8px;padding:8px;font-size:16px}.world-form .button{flex:none;min-height:44px;font-size:12px}.role-empty{padding:20px 15px;font-size:12px;color:var(--muted)}.connection-log{max-height:250px;overflow:auto}.connection-row{font-size:11px;line-height:1.7;padding:9px 0;border-bottom:1px solid #f1f2f4;overflow-wrap:anywhere;color:#80858e}.connection-row time{display:block;font-size:10px;color:#a2a5ad}.read-at{font-size:10px;color:#a2a5ad;text-align:center;margin-top:14px}.disconnect-button{width:100%;color:var(--red);margin-top:10px}.compact-link{width:100%;text-align:left;color:#6e86a7;background:#fff;font-size:12px;min-height:44px;padding:12px 15px;border-radius:12px}.blank-copy{padding:25px 17px;text-align:center;font-size:12px;color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.button:active:not(:disabled){transform:none}}@media(max-width:360px){.topbar{padding:24px 17px 8px}main{padding:0 12px}.account-name{font-size:15px}.account-meta{font-size:10px}.account-runtime{gap:5px}.runtime-text{font-size:10px}.schedule-row{padding:13px 12px;gap:9px}.screen-content{padding:12px}.schedule-time strong{font-size:11px}}
.account-actions{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:8px}.account-actions .button{min-height:43px;font-size:13px;padding:10px 8px;border-radius:10px}.account-actions .account-run{width:auto}.config-screen{padding-bottom:4px}.config-group-picker{position:sticky;top:-16px;z-index:2;display:flex;align-items:center;gap:12px;background:#f5f5f7f5;backdrop-filter:blur(12px);padding:0 0 14px}.config-group-picker label{font-size:11px;color:var(--muted);flex:none}.config-group-picker select{flex:1;min-width:0;min-height:46px;border:1px solid #e5e6ed;border-radius:11px;background:#fff;padding:8px 12px;font-size:16px;color:var(--text)}.config-intro{margin:4px 2px 17px}.config-intro h3{font-size:21px;letter-spacing:-.4px}.config-intro p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.7}.config-section{background:#fff;border-radius:14px;overflow:hidden;margin-bottom:16px}.config-section-heading{padding:16px 15px 10px}.config-section-heading h3{font-size:14px}.config-section-description{padding:0 15px 10px;font-size:11px;color:var(--muted)}.config-field{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-top:1px solid #f0f0f3;min-height:63px}.config-field-copy{min-width:0;flex:1}.config-field-copy label{font-size:13px;line-height:1.7;display:block;color:#424750;overflow-wrap:anywhere}.config-field-copy p{font-size:11px;color:#93959d;margin-top:5px;line-height:1.7;overflow-wrap:anywhere}.config-pending{font-size:9px;display:inline-block;margin-top:5px;color:#979ca6;background:#f4f5f7;border-radius:4px;padding:1px 5px}.config-switch{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:44px;height:27px;margin:0;border-radius:20px;background:#e1e2e7;cursor:pointer;transition:background .16s}.config-switch:after{content:'';position:absolute;left:2px;top:2px;width:23px;height:23px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .16s}.config-switch:checked{background:#34c759}.config-switch:checked:after{transform:translateX(17px)}.config-switch:disabled{opacity:.5;cursor:default}.config-input{width:44%;min-width:85px;max-width:180px;min-height:42px;border:1px solid #e6e8ee;background:#f8f9fc;border-radius:9px;padding:7px 10px;font-size:16px;color:#424b5b;text-align:right}.config-input:disabled{opacity:.6}.config-input[aria-invalid=true]{border-color:#d77465;background:#fff4f1}.config-text,.config-list,.config-object,.config-multiselect{align-items:stretch;flex-direction:column;gap:10px}.config-text .config-input{width:100%;max-width:none;text-align:left}.config-save-note{font-size:10px;color:var(--muted);text-align:center;margin-bottom:9px;min-height:15px}.config-footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.config-footer-actions .button{font-size:13px;padding:11px 8px}.config-choices{width:100%;border:1px solid #e9ebf1;border-radius:9px;background:#fafbfd;overflow:hidden}.config-choices>summary{font-size:12px;min-height:43px;padding:11px 12px;color:#6a7c98;cursor:pointer}.config-choice-list{padding:0 10px 10px;max-height:300px;overflow:auto}.config-choice{display:flex;align-items:center;gap:10px;font-size:12px;min-height:43px;border-top:1px solid #eceef4;line-height:1.6}.config-choice input{width:18px;height:18px;accent-color:var(--blue);flex:none}.config-structured{width:100%}.config-structured-row{background:#f8f9fc;border:1px solid #eaecf2;border-radius:10px;margin-top:8px;overflow:hidden}.config-structured-row .config-field{padding:10px 12px;min-height:55px}.config-structured-row .config-pending{display:none}.config-row-heading{display:flex;align-items:center;justify-content:space-between;padding:0 10px;gap:8px;border-bottom:1px solid #eaecf2}.config-row-heading strong{font-size:11px;font-weight:500;color:#7f8795}.config-row-heading>div{display:flex;gap:8px}.config-row-heading .text-button{font-size:11px}.config-structured>.text-button{width:100%;font-size:12px}.config-field .plain-caption{margin:0;font-size:11px}@media(max-width:360px){.config-field{gap:10px;padding:12px}.config-input{padding:7px;width:42%}.config-group-picker{top:-12px}.config-row-heading>div{gap:4px}}
.config-unit{display:inline-block;font-size:11px;color:#9097a3;margin:5px 0 0 6px}.config-subheading{padding:10px 15px;background:#f4f7fb;color:#55779e;font-size:12px;font-weight:500;margin:0}.config-priority-list{padding:0 10px}.config-priority-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;border-top:1px solid #eceef4;font-size:11px;color:#707b8c}.config-priority-row>div{display:flex;gap:7px;flex:none}.config-priority-row .text-button{font-size:10px;min-height:42px}
.config-section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;list-style:none;cursor:pointer;min-height:53px;padding:15px}.config-section-heading::-webkit-details-marker{display:none}.config-section-heading>span{margin-left:auto;font-size:10px;color:#9ca1aa;font-weight:400}.config-section-heading:after{content:'›';color:#b4bac4;font-size:20px;line-height:1;transform:rotate(90deg)}.config-section[open]>.config-section-heading:after{transform:rotate(-90deg)}
.config-field-title{display:flex;align-items:center;gap:3px;min-height:32px}.config-field-title label{flex:0 1 auto}.config-help-button{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:0;background:transparent;color:#879bb7;font-size:16px;border-radius:50%;line-height:1}.config-help-button[aria-expanded=true]{background:#edf3ff;color:var(--blue)}.config-help-popover{position:fixed;z-index:20;display:flex;flex-direction:column;margin:0;padding:0;border:1px solid #dfe5ef;border-radius:16px;background:rgba(255,255,255,.98);color:var(--text);box-shadow:0 10px 40px #263a5c24,0 2px 8px #263a5c10;overflow:hidden;max-width:calc(100vw - 24px)}.config-help-header{display:flex;align-items:center;gap:8px;justify-content:space-between;flex:none;padding:6px 7px 0 17px}.config-help-header h3{font-size:13px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.config-help-close{display:grid;place-items:center;flex:none;min-width:40px;min-height:40px;border-radius:50%;background:transparent;color:#909aaa;font-size:24px;font-weight:300;line-height:1}.config-help-body{margin:0;padding:1px 17px 17px;min-height:0;overflow:auto;overscroll-behavior:contain;font-size:13px;line-height:1.8;color:#697484;white-space:pre-wrap;overflow-wrap:anywhere}.config-help-body:focus-visible{outline:2px solid #9fcaff;outline-offset:-4px;border-radius:9px}

.config-select{align-items:stretch;flex-direction:column;gap:10px}.config-select .config-input{width:100%;max-width:none;text-align:left}.config-search{width:100%;min-width:0;border:1px solid #e6e8ee;background:#f8f9fc;border-radius:9px;padding:10px 12px;font-size:16px;color:#424b5b}
.config-help-implementation{margin-top:13px;padding-top:12px;border-top:1px solid #edf0f5}.config-help-implementation:first-child{margin-top:0;padding-top:0;border-top:0}.config-help-implementation h4{font-size:11px;font-weight:600;color:#527faf;margin:0 0 5px}


/* Website membership and service management */
.auth-shell{max-width:480px;min-height:100dvh;margin:auto;padding:calc(64px + env(safe-area-inset-top)) 24px calc(32px + env(safe-area-inset-bottom));background:var(--background)}.auth-header{margin-bottom:28px}.auth-header h1{font-size:31px;margin-bottom:10px}.auth-header>p:last-child{font-size:14px;color:var(--muted);line-height:1.8}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#e9e9ed;border-radius:12px;margin-bottom:24px}.auth-tabs button{background:transparent;border-radius:9px;min-height:40px;font-size:14px;color:#868990}.auth-tabs button[aria-pressed=true]{background:#fff;color:#292c32;box-shadow:0 1px 4px #0000000a}.member-form{display:flex;flex-direction:column;gap:8px}.member-form>label{font-size:13px;color:#646a75;margin-top:10px}.member-form input:not([type=checkbox]),.inline-form input,.admin-field input:not([type=checkbox]),.copy-text,.admin-search{width:100%;min-width:0;min-height:48px;padding:12px 14px;background:#fff;border:1px solid #e5e7ec;border-radius:12px;color:var(--text);font-size:16px;outline-offset:2px}.member-form input[readonly]{background:#eaeef4;color:#687485}.member-form>.button{margin-top:16px;min-height:49px}.member-form input:focus-visible,.inline-form input:focus-visible,.admin-field input:focus-visible{outline:2px solid #9fcaff}.member-form .field-hint{margin:0}.required-label{font-size:10px;color:var(--muted);margin-left:5px}.auth-footnote{font-size:11px;color:#a0a5ad;line-height:1.8;margin-top:32px;text-align:center}.membership-note{font-size:12px;line-height:1.8;color:#9297a1;margin-top:12px;overflow-wrap:anywhere}.membership-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 13px;border-radius:12px;background:#fff5e4;color:#91702b;font-size:12px;margin:8px 0 12px}.membership-banner .text-button{color:#946416;flex:none}.membership-card{padding:20px;border-radius:19px;background:#fff;margin:16px 0}.member-identity{display:flex;align-items:center;gap:11px}.member-identity>div{flex:1;min-width:0}.member-identity h2{font-size:17px;overflow-wrap:anywhere}.member-identity .field-hint{margin:3px 0 0;font-size:11px}.membership-label{font-size:12px;color:var(--muted);margin-top:25px}.membership-balance{font-size:25px;line-height:1.4;letter-spacing:-.6px;margin-top:6px;font-weight:600;color:#3478c5}.membership-balance.expired{color:#bc8652}.membership-card>.field-hint{margin-top:5px}.member-section{background:#fff;border-radius:15px;padding:17px 16px;margin:14px 0}.member-section>h2{font-size:14px;margin-bottom:15px}.inline-form{display:flex;align-items:stretch;gap:10px}.inline-form input{background:#f7f8fb;border-color:#eceef3;flex:1}.inline-form .button{flex:none;padding:10px 17px;min-height:48px}.member-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;font-size:12px;color:#7e8692;overflow-wrap:anywhere}.member-row+.member-row{border-top:1px solid #f0f1f4;margin-top:6px;padding-top:11px}.member-row>span:last-child{max-width:52%;text-align:right;overflow-wrap:anywhere}.row-label{font-size:12px;color:#969ca5}.invite-copy{padding:0 0 11px;background:transparent;width:100%;text-align:left}.invite-copy>span:first-child{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0}.invite-copy strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;font-weight:600;letter-spacing:.2px;color:#3c536f;white-space:nowrap;overflow-wrap:normal}.invite-copy .row-action{flex:none;font-size:11px;color:var(--blue);white-space:nowrap}.member-details>summary{cursor:pointer;min-height:28px;font-size:13px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}.member-details>summary::-webkit-details-marker{display:none}.member-details>summary:after{content:'›';font-size:20px;font-weight:300;color:#abb3bf;line-height:1}.member-details[open]>summary:after{transform:rotate(90deg)}.member-details>summary>span{font-size:11px;color:var(--muted);margin-left:auto}#me-invites{margin-top:18px;padding-top:14px;border-top:1px solid #f0f1f4}.member-empty{font-size:12px;color:var(--muted);padding:17px 0 3px}.member-history-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #f0f1f4;font-size:12px}.member-history-row:first-child{margin-top:12px}.member-history-row>div{min-width:0}.member-history-row p{color:#666f7d;overflow-wrap:anywhere}.member-history-row time{display:block;color:#a2a9b3;font-size:10px;margin-top:5px}.member-history-value{color:#528774;flex:none;font-size:12px}.member-link{display:flex;align-items:center;justify-content:space-between;color:#6584a8;font-size:13px;min-height:55px}.member-link span:last-child{font-size:21px}.logout-button{margin-top:24px;color:#b65e5c!important;background:#fff!important}.logout-hint{text-align:center;margin-top:10px;font-size:10px}.compact-form{padding-top:8px}.copy-text{margin-top:9px;font-size:13px;resize:vertical;min-height:46px}.bottom-nav{grid-template-columns:repeat(4,1fr)}.bottom-nav button{min-width:0}.bottom-nav span{white-space:nowrap;font-size:10px}
.admin-body{background:var(--background)}.admin-shell{max-width:1200px;padding:36px 30px 60px;margin:auto}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:24px}.admin-header h1{font-size:27px}.admin-shell main{padding:0}.admin-navigation{display:flex;gap:5px;padding:6px;background:#e9eaef;border-radius:13px;overflow:auto;scrollbar-width:none}.admin-navigation button{padding:10px 17px;border-radius:9px;background:transparent;min-height:43px;flex:none;color:#828997;font-size:13px}.admin-navigation button[aria-current=page]{background:#fff;color:#3778b9;box-shadow:0 1px 4px #00000008}.admin-section-heading{display:flex;align-items:center;justify-content:space-between;margin:23px 2px 10px}.admin-section-heading h2{font-size:19px}.admin-panel{background:#fff;border-radius:16px;padding:23px;margin-bottom:18px;min-width:0}.admin-panel>h3{font-size:15px;margin-bottom:15px}.admin-panel>.membership-note{margin:-4px 0 19px}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.admin-metric{background:#fff;border-radius:15px;padding:21px}.admin-metric>p{color:#8b919b;font-size:12px}.admin-metric>strong{display:block;font-size:31px;line-height:1.2;letter-spacing:-.8px;margin-top:15px;color:#37455c;overflow-wrap:anywhere}.admin-metric>span{font-size:10px;color:#b0b5bd;display:block;margin-top:6px}.admin-search{max-width:340px;background:#f7f8fb;margin-bottom:17px}.admin-table-scroll{width:100%;overflow:auto;overscroll-behavior-x:contain}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.admin-table th{padding:12px 14px;font-size:11px;font-weight:500;color:#8994a5;background:#f6f8fb;white-space:nowrap}.admin-table th:first-child{border-radius:8px 0 0 8px}.admin-table th:last-child{border-radius:0 8px 8px 0}.admin-table td{padding:12px 14px;color:#66717f;max-width:250px;overflow-wrap:anywhere;border-bottom:1px solid #f0f2f6;vertical-align:middle;min-width:80px}.admin-table tr:last-child td{border-bottom:0}.admin-table .pill{white-space:nowrap}.admin-table .table-empty{text-align:center;padding:35px;color:#a3aab4}.admin-table .text-button{min-height:34px;padding:0;font-size:12px}.table-actions{display:flex;gap:15px}.admin-inline-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:17px}.admin-field{display:flex;flex-direction:column;gap:7px}.admin-field label{font-size:12px;color:#7a8492}.admin-inline-form .admin-field{width:180px}.admin-inline-form>.button{height:48px}.admin-field input:not([type=checkbox]){background:#f8f9fc;border-color:#e9ecf2}.admin-field input[type=checkbox]{width:40px;height:24px;accent-color:var(--blue);margin:2px 0 12px}.admin-settings-form{max-width:500px;gap:20px}.admin-settings-form>.button{align-self:flex-start;min-width:150px}.generated-codes{margin-top:22px;padding-top:12px;border-top:1px solid #ecf0f5}.generated-code-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.generated-code-list code{font-size:13px;padding:10px 12px;background:#f1f6fe;color:#4679b2;border-radius:8px;overflow-wrap:anywhere}.generated-codes textarea{min-height:100px}.admin-dialog{border:0;background:var(--background);border-radius:20px;padding:20px;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 40px);color:var(--text)}.admin-dialog::backdrop{background:#1d2d405e;backdrop-filter:blur(3px)}.admin-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-20px;background:var(--background);z-index:2;padding:4px 2px 12px}.admin-dialog .admin-panel{padding:18px;margin-bottom:12px}.admin-dialog .member-form{gap:15px}.admin-dialog .member-form>.button{margin-top:0}.admin-dialog .admin-field input{min-width:0}.admin-dialog .admin-field .field-hint{margin-top:0}
@media(max-width:700px){.admin-shell{padding:calc(24px + env(safe-area-inset-top)) 15px 40px}.admin-header{gap:10px;padding-bottom:19px}.admin-header h1{font-size:24px}.admin-header .text-button{font-size:11px}.admin-navigation{margin:0 -2px}.admin-navigation button{padding:9px 14px;font-size:12px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-metric{padding:17px}.admin-metric>strong{font-size:28px}.admin-panel{padding:17px}.admin-table{font-size:11px}.admin-table th,.admin-table td{padding:11px 10px}.admin-inline-form{gap:13px;align-items:stretch}.admin-inline-form .admin-field{width:calc(50% - 7px)}.admin-inline-form>.button{width:100%}.admin-section-heading{margin-top:18px}.admin-section-heading h2{font-size:17px}.admin-dialog{padding:15px}.admin-dialog>header{top:-15px}}
@media(max-width:360px){.auth-shell{padding-left:19px;padding-right:19px}.membership-card{padding:17px}.membership-balance{font-size:23px}.member-section{padding:15px}.invite-copy strong{font-size:14px}.member-identity{gap:8px}.member-identity h2{font-size:15px}.inline-form{gap:7px}.inline-form .button{padding:10px 13px}.row-action{max-width:46%!important}}
.member-bound-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid #eef1f5}.member-bound-row:first-child{margin-top:15px}.member-bound-row>div{min-width:0}.member-bound-row strong{display:block;font-size:13px;font-weight:500;color:#5b687a;overflow-wrap:anywhere}.member-bound-row p{font-size:10px;color:#a0a8b4;margin-top:5px}.member-bound-row .member-remove{color:#bd7970;font-size:12px;flex:none}.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#939baa;font-size:12px;margin:16px 2px}.admin-pagination .text-button{font-size:12px}
.admin-search-form{display:flex;gap:10px;align-items:flex-start;margin-bottom:17px}.admin-search-form .admin-search{margin-bottom:0}.admin-search-form .button{min-height:48px;flex:none}
.admin-field select,.admin-dialog .member-form>select{width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid #e9ecf2;border-radius:12px;background:#f8f9fc;color:var(--text);font-size:16px}.admin-dialog .admin-panel>.button+.button{margin-left:9px}.admin-dialog .admin-search-form{margin-top:15px}.admin-dialog .admin-search-form .admin-search{width:100%;min-width:0}.admin-dialog .member-details>summary{margin-bottom:8px}.admin-dialog .admin-field select:focus-visible{outline:2px solid #9fcaff}

/* Profile dialogs */
.profile-menu{background:#fff;border-radius:16px;overflow:hidden;margin:14px 0}.profile-menu-row{display:flex;align-items:center;width:100%;gap:12px;background:transparent;text-align:left;padding:15px 17px;min-height:56px;font-size:14px;color:#424b58}.profile-menu-row+.profile-menu-row{border-top:1px solid #f0f1f4}.profile-menu-value{margin-left:auto;color:#929ba7;font-size:12px;font-variant-numeric:tabular-nums}.profile-menu-chevron{margin-left:auto;flex:none;color:#b4bbc4;font-size:21px;line-height:1}.profile-menu-value+.profile-menu-chevron{margin-left:0}.profile-menu-row:active{background:#f7f8fa}.profile-dialog{border:0;border-radius:22px;background:#fff;color:var(--text);padding:0;width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 48px);overflow:hidden;box-shadow:0 20px 70px #13203925}.profile-dialog[open]{display:flex;flex-direction:column}.profile-dialog::backdrop{background:#202b3b5c;backdrop-filter:blur(4px)}.profile-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 10px;flex:none;border-bottom:1px solid #f0f1f4}.profile-dialog-header h2{font-size:18px;line-height:1.5;letter-spacing:-.2px}.profile-dialog-header .text-button{font-size:13px}.profile-dialog-body{padding:16px 20px 24px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.profile-dialog .notice{margin:0 0 14px}.profile-dialog .member-form input{background:#f7f8fb}.profile-dialog .member-form>label:first-child{margin-top:0}.profile-dialog .member-form>.button{margin-top:13px}.profile-dialog .member-empty{padding:22px 0;text-align:center}.profile-dialog .member-bound-row:first-child{margin-top:0}.profile-dialog .member-history-row:first-child{margin-top:0}.profile-dialog .profile-history h3{font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:space-between;color:#626d7c}.profile-dialog .profile-history h3 span{font-size:11px;color:#929ba7}.profile-dialog .invite-copy strong{font-size:28px;letter-spacing:3px;color:#365d8b}.profile-dialog .member-row>span:last-child{max-width:55%}.profile-dialog .invite-copy .row-action{font-size:12px}.profile-dialog #me-invites{margin-top:22px;padding-top:18px}.profile-dialog .copy-text{background:#f7f8fb}.admin-header-actions{display:flex;align-items:center;gap:18px}.admin-login-form{max-width:360px;margin-top:20px}.admin-login-form .admin-field{margin-top:8px}.admin-login-form .notice{margin-top:10px}#admin-access{max-width:440px;margin:28px auto;padding:26px}#me-page .membership-card>.membership-note{font-size:11px}#me-page .logout-button{margin-top:18px}
@media(max-width:360px){.profile-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 32px)}.profile-dialog-header{padding:12px 16px 8px}.profile-dialog-body{padding:14px 16px 20px}.profile-menu-row{padding:14px 15px}.profile-dialog .invite-copy strong{font-size:26px}.admin-header-actions{gap:9px}}
/* End Profile dialogs */
/* Feature dynamics and focused configuration */
.config-field{min-height:56px;padding:10px 14px;gap:10px}.config-field-title{min-height:30px}.config-unit{margin:0 0 0 6px}.config-field-copy:has(>.config-unit){display:flex;align-items:center;flex-wrap:wrap;gap:0}.config-select.config-select-compact{flex-direction:row;align-items:center}.config-select.config-select-compact>.config-input{width:51%;max-width:200px;text-align:right}.config-crop-stock{border:1px solid #e9ebf1;border-radius:10px;overflow:hidden;background:#fafbfd}.config-crop-row{padding:6px 9px;min-height:54px;gap:5px}.config-crop-row:first-child{border-top:0}.config-crop-row .config-field-copy{flex:1;min-width:66px}.config-crop-row .config-field-title label{font-size:12px;line-height:1.4}.config-crop-row>.config-input{width:86px;min-width:68px;max-width:96px;padding:7px 8px;background:white}.config-sort-actions{display:flex;gap:0;flex:none}.config-sort-button{width:30px;min-height:44px;padding:0;background:transparent;color:var(--blue);font-size:18px}.config-sort-button:disabled{opacity:.3}.config-fleet-settings{border-top:1px solid #f0f0f3}.config-fleet-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:12px;padding:4px;background:#f1f2f6;border-radius:11px}.config-fleet-tab{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;min-height:52px;padding:6px 3px;border-radius:8px;background:transparent;color:#808894;font-size:13px}.config-fleet-tab small{font-size:10px;font-weight:400;color:#929aa5}.config-fleet-tab[aria-pressed=true]{background:white;color:#007aff;box-shadow:0 1px 4px #00000009}.config-fleet-tab[aria-pressed=true] small{color:#6995be}.challenge-progress{margin-top:13px;padding-top:12px;border-top:1px solid #eeeef2}.challenge-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.challenge-progress-heading strong{font-weight:500;color:#4a5361}.challenge-progress-heading span{font-size:11px;text-align:right;color:#9097a1}.challenge-count{font-size:13px;font-variant-numeric:tabular-nums;line-height:1.6;color:#3c658f;margin-top:8px}.activity-reason{font-size:12px;color:#7b8491;line-height:1.75;margin-top:6px;overflow-wrap:anywhere}.activity-next{font-size:11px;color:#929aa5;margin-top:6px}.world-activity{margin-top:10px}.activity-fleets{margin-top:10px;border-top:1px solid #eeeef2}.activity-fleet{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;font-size:12px;line-height:1.6;color:#929aa5}.activity-fleet strong{font-weight:400;color:#636e7d;text-align:right;overflow-wrap:anywhere}.journal-challenge-progress{padding:15px;background:white;border-radius:14px;margin-bottom:16px}.journal-challenge-progress>h3{font-size:14px}.dynamic-progress-row strong{max-width:60%;overflow-wrap:anywhere}.config-fleet-tab:focus-visible,.config-sort-button:focus-visible{outline:2px solid #9fcaff;outline-offset:-2px}@media(max-width:360px){.config-crop-row{padding:6px;gap:3px}.config-crop-row>.config-input{width:76px;min-width:60px}.config-sort-button{width:28px}.config-select.config-select-compact>.config-input{width:51%}}
.config-footer-actions{grid-template-columns:1fr}.config-save-note:empty{display:none}.config-subheading{font-size:13px;font-weight:600;color:var(--text,#202124);background:#f5f5f7;padding:14px 15px}.dynamic-screen{display:grid;gap:12px}.dynamic-screen>.content-heading{margin:0}.dynamic-updated{font-size:12px;color:#8e8e93}.dynamic-filters{display:flex;gap:7px;overflow-x:auto;padding:0 0 5px;scrollbar-width:none}.dynamic-filters button{border:0;background:#eaeaef;border-radius:18px;white-space:nowrap;padding:10px 15px;font:inherit;font-size:13px;min-height:40px;color:#60646c}.dynamic-filters button[aria-pressed=true]{background:#007aff;color:white}.dynamic-card{background:white;border:1px solid #ececf0;border-radius:16px;overflow:hidden;padding:16px}.dynamic-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.dynamic-card h3{font-size:16px;margin:0}.dynamic-recent{display:flex;justify-content:space-between;gap:10px;margin-top:13px;font-size:12px;color:#747780}.dynamic-recent p{margin:0;line-height:1.6}.dynamic-recent time{white-space:nowrap;line-height:1.6}.dynamic-gains{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.dynamic-gains span{border-radius:7px;background:#eef8f1;color:#348054;font-size:12px;padding:5px 8px;overflow-wrap:anywhere}.dynamic-progress{margin-top:13px;border-top:1px solid #eeeef2}.dynamic-progress-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;line-height:1.6;padding:11px 0;border-bottom:1px solid #f1f1f5}.dynamic-progress-row:last-child{border-bottom:0;padding-bottom:0}.dynamic-progress-row span{min-width:0;overflow-wrap:anywhere;color:#60646c}.dynamic-progress-row strong{font-weight:500;text-align:right;color:#34363b;flex-shrink:0;font-variant-numeric:tabular-nums}.journal-row{grid-template-columns:8px minmax(0,1fr)}
/* Shared horizontal navigation and compact live game facts. */
.config-group-tabs{position:sticky;top:-16px;z-index:2;margin:-2px -2px 12px;padding:8px 2px 12px;background:#f5f5f7f5;backdrop-filter:blur(12px);scroll-behavior:auto}.config-group-tabs button{flex:none}.config-group-tabs button:focus-visible,.dynamic-filters button:focus-visible{outline:2px solid #83baff;outline-offset:-2px}.dynamic-updated{margin:0 2px;font-size:10px;line-height:1.5;color:#9699a1}.dynamic-facts{margin-top:12px;border-top:1px solid #eeeef2}.dynamic-fact{padding:11px 0;border-bottom:1px solid #f1f1f5}.dynamic-fact:last-child{border-bottom:0;padding-bottom:0}.dynamic-fact-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12px;line-height:1.6}.dynamic-fact-heading>span{min-width:0;color:#777c85;overflow-wrap:anywhere}.dynamic-fact-heading>strong{max-width:66%;font-weight:500;text-align:right;color:#353b45;overflow-wrap:anywhere}.dynamic-fact-time{margin-top:4px;font-size:11px;color:#858d99;text-align:right;font-variant-numeric:tabular-nums}.dynamic-materials{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.dynamic-materials>span{font-size:11px;line-height:1.5;color:#62718a;background:#f3f5f9;border-radius:6px;padding:4px 6px;overflow-wrap:anywhere}.challenge-levels{font-size:12px;line-height:1.8;color:#4c596c;margin-top:9px;overflow-wrap:anywhere}@media(max-width:360px){.config-group-tabs{top:-12px}.config-group-tabs button{padding:10px 13px}}
.dynamic-screen>.dynamic-filters{position:sticky;top:0;z-index:2;background:#f5f5f7f5;backdrop-filter:blur(12px);padding-top:6px;padding-bottom:9px;margin-top:-6px}.dynamic-more{width:100%;min-height:42px;padding:10px 0 0;font-size:12px;text-align:center}
/* Game state visuals share the existing mobile palette. */
.dynamic-category-title{font-size:13px;font-weight:600;color:#8a909a;margin:6px 3px -3px}.reference-panel{margin-top:12px}.visual-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}.visual-metric{background:#f6f8fb;border-radius:10px;padding:10px 8px;min-width:0}.visual-metric>span{display:block;font-size:10px;color:#8691a2;line-height:1.5}.visual-metric>strong{display:block;font-size:15px;font-weight:600;color:#3a5576;margin-top:3px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.visual-meter{margin:10px 0}.visual-meter-label{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#8792a2;margin-bottom:5px}.visual-meter-label strong{font-weight:500;color:#596d88;font-variant-numeric:tabular-nums}.visual-meter-track{height:7px;border-radius:8px;background:#eaf0f7;position:relative;overflow:hidden}.visual-meter-fill{height:100%;display:block;background:#71abeb;border-radius:inherit;max-width:100%}.visual-meter-target{position:absolute;top:0;bottom:0;width:2px;background:#2a689b;transform:translateX(-2px)}.visual-stages{display:flex;gap:8px;margin:12px 0;overflow:auto}.visual-stage{flex:1;min-width:75px;border:1px solid #e7edf5;border-radius:12px;background:#f8faff;padding:11px 8px;text-align:center}.visual-stage small{display:block;font-size:10px;color:#909eb0}.visual-stage strong{display:block;font-size:15px;line-height:1.5;margin-top:5px;color:#687b94;overflow-wrap:anywhere}.visual-stage.current{border-color:#aacdf6;background:#eaf4ff}.visual-stage.current strong{color:#1673ca}.visual-stage.passed{background:#eef8f1;border-color:#c5e4cf}.visual-stage.passed strong{color:#47945f}.visual-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.visual-slot{min-width:0;border:1px solid #e8ecf3;border-radius:10px;padding:10px 5px;text-align:center;background:#fafbfd;border-top:3px solid #bdd3e8}.visual-slot[data-quality=RED]{border-top-color:#eaabab}.visual-slot[data-quality=ORANGE]{border-top-color:#ecc18a}.visual-slot[data-quality=PURPLE]{border-top-color:#c4afea}.visual-slot[data-quality=GREEN]{border-top-color:#a4d7b6}.visual-slot-mark{display:grid;place-content:center;width:30px;height:30px;border-radius:10px;background:#e9eff8;color:#6a829f;margin:0 auto 5px;font-size:15px}.visual-slot>strong{display:block;font-size:11px;font-weight:500;overflow-wrap:anywhere}.visual-slot small{display:block;color:#9ba4af;font-size:9px;line-height:1.7}.visual-slot .visual-selected{color:#327abf}.visual-entries{display:grid;gap:8px;margin-top:10px}.visual-entry{background:#f8fafc;border-radius:10px;padding:10px;min-width:0}.visual-entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px}.visual-entry-head>strong{font-weight:500;min-width:0;overflow-wrap:anywhere}.visual-state{flex:none;font-size:10px;color:#8e9aa8}.visual-state.ready{color:#3888c3}.visual-state.blocked{color:#b47e50}.visual-state.complete,.visual-state.passed{color:#4b9369}.visual-entry-copy{font-size:11px;line-height:1.8;color:#8590a0;margin-top:5px;overflow-wrap:anywhere}.visual-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.visual-chips>span{font-size:10px;padding:3px 5px;border-radius:5px;background:#eef2f7;color:#718397;overflow-wrap:anywhere}.visual-deadline{display:block;font-size:10px;line-height:1.8;color:#919ba9;margin-top:5px;font-variant-numeric:tabular-nums}.visual-fleets{display:grid;gap:8px;margin-top:12px}.visual-fleet{border:1px solid #e9eef5;border-radius:12px;padding:11px}.visual-route{display:grid;grid-template-columns:minmax(0,1fr) 75px minmax(0,1fr);align-items:center;gap:8px;margin:14px 0;font-size:12px}.route-port{color:#6b7d95;text-align:center;overflow-wrap:anywhere}.route-line{font-size:9px;text-align:center;color:#a4aeba;position:relative;border-bottom:2px dotted #ccd8e6;padding-bottom:6px}.moving .route-line{color:#5696d6;border-bottom-color:#75b2ef}.route-line:after{content:'';position:absolute;right:-1px;bottom:-4px;width:6px;height:6px;border-radius:50%;background:#8aafd2}.visual-market{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px;margin-top:10px}.visual-market th{font-weight:400;color:#939eac;text-align:right;padding:8px 4px;background:#f5f7fa}.visual-market th:first-child,.visual-market td:first-child{text-align:left;width:48%}.visual-market td{padding:9px 4px;border-bottom:1px solid #f0f2f6;text-align:right;color:#627087;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.visual-trade{margin-top:12px}.dynamic-fact .visual-meter{margin-top:6px;margin-bottom:2px}.dynamic-facts:has(.visual-meter){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:0}.dynamic-facts:has(.visual-meter)>.dynamic-fact{background:#f8fafc;padding:10px;border:0;border-radius:10px}.dynamic-facts:has(.visual-meter) .dynamic-fact-heading{display:block}.dynamic-facts:has(.visual-meter) .dynamic-fact-heading>strong{display:block;text-align:left;font-size:11px;color:#8290a2;max-width:100%;margin-top:3px}.dynamic-facts:has(.visual-meter)>.dynamic-more{grid-column:1/-1}.dynamic-facts:has(.visual-meter) .dynamic-fact-time{text-align:left;font-size:10px}@media(max-width:360px){.visual-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-route{grid-template-columns:minmax(0,1fr) 55px minmax(0,1fr)}}
.dynamic-day-count{font-size:10px;line-height:1.6;color:#8d99a8;margin-top:10px}.dynamic-gains-caption{font-size:10px;color:#93a199;margin-top:10px}.dynamic-gains-caption+.dynamic-gains{margin-top:5px}
.view-plots>.visual-entries,.view-buildings>.visual-entries{grid-template-columns:repeat(2,minmax(0,1fr))}.view-plots .visual-entry-head,.view-buildings .visual-entry-head{display:block}.view-plots .visual-entry-head>.visual-state,.view-buildings .visual-entry-head>.visual-state{display:block;margin-top:3px}.production-slot{border-top-width:1px;padding:9px 7px;text-align:left;background:white}.production-slot>strong{font-size:11px;color:#5b7492}.production-slot .slot-value{color:#8695a7;font-size:10px;line-height:1.7;margin-top:3px}.production-slot .slot-quantity{font-size:9px}.production-slot .visual-meter-label{display:block;font-size:9px}.production-slot .visual-meter-label strong{display:block}.production-slot .visual-deadline{font-size:9px;line-height:1.5}.view-cargo .visual-slots,.view-orders .visual-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.view-factory .visual-entry{border:1px solid #eaf0f6;background:#fafcfe}.visual-items-caption{display:block;font-size:10px;color:#81a08f;margin-top:8px}.view-buildings .visual-chips>span{background:#eef7f1;color:#71957d}.view-plots .visual-entry{background:#f2f8f4}.view-plots .visual-meter-fill{background:#8cbaa0}
.production-slot[data-state=complete] .visual-meter-fill{background:#89b79c}.production-slot[data-state=waiting] .visual-meter-fill{background:#d8b186}.dynamic-fact .visual-meter-label>span{display:none}
/* Same-page game modules, verified against reference dynamics. */
.dynamic-card-heading h3{font-size:15px}.dynamic-subheading{font-size:13px;color:#495868;font-weight:600;margin:15px 0 8px}.world-activity+.world-activity{border-top:1px solid #edf0f4;padding-top:3px}.dynamic-compact-list{display:grid}.dynamic-compact-item{padding:9px 0;border-bottom:1px solid #f0f2f6;min-width:0}.dynamic-compact-item:last-child{border:0}.dynamic-compact-heading{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.6}.dynamic-compact-heading>span{min-width:0;overflow-wrap:anywhere}.dynamic-compact-note{font-size:11px;color:#87919e;line-height:1.8;margin:4px 0;overflow-wrap:anywhere}.dynamic-compact-heading small{white-space:nowrap;flex:none}.dynamic-today{margin-top:12px;border-top:1px solid #edf0f4;padding-top:11px}.dynamic-today summary{font-size:11px;color:#8a96a4;cursor:pointer;min-height:30px}.dynamic-inline-list>.dynamic-more{min-height:40px;font-size:12px;padding:8px 0}.dynamic-card .visual-metrics{display:flex;flex-wrap:wrap;gap:6px}.dynamic-card .visual-metric{padding:4px 7px;border-radius:5px;display:flex;align-items:baseline;gap:5px}.dynamic-card .visual-metric>span,.dynamic-card .visual-metric>strong{display:inline;font-size:10px;margin:0}.dynamic-card .visual-entry{padding:10px}.dynamic-card .visual-fleets{gap:5px}.dynamic-card .visual-fleet{border-radius:8px;padding:9px}.dynamic-card .visual-fleet .visual-meter{margin:7px 0}.dynamic-card .visual-slot{padding:8px 4px}.dynamic-card .visual-entry-head{align-items:flex-start}.dynamic-history:empty{display:none}.dynamic-filters{position:sticky;top:0;z-index:2;background:#f5f5f7ed;backdrop-filter:blur(12px);padding:6px 0 8px}.dynamic-filters button{font-size:12px;padding:8px 12px;min-height:38px}

/* Reference detail blocks: one page, compact rows and horizontally scrollable tables. */
.detail-heading{font-size:12px;font-weight:600;color:#4b5b6d;margin:16px 0 8px}.detail-line{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;line-height:1.7;font-size:11px;padding:5px 0}.detail-line>span{flex-shrink:0;color:#758292}.detail-line>strong{font-weight:500;color:#495c72;text-align:right;overflow-wrap:anywhere}.detail-note{font-size:10px;line-height:1.8;color:#8c97a5;margin:5px 0;overflow-wrap:anywhere}.detail-compact-block{padding:9px 10px;margin-top:8px;border:1px solid #e6ebf2;border-radius:8px;background:#fbfcfe;min-width:0}.detail-resource-field{padding:8px 0;border-bottom:1px solid #edf0f5}.detail-table-scroll{max-width:100%;overflow-x:auto;margin:8px 0 12px;border:1px solid #e9edf4;border-radius:8px;overscroll-behavior-x:contain}.detail-table{width:100%;border-collapse:collapse;min-width:420px;font-size:10px;line-height:1.6}.detail-table th{padding:8px;text-align:left;font-weight:500;color:#8590a0;background:#f7f9fc;white-space:nowrap}.detail-table td{padding:8px;border-top:1px solid #edf1f6;vertical-align:top;color:#56677b;min-width:58px;overflow-wrap:anywhere}.detail-table th:first-child,.detail-table td:first-child{position:sticky;left:0;background:#fbfcfe;z-index:1}.detail-trade .detail-table{min-width:520px}.detail-cell-lines>div+div{margin-top:3px}.detail-cell-lines small{font-size:9px;color:#9aa3b1}.detail-rewards{display:flex;flex-wrap:wrap;gap:4px;line-height:1.6;margin-top:5px}.detail-rewards>span{font-size:10px;color:#6d8198}.detail-rewards>span:not(.detail-reward-caption){background:#eff5fb;border-radius:4px;padding:2px 4px}.detail-reward-caption{color:#a4afbb}.detail-freshness{display:flex;gap:7px;font-size:9px;color:#9aa6b5;margin:5px 0}.detail-stale{color:#b28548}.detail-own{color:#4985b7}.detail-own strong{color:#4985b7}.detail-diamond>.visual-metrics{display:grid!important;grid-template-columns:1fr 1fr}.detail-diamond .visual-metric{display:block!important;padding:12px!important}.detail-diamond .visual-metric>span{display:block!important}.detail-diamond .visual-metric>strong{display:block!important;font-size:19px!important;margin-top:5px!important}.detail-diamond .detail-table{min-width:320px}.detail-table-scroll:focus-visible{outline:2px solid #84b9f5;outline-offset:2px}.dynamic-card{border-left:3px solid #84b7ec}.detail-world>.detail-compact-block:first-child{margin-top:10px}

/* Hosting controls stay independent while an older engine finishes its run. */
.hosting-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hosting-start:disabled{background:#e6e7eb;color:#93969f;opacity:1}.hosting-stop{color:#9d5851!important;background:#fff0ed!important}.hosting-stop:disabled{color:#9699a1!important;background:#f0f1f4!important;opacity:1}.hosting-update-note{font-size:11px;line-height:1.7;color:#89909c;margin-top:10px;overflow-wrap:anywhere}.screen-footer .hosting-update-note{text-align:center}.account-actions .button{min-width:0;min-height:44px}.account-actions .hosting-start,.account-actions .hosting-stop{white-space:nowrap}

/* Per-account time points: compact controls, with details in a modal. */
.account-details-link{display:block;text-align:left;background:transparent;color:var(--text);min-height:44px;padding:4px 0;max-width:100%}.account-head .account-copy .account-meta{margin-top:-3px}.account-more{width:44px;min-width:44px;min-height:44px;font-size:17px;letter-spacing:2px;color:#8d95a0}.account-time-allocation{margin:10px 0 0;color:#7b8593;font-size:11px;line-height:1.6;font-variant-numeric:tabular-nums}.account-time-allocation.needs-allocation{color:#a77c3e}.game-account-menu{position:fixed;z-index:40;width:164px;background:rgba(255,255,255,.98);border:1px solid #e9ecf2;border-radius:13px;box-shadow:0 9px 30px #263b5626;padding:5px;overflow:hidden}.game-account-menu button{display:block;width:100%;min-height:46px;background:transparent;text-align:left;padding:11px 14px;color:#48647e;font-size:14px;border-radius:8px}.game-account-menu button:hover,.game-account-menu button:focus-visible{background:#edf4ff}.game-account-menu button.menu-danger{color:#b96761}.game-time-account{font-size:15px;font-weight:600;overflow-wrap:anywhere;margin:2px 0 17px}.allocation-balance{color:#5882ac;font-size:14px;line-height:1.8}.allocation-input-row{display:flex;align-items:center;background:#fff;border:1px solid #e5e7ec;border-radius:12px;padding-right:14px;gap:10px}.allocation-input-row input{flex:1;border:0!important;background:transparent!important}.allocation-input-row>span{color:#8c94a1;font-size:12px;white-space:nowrap}.allocation-preview{color:#546e8c;font-size:12px;line-height:1.8;background:#eff4fa;padding:12px;border-radius:10px;margin-top:13px;font-variant-numeric:tabular-nums}.account-delete-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:21px}.account-delete-actions .button{min-height:46px}.account-delete-actions .danger{color:#b96761;background:#fbeeee}.member-record-account{font-size:11px;color:#9099a5!important;margin-top:5px}.game-time-dialog .membership-note{margin-top:7px}.game-time-dialog .profile-dialog-body{padding-bottom:max(22px,env(safe-area-inset-bottom))}

/* Dynamics keep each gameplay at one visible level inside its selected tab. */
.dynamic-card:has(.dynamic-sections){padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
.dynamic-card:has(.dynamic-sections)>.dynamic-card-heading{padding:2px 2px 9px}
.dynamic-card:has(.dynamic-sections)>.dynamic-history:not(:empty){margin-bottom:12px;padding:0 2px}
.dynamic-sections{display:grid;gap:12px;min-width:0}
.dynamic-play-section{min-width:0;padding:14px;background:#fff;border:1px solid #e8edf3;border-radius:14px;overflow:hidden}
.dynamic-play-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #edf0f4}
.dynamic-play-heading h4{margin:0;min-width:0;color:#40516a;font-size:14px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
.dynamic-play-section>.reference-panel,.dynamic-play-section>.world-activity{margin-top:9px}
.dynamic-play-section>.world-activity+.world-activity{border-top:0;padding-top:0}
.dynamic-play-section>.challenge-progress{border:0;padding-top:0;margin-top:10px}
.dynamic-play-section>.dynamic-facts,.dynamic-play-section>.dynamic-play-schedule{border-top:0;margin-top:6px}
.dynamic-play-section>.dynamic-facts:has(.visual-meter){margin-top:10px}
.dynamic-play-section .dynamic-fact-heading>strong{flex-shrink:1}
.dynamic-play-section .dynamic-schedule-item{padding:9px 0;border-bottom:1px solid #edf0f4}
.dynamic-play-section .dynamic-schedule-item:last-child{border-bottom:0;padding-bottom:0}
.dynamic-play-section .dynamic-schedule-item .dynamic-fact-time{text-align:left;line-height:1.7}
.dynamic-play-section .dynamic-schedule-item .activity-reason{margin-top:4px}
.dynamic-remaining-summary{margin:10px 0 0;padding:9px 10px;background:#f5f7fa;border-radius:8px;font-size:11px;line-height:1.8;color:#7a8797;overflow-wrap:anywhere}
.dynamic-radar-highlights .visual-state.ready{color:#2c8a60}

/* Today's persisted results belong to the game journal. */
.journal-today-summary{margin-bottom:16px;padding:15px;background:#fff;border:1px solid #e6ebf1;border-radius:14px;min-width:0}
.journal-summary-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.journal-summary-header h3{margin:0;color:#40516a;font-size:15px;font-weight:600}
.journal-summary-header time,.journal-summary-header small,.journal-summary-header>span{font-size:10px;color:#929caa;line-height:1.6}
.journal-summary-counts{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:9px;color:#69798d;font-size:12px;line-height:1.8}
.journal-summary-gains{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.journal-summary-gains>span,.day-summary-row .dynamic-gains>span{font-size:11px;line-height:1.6;padding:4px 7px;color:#37815b;background:#edf7f0;border-radius:6px;overflow-wrap:anywhere}
.journal-today-summary details{margin-top:12px;border-top:1px solid #edf0f4;padding-top:3px}
.journal-today-summary summary{min-height:44px;align-content:center;color:#708098;font-size:12px;cursor:pointer}
.day-summary-sections{display:grid;gap:0;min-width:0}
.day-summary-row{padding:11px 0;border-top:1px solid #f0f2f5;min-width:0;font-size:12px;line-height:1.8;color:#7b8798}
.day-summary-row:first-child{border-top:0}
.day-summary-row>strong,.day-summary-row h4{margin:0;color:#52657e;font-size:12px;font-weight:500}
.day-summary-row p{font-size:11px;line-height:1.8;color:#8792a0;margin-top:4px;overflow-wrap:anywhere}
.day-summary-row .dynamic-gains{margin-top:6px}
@media(max-width:360px){.dynamic-play-section{padding:12px}.dynamic-play-heading h4{font-size:13px}.journal-today-summary{padding:13px}}
.journal-summary-label{margin:12px 0 0;color:#8594a5;font-size:11px;font-weight:400}
.day-summary-row .journal-summary-header{align-items:flex-start}
.day-summary-row .journal-summary-header>h4{flex:none}
.day-summary-row .journal-summary-header>span{text-align:right;overflow-wrap:anywhere}

/* Mobile trading and guild ship details: bounded cards instead of wide tables. */
.detail-trade,.detail-guild-ships{min-width:0;max-width:100%;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.detail-trade .detail-heading,.detail-guild-ships .detail-heading{font-size:15px;margin:22px 0 10px;color:#394b61}.detail-trade .detail-line,.detail-guild-ships .detail-line{font-size:14px;gap:12px}.detail-trade .detail-line>span,.detail-guild-ships .detail-line>span{min-width:0;flex-shrink:1}.detail-trade .detail-line>strong,.detail-guild-ships .detail-line>strong{min-width:0;max-width:68%;font-variant-numeric:tabular-nums}.detail-trade .detail-note,.detail-guild-ships .detail-note{font-size:13px;line-height:1.65;color:#7f8a98}.detail-trade .visual-metrics,.detail-guild-ships .visual-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-trade .visual-metric,.detail-guild-ships .visual-metric{padding:11px;min-width:0}.detail-trade .visual-metric>span,.detail-guild-ships .visual-metric>span{font-size:13px}.detail-trade .visual-metric>strong,.detail-guild-ships .visual-metric>strong{font-size:18px}.detail-trade .visual-meter-label,.detail-guild-ships .visual-meter-label{font-size:13px}.detail-trade-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;max-width:100%}.detail-trade-card,.detail-ship-card{min-width:0;max-width:100%;padding:12px;border:1px solid #e7ecf3;border-radius:12px;background:#fafbfd;overflow-wrap:anywhere}.detail-trade-card-head,.detail-ship-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;margin-bottom:8px}.detail-trade-card-head>strong,.detail-ship-card-head>strong{min-width:0;font-size:15px;font-weight:600;color:#3b4e65;overflow-wrap:anywhere}.detail-trade-card-head>span,.detail-ship-card-head>span{min-width:0;max-width:48%;font-size:13px;color:#6382a4;text-align:right;overflow-wrap:anywhere}.detail-trade-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;min-width:0}.detail-trade-fact{min-width:0;display:flex;flex-direction:column;gap:3px}.detail-trade-fact>span{font-size:13px;color:#8491a0}.detail-trade-fact>strong{font-size:15px;font-weight:500;color:#4b627f;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.detail-trade-transaction .detail-trade-facts{border-top:1px solid #e9edf3;margin-top:8px;padding-top:9px}.detail-trade-transaction>.detail-note{margin-top:0}.detail-trade .detail-table-scroll{width:100%;min-width:0;max-width:100%}.detail-trade .detail-table{min-width:0;table-layout:fixed;font-size:14px}.detail-trade .detail-table th,.detail-trade .detail-table td{min-width:0;white-space:normal;position:static}.detail-trade .detail-rewards>span{font-size:13px}.detail-ship-summary{padding:11px 12px;margin:10px 0;background:#f3f7fc;border-radius:10px;color:#627b97;font-size:14px;line-height:1.65}.detail-ship-card+.detail-ship-card{margin-top:10px}.detail-ship-own{border-color:#c4daf1;background:#f6faff}.detail-ship-cabins{font-size:14px;color:#62768d;margin:8px 0}.detail-ship-deadline{font-size:14px;color:#397db9;margin:10px 0;font-variant-numeric:tabular-nums}.detail-ship-materials{margin-top:12px;padding-top:9px;border-top:1px solid #e5ebf3}.detail-ship-materials>h6{font-size:13px;font-weight:500;color:#9a7754;margin:0 0 3px}.detail-ship-reward-list{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:12px;padding-top:10px;border-top:1px solid #e5ebf3;min-width:0}.detail-ship-reward-list>span{font-size:13px;flex-basis:100%;color:#8392a4}.detail-ship-reward-list>strong{font-size:14px;min-width:0;max-width:100%;font-weight:500;color:#54765c;overflow-wrap:anywhere}
.detail-trade>.visual-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;max-width:100%}.detail-trade>.visual-metrics>.visual-metric{display:block;min-width:0;max-width:100%;padding:10px 7px;border-radius:10px}.detail-trade>.visual-metrics>.visual-metric>span{display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.detail-trade>.visual-metrics>.visual-metric>strong{display:block;font-size:16px;line-height:1.4;margin-top:4px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

/* Alliance status stays in one mobile page, with one clearly separated block per job. */
.detail-guild{min-width:0;font-size:14px}.detail-guild-identity{padding:0 0 14px;display:grid;gap:8px}.detail-guild-identity>strong{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.detail-guild-badges{display:flex;gap:6px;flex-wrap:wrap}.detail-guild-badges span{padding:4px 7px;background:#f3f6fa;border-radius:6px;font-size:12px;color:#526478}.detail-guild-section{border-top:1px solid #edf0f3;padding:14px 0}.detail-guild-section:first-of-type{padding-top:12px}.detail-guild-section .detail-heading{margin:0 0 10px;font-size:15px}.detail-guild-entry{padding:10px 12px;background:#f8f9fb;border-radius:10px;min-width:0}.detail-guild-entry+.detail-guild-entry{margin-top:8px}.detail-guild-entry h6{font-size:13px;margin:0 0 6px}.detail-guild-status{margin:0 0 6px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.detail-guild-status.complete{color:#16815a}.detail-guild-status.ready{color:#006ed6}.detail-guild-entry .detail-note{line-height:1.7;font-size:12px;overflow-wrap:anywhere}.detail-guild-entry .detail-line{gap:12px;align-items:start;font-size:13px}.detail-guild-entry .detail-line strong{max-width:65%;overflow-wrap:anywhere}.detail-guild-section>.visual-metrics{margin-bottom:10px}.detail-guild .detail-rewards{gap:5px;flex-wrap:wrap}.detail-guild .detail-rewards span{font-size:12px;overflow-wrap:anywhere}.detail-reset{font-size:13px;align-items:start;margin-bottom:12px}.detail-reset strong{max-width:72%;overflow-wrap:anywhere}
.registration-consent{display:flex;align-items:center;flex-wrap:wrap;column-gap:4px;row-gap:0;margin-top:12px}.registration-consent-check{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:#566171;font-size:13px;cursor:pointer}.registration-consent-check input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--blue)}.registration-consent-check input:focus-visible{outline:2px solid #9fcaff;outline-offset:3px}.registration-consent .terms-link{font-size:13px;min-height:44px;padding:0 2px;text-align:left;white-space:normal;line-height:1.6}.member-form .terms-status{font-size:12px;line-height:1.7;color:#747e8d}.terms-retry{align-self:flex-start;min-height:44px;font-size:13px}.terms-dialog{width:min(520px,calc(100vw - 24px))}.terms-dialog .profile-dialog-header{align-items:flex-start}.terms-dialog .profile-dialog-header h2{font-size:17px;padding-top:6px}.terms-dialog .profile-dialog-header .text-button{flex:none;min-height:40px}.terms-content{font-size:14px;line-height:1.85;overflow-wrap:anywhere}.terms-version{font-size:12px;color:#7a8493;margin-bottom:18px}.terms-section+.terms-section{border-top:1px solid #edf0f4;margin-top:18px;padding-top:18px}.terms-section h3{font-size:15px;line-height:1.7;margin:0 0 10px;color:#37455a}.terms-section p{margin:0 0 10px;color:#566171}.terms-section p:last-child{margin-bottom:0}

/* Website membership comes before connecting a game account. */
.auth-shell{padding-top:calc(36px + env(safe-area-inset-top))}
.auth-header{margin-bottom:20px}
.auth-steps{display:flex;align-items:center;gap:16px;margin:0 0 22px;padding:0;list-style:none}
.auth-steps li{display:flex;align-items:center;gap:6px;color:#747e8d;font-size:12px;line-height:1.5;min-width:0}
.auth-steps li[aria-current=step]{color:#2868ac}
.auth-step-number{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#e7eaf0;color:#6f7a89;font-size:12px;font-weight:600}
.auth-steps li[aria-current=step] .auth-step-number{background:#e4efff;color:#2868ac}
.auth-new-user{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;margin-bottom:8px;background:#eaf3ff;border-radius:13px}
.auth-new-user>div{min-width:0}
.auth-new-user strong{font-size:14px;color:#2b527d;font-weight:600}
.auth-new-user p{margin-top:4px;color:#526f91;font-size:12px;line-height:1.6}
.auth-new-user .button{flex:none;min-height:44px;padding:9px 14px;background:#fff;color:#2868ac;font-size:14px}

/* App preparation stays in one shared help dialog, outside either login form. */
.auth-game-help{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:48px;margin-top:22px;padding:11px 14px;background:#fff;border:1px solid #e5e7ec;border-radius:12px;color:#4074ac;text-align:left;font-size:14px}
.auth-game-help span:last-child{font-size:21px;color:#8fa3bb}
.auth-game-help+.auth-footnote{margin-top:13px}
.game-help-inline{font-size:13px;padding:0 2px;min-height:44px;margin:-3px 0 13px;text-align:left}
.game-login-help-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px)}
.game-login-help-dialog .profile-dialog-header{align-items:flex-start;gap:10px}
.game-login-help-dialog .profile-dialog-header h2{font-size:17px;padding-top:5px;line-height:1.5}
.game-login-help-dialog .profile-dialog-header .text-button{flex:none;min-height:36px}
.game-help-intro{font-size:13px;line-height:1.8;color:#657083}
.game-help-steps{list-style:none;margin:18px 0 0;padding:0}
.game-help-steps>li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;padding:0 0 20px}
.game-help-steps>li+li{padding-top:18px;border-top:1px solid #edf0f4}
.game-help-number{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eaf3ff;color:#4074ac;font-size:13px;font-weight:600}
.game-help-steps h3{font-size:15px;font-weight:600;line-height:26px;margin:0 0 6px}
.game-help-steps p{font-size:13px;line-height:1.8;color:#687383;margin:0}
.game-help-steps p strong{font-weight:500;color:#4b596d}
.game-help-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;margin-top:12px}
.game-help-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 13px;font-size:13px;text-decoration:none}
.game-help-actions .text-button{display:inline-flex;align-items:center;min-height:44px;padding:0;font-size:12px;text-decoration:none}
.game-help-finish{font-size:13px;line-height:1.8;color:#4d6d91;background:#f1f6fd;border-radius:11px;padding:12px 13px;margin:0}
.game-help-copy-fallback{margin:0 0 16px}
.game-help-copy-fallback input{box-sizing:border-box;width:100%;min-width:0;font-size:14px;padding:10px;border:1px solid #e5e7ec;border-radius:9px;background:#f7f8fa}

.delete-confirm-dialog{width:min(470px,calc(100vw - 24px));max-height:calc(100dvh - 28px)}.delete-confirm-dialog .profile-dialog-body{overflow-y:auto}.delete-loss{font-size:12px;line-height:1.7;color:#7b5b51;background:#fff5ee;border-radius:12px;padding:12px;margin:0 0 20px;overflow-wrap:anywhere}.delete-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;list-style:none;margin:0 0 20px;padding:0}.delete-progress li{border-top:4px solid #e9edf2;padding-top:9px;font-size:11px;color:#98a0ad;text-align:center}.delete-progress li.current,.delete-progress li.complete{border-color:var(--blue);color:#466b91}.delete-step{font-size:12px;color:#8190a1;margin:0 0 7px}.delete-question{border:0;min-width:0;padding:0;margin:0}.delete-question legend{font-size:19px;line-height:1.5;font-weight:650;color:#28374a;margin-bottom:17px;padding:0}.delete-choices{display:grid;gap:10px}.delete-choice{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;padding:14px 13px;border:1px solid #e2e7ef;border-radius:13px;background:#fff;font-size:14px;line-height:1.65;color:#526174;cursor:pointer;overflow-wrap:anywhere}.delete-choice input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--blue)}.delete-choice.selected{border-color:#76b1ef;background:#f1f7ff;color:#27527e}.delete-choice:focus-within{outline:2px solid #a7cff6;outline-offset:2px}.delete-answer-hint{font-size:12px;line-height:1.6;color:#a56636;margin:12px 0 0}.delete-confirm-dialog .account-delete-actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:22px}.delete-confirm-dialog .account-delete-actions .danger{color:#fff;background:#cf4a4a}.delete-confirm-dialog .account-delete-actions .button:disabled{opacity:.4;cursor:not-allowed}.delete-cancel{width:100%;margin-top:7px;min-height:44px;color:#758397}.delete-confirm-dialog #game-time-account{margin-bottom:10px}.delete-confirm-dialog [hidden]{display:none!important}@media(max-width:360px){.delete-confirm-dialog{width:calc(100vw - 16px)}.delete-choice{font-size:13px;padding:12px 11px}.delete-question legend{font-size:18px}}

/* One direct login announcement; history stays readable in the same dialog. */
#announcement-dialog-title:focus{outline:none}
.announcement-entry{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;margin:0 0 12px;padding:10px 12px;border:0;border-radius:11px;background:#eaf3ff;color:#365f8c;text-align:left;font-size:13px}.announcement-entry-label{flex:none;font-weight:650}.announcement-entry>#announcement-entry-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:12px;background:#e75555;color:white;font-size:11px;flex:none}.announcement-dialog{width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 28px)}.announcement-dialog .profile-dialog-header{gap:12px}.announcement-dialog .profile-dialog-header h2{flex:1}.announcement-dialog .profile-dialog-body{overflow-y:auto;min-height:100px}.announcement-list-row{display:block;width:100%;padding:16px 0;background:none;border:0;border-bottom:1px solid #edf0f4;text-align:left;color:#304158;min-height:64px}.announcement-list-heading{display:flex;align-items:start;gap:7px}.announcement-list-heading>strong{min-width:0;flex:1;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.announcement-pinned,.announcement-dot{flex:none;font-size:11px;color:#3679ba;padding-top:4px}.announcement-dot{color:#bd4d4d}.announcement-date{display:block;font-size:12px;color:#8a94a2;margin-top:7px}.announcement-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.85;margin-top:22px;color:#40516a}.announcement-dialog article h3{font-size:19px;line-height:1.6;margin:0;overflow-wrap:anywhere}.announcement-editor{display:grid;gap:14px;min-width:0}.announcement-body-input{box-sizing:border-box;display:block;width:100%;min-height:240px;line-height:1.6;resize:vertical;font:inherit;padding:12px;border:1px solid #dce3ec;border-radius:10px}.announcement-admin-actions{display:flex;flex-wrap:wrap;gap:8px}.announcement-title-cell{max-width:32em;white-space:normal;overflow-wrap:anywhere}.announcement-status-meta{font-size:12px;color:#8993a0}.announcement-latest-body{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;font:inherit}.announcement-dialog [hidden],.announcement-entry[hidden],.announcement-badge[hidden]{display:none!important}

.announcement-auto-dialog{width:min(350px,calc(100vw - 32px));max-height:calc(100dvh - 40px)}.announcement-auto-dialog .profile-dialog-header{align-items:flex-start;padding:19px 20px 10px}.announcement-auto-dialog .profile-dialog-header h2{font-size:18px;line-height:1.5;overflow-wrap:anywhere}.announcement-auto-dialog .profile-dialog-header .text-button{flex:none;min-height:32px}.announcement-auto-dialog .profile-dialog-body{padding:2px 20px 14px;max-height:60dvh;overflow-y:auto;min-height:0}.announcement-auto-dialog .announcement-body{margin-top:0;font-size:15px;line-height:1.8}.announcement-dialog-footer{padding:0 20px 20px}.announcement-dialog-footer:has(>button[hidden]){display:none}.announcement-history-card{padding:0 0 22px}.announcement-history-card+.announcement-history-card{padding-top:22px;border-top:1px solid #edf0f4}.announcement-history-card h3{font-size:17px;margin:0;line-height:1.6;overflow-wrap:anywhere}.announcement-history-card .announcement-body{margin-top:12px}.announcement-history-ack{margin-top:14px;min-height:40px;padding:8px 20px}
.config-city-plan{display:grid;gap:12px;width:100%;min-width:0}.config-city-plan>.config-structured-row{min-width:0}.config-city-plan>.config-structured-row>.config-input{width:100%;max-width:none;box-sizing:border-box}.config-city-plan .config-choices{min-width:0}

/* Role-scoped formation editor: native cells only, independent from settings. */
.formation-config-entry{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.formation-dialog{width:min(480px,calc(100vw - 24px));max-width:480px;max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:20px;background:var(--background);color:var(--text);overflow:hidden}
.formation-dialog::backdrop{background:#0006}
.formation-dialog[open]{display:flex;flex-direction:column}
.formation-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#fff;border-bottom:1px solid var(--line);flex:none}
.formation-header h2{font-size:18px;line-height:1.4}
.formation-header .text-button{padding:8px;min-width:44px}
.formation-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:16px;display:flex;flex-direction:column;gap:16px}
.formation-shared-note,.formation-count,.formation-direction,.formation-dirty{font-size:12px;color:var(--muted);line-height:1.6}
.formation-shared-note{padding:0 2px}
.formation-field{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;background:#fff;padding:12px;border-radius:13px;font-size:14px}
.formation-field select{min-width:0;max-width:75%;min-height:44px;font-size:16px;background:#f5f6f8;border:1px solid #e7e9ed;border-radius:9px;padding:8px;color:var(--text)}
.formation-field-board{padding:12px 8px;background:#fff;border-radius:16px}
.formation-direction,.formation-count{text-align:center}
.formation-count{margin:3px 0 12px}
.formation-board{display:grid;grid-auto-rows:minmax(82px,auto);gap:8px 5px;min-width:0;margin:8px 0 12px}
.formation-slot{min-width:44px;min-height:82px;padding:8px 3px;border:1px solid #e5e9f0;border-radius:11px;background:#f4f7fc;color:var(--text);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;overflow-wrap:anywhere}
.formation-slot[aria-pressed=true]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:#edf5ff}
.formation-slot strong{font-size:13px;line-height:1.35;font-weight:600;text-wrap:balance}
.formation-slot small,.formation-slot-index{font-size:10px;line-height:1.4;color:#6a7482}
.formation-slot small{font-size:11px;white-space:nowrap}
.formation-hero-picker{background:#fff;border-radius:13px;padding:2px 0}
.formation-hero-picker .formation-field{display:block}
.formation-hero-picker select{display:block;width:100%;max-width:100%;margin-top:8px}
.formation-hero-picker .text-button{margin:0 12px 6px;color:var(--red)}
.formation-footer{flex:none;padding:10px 16px calc(16px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
.formation-dirty{min-height:20px;margin-bottom:8px;text-align:center}
.formation-footer-actions,.formation-confirm-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:10px}
.formation-confirm{padding:18px;background:#fff;border:1px solid #e4e8ee;border-radius:14px}
.formation-confirm p{font-size:15px;line-height:1.7;margin-bottom:18px}
.formation-empty{padding:28px 12px;text-align:center;color:var(--muted)}
@media(max-width:374px){.formation-body{padding:12px}.formation-board{gap:7px 3px}.formation-slot{padding:7px 2px}.formation-slot strong{font-size:12px}.formation-footer{padding-left:12px;padding-right:12px}}
.formation-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:#e9edf3}
.formation-tabs button{min-height:44px;border-radius:9px;background:transparent;color:#646c78;font-size:14px;font-weight:600}
.formation-tabs button[aria-pressed=true]{background:#fff;color:var(--blue);box-shadow:0 1px 3px #1b2e4810}
.formation-rotation-help{font-size:13px;line-height:1.7;color:#697385;padding:0 2px}
.formation-team-card{background:#fff;border-radius:14px;padding:14px;min-width:0}
.formation-team-heading{display:flex;align-items:center;gap:9px}
.formation-team-heading h3{min-width:0;overflow-wrap:anywhere;font-size:15px;line-height:1.5}
.formation-team-order{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:8px;background:#edf4ff;color:var(--blue);font-weight:600}
.formation-team-summary{font-size:12px;color:var(--muted);margin-top:9px}
.formation-team-heroes{font-size:13px;line-height:1.6;overflow-wrap:anywhere;margin-top:4px;color:#4e596a}
.formation-team-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:10px;border-top:1px solid var(--line);padding-top:6px}
.formation-team-actions .text-button{min-width:54px;padding:8px}
.formation-team-move{min-width:44px;min-height:44px;background:#f3f6fa;color:#4b709b;border-radius:10px;font-size:18px}
.formation-team-delete{color:var(--red)}
.formation-team-name{display:block}
.formation-team-name input{display:block;width:100%;min-height:44px;margin-top:8px;padding:9px 10px;border:1px solid #e7e9ed;border-radius:9px;font-size:16px;color:var(--text);background:#f5f6f8}
.formation-copy-team{align-self:flex-start;padding:0 4px}

/* Configuration categories stay outside the scrolling form. */
.config-group-header{flex:none;min-width:0;padding:8px 16px 0;background:var(--background);border-bottom:1px solid #e9eaed}
.config-group-header .config-group-tabs{position:static;top:auto;margin:0;padding:0 0 8px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
@media(max-width:360px){.config-group-header{padding-left:12px;padding-right:12px}}
/* Clear current selections without reopening the chooser. */
.config-section-heading h3{font-size:15px;color:#252b34}
.config-field-title label{font-size:14px;color:#343b46}
.config-multiselect{flex-direction:column;align-items:stretch;gap:7px}
.config-choices{background:#fff;border-color:#e1e6ee;border-radius:12px;min-width:0}
.config-choices>.config-choice-summary{display:block;list-style:none;padding:11px 12px;min-height:46px;color:#354154}
.config-choice-summary::-webkit-details-marker{display:none}
.config-choice-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#727d8b;line-height:22px}
.config-choice-edit{color:var(--blue);flex:none}
.config-choice-edit:after{content:'⌄';display:inline-block;margin-left:6px}
.config-choices[open]>.config-choice-summary .config-choice-edit:after{transform:rotate(180deg)}
.config-selected-values{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;min-width:0}
.config-selected-value{display:inline-block;max-width:100%;padding:4px 8px;border-radius:7px;background:#edf4ff;color:#285f9f;font-size:13px;line-height:1.55;white-space:normal;overflow-wrap:anywhere}
.config-selected-unavailable{background:#f1f2f5;color:#727b87}
.config-choices>.config-search{width:calc(100% - 20px);margin:0 10px 9px;box-sizing:border-box}
.config-choice-list{padding:0 8px 8px;overscroll-behavior:contain;scrollbar-gutter:stable}
.config-choice{min-height:44px;padding:7px 9px;border:0;border-radius:8px;gap:10px;font-size:14px;color:#3e4856}
.config-choice+.config-choice{margin-top:2px}
.config-choice.is-selected{background:#edf4ff;color:#175ba9}
.config-choice>span{min-width:0;overflow-wrap:anywhere}
.config-choice input{width:19px;height:19px;margin:0}
.config-select .config-input{min-height:44px;color:#2e3c50;background:#f7f9fc;border-color:#dfe5ee}
.config-select-compact>.config-field-copy{min-width:0}
.config-fleet-tab{font-size:13px}
.config-seed-stock{width:100%;min-width:0;display:grid;gap:8px}.config-seed-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:13px}.config-seed-row{padding:7px 9px;min-height:48px;background:#fafbfd;border-radius:9px}.config-seed-row .config-field-copy{min-width:0;flex:1}.config-seed-row>.config-input{flex:none;width:84px;max-width:84px;background:#fff}.config-city-plan .config-field-title label{white-space:normal;overflow-wrap:anywhere}.config-city-plan>.plain-caption,.config-city-plan .config-structured-row>.plain-caption{padding:3px 10px;line-height:1.7}.config-city-plan .config-select-compact>.config-input{max-width:65%;min-width:0}.detail-city-battle,.detail-pet-experience{margin-top:12px;padding-top:10px;border-top:1px solid #edf0f5}.detail-city-card{background:#f7f9fc;padding:10px 12px;border-radius:10px;margin-top:8px}.detail-city-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}.detail-city-head>span{font-size:11px;color:#8a94a3}.detail-city-head strong{min-width:0;overflow-wrap:anywhere}.detail-city-card .detail-line{padding-bottom:0}@media(max-width:360px){.config-seed-row>.config-input{width:74px;max-width:74px}.config-city-plan .config-field{padding:9px 7px}.detail-city-head{align-items:flex-start}.detail-city-head>span{flex:none}}
/* Keep long configuration choices inside the form instead of the browser popup. */
select.config-input,select.config-input option,.config-select.config-select-compact>select.config-input{text-align:left;text-align-last:left}
.config-single-choice>.config-choice-summary .config-choice-heading{align-items:flex-start;font-size:14px;line-height:1.65}
.config-single-value{min-width:0;color:#2e3c50;overflow-wrap:anywhere;white-space:normal}
.config-single-choice .config-choice-list{max-height:min(300px,42dvh);overflow-y:auto}
.config-single-choice .config-choice{align-items:flex-start;padding:10px 8px}
.config-single-choice .config-choice input{margin-top:2px}
.config-choice-copy{display:flex;flex:1;flex-direction:column;gap:3px;text-align:left}
.config-choice-copy small{font-size:12px;font-weight:400;line-height:1.6;color:#7b8796}
.config-single-choice>.config-choice-summary[aria-disabled=true]{opacity:.6;cursor:default}
.config-choice-summary:focus-visible{outline:2px solid #9fcaff;outline-offset:-3px;border-radius:10px}
.config-city-plan>.config-structured-row>.config-single-choice{width:auto;margin:10px;border-color:#dfe5ee}

/* Two rows share a horizontal rail; six compact columns fit each viewport. */
.dynamic-screen>.dynamic-category-tabs{display:grid;grid-template-rows:repeat(2,44px);grid-auto-flow:column;grid-auto-columns:calc((100% - 20px)/6);gap:5px 4px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:8px 0 10px;scrollbar-width:none}
.dynamic-category-tabs button{min-width:0;min-height:44px;padding:5px 2px;font-size:11px;border-radius:12px;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.dynamic-category-tabs::-webkit-scrollbar{display:none}
.dynamic-map-host,.dynamic-backpack-host{min-width:0;max-width:100%}
.dynamic-map-host .sea-world-map{border:0;padding:0;border-radius:0}
.auth-recovery-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:2px}
.auth-recovery-links .text-button{min-height:44px;font-size:13px;padding:4px 0}
.web-recovery-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.web-recovery-field>label{font-size:13px;color:#646a75}
.web-recovery-account{font-size:14px;line-height:1.7;color:#788596;margin:0 0 14px;overflow-wrap:anywhere}
.web-recovery-account>strong{display:block;font-size:18px;color:#365d8b;font-weight:600;user-select:text}
.web-recovery-request-number{font-size:12px;line-height:1.7;color:#9297a1;margin:0 0 8px;overflow-wrap:anywhere}.web-recovery-request-number>span{user-select:text}
.web-recovery-manual{font-size:12px;line-height:1.7;color:#9297a1;margin:15px 0 0}
.web-recovery-dialog .field-hint{font-size:12px;line-height:1.7}
#web-recovery-return{min-height:44px;margin-top:8px}

/* Account-local feedback never blocks the surrounding page or other roles. */
.hosting-start[aria-busy="true"],.hosting-stop[aria-busy="true"]{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.hosting-start[aria-busy="true"]:disabled{background:#e6f0ff;color:#2469ba}
.hosting-start .spinner,.hosting-stop .spinner{width:14px;height:14px;flex:0 0 14px}
@media(prefers-reduced-motion:reduce){.hosting-start .spinner,.hosting-stop .spinner{animation:none}}
.dynamic-loading-title{display:flex;align-items:center;justify-content:center;gap:8px}.dynamic-loading-title .spinner{width:16px;height:16px;flex:0 0 16px}
@media(prefers-reduced-motion:reduce){.dynamic-loading-title .spinner{animation:none}}
.config-name-entry{display:flex;align-items:center;gap:8px;margin-top:9px;min-width:0}.config-name-entry>.config-input{flex:1;width:0;min-width:0;max-width:none;text-align:left}.config-name-entry>.text-button{flex:none;min-width:52px;min-height:44px}.config-name-entry+.plain-caption{padding-top:4px;color:var(--muted)}

.config-alliance-picker{width:100%;min-width:0}.config-fleet-guild-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.config-fleet-guild-targets .config-alliance-card{min-width:0;align-items:flex-start;padding:12px 10px;border:1px solid #e1e7ef;border-left:4px solid #c6d0de;border-radius:10px;gap:9px}.config-alliance-card input{flex:0 0 auto;margin-top:3px}.config-alliance-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.config-alliance-name{font-size:14px;line-height:1.4;overflow-wrap:anywhere;font-weight:600}.config-alliance-meta{font-size:11px;line-height:1.5;color:#7d8da3}.config-alliance-own{font-size:11px;color:#276da9}.config-alliance-pending{font-size:11px;color:#8390a1}.config-alliance-card.is-unavailable{background:#f6f8fa}.config-alliance-card.is-selected{border-color:#80b9ff;background:#edf5ff}.config-alliance-selected{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:10px;font-size:12px;color:#6f8095}.config-alliance-chip{border:1px solid #d8e8ff;border-radius:14px;background:#f0f6ff;color:#2869ac;font:inherit;padding:5px 9px;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.config-alliance-chip:disabled{cursor:default;opacity:.7}

/* 极限试炼词条编辑器 */
.config-ultra-affixes { align-items:stretch; }
.ultra-affix-editor { min-width:0; border:1px solid #dce4ee; border-radius:10px; overflow:hidden; }
.ultra-affix-header,.ultra-affix-row { display:flex; align-items:center; gap:8px; padding:10px; }
.ultra-affix-header output { color:#174572; font-weight:700; }
.ultra-affix-editor small { font-size:11px; color:#5d6f85; }
.ultra-affix-header .text-button { margin-left:auto; }
.ultra-affix-tabs { display:flex; background:#f4f7fb; }
.ultra-affix-tabs button { flex:1; padding:6px 2px; border:0; border-bottom:2px solid transparent; background:transparent; color:#435872; }
.ultra-affix-tabs button[aria-pressed="true"] { border-color:#2676c9; color:#175fa8; font-weight:600; }
.ultra-affix-tabs small,.ultra-affix-copy small { display:block; margin-top:3px; }
.ultra-affix-row { justify-content:space-between; flex-wrap:wrap; border-top:1px solid #edf0f5; }
.ultra-affix-copy { flex:1 1 135px; font-size:13px; line-height:1.45; overflow-wrap:anywhere; }
.ultra-affix-stars { display:flex; align-items:center; margin-left:auto; }
.ultra-affix-stars button { min-width:23px; min-height:30px; padding:0 2px; border:0; border-radius:4px; background:#eff5fc; color:#2065a8; font-size:16px; }
.ultra-affix-stars .ultra-star { background:transparent; color:#b7c3d2; }
.ultra-affix-stars .ultra-star.is-filled { color:#bb7d07; }
.ultra-affix-stars button:disabled:not(.ultra-star) { opacity:.45; }
.admin-monitor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.admin-monitor-toolbar label{display:flex;align-items:center;gap:8px;font-size:13px;color:#667085}
.admin-monitor-toolbar select{padding:9px 12px;border:1px solid #d8e1ed;border-radius:9px;background:#fff;color:#202124}
.admin-monitor-cards{margin-bottom:20px}
.admin-monitor-cards strong{font-variant-numeric:tabular-nums;font-size:22px}
.admin-monitor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-monitor-chart{border:1px solid #e6ebf2;border-radius:14px;padding:16px 12px 8px;min-width:0;background:#fff}
.admin-monitor-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:0 6px}
.admin-monitor-chart-heading h3{margin:0;font-size:15px}
.admin-monitor-legend{display:flex;gap:12px;font-size:12px;color:#667085}
.admin-monitor-legend span{display:flex;gap:5px;align-items:center}
.admin-monitor-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.admin-monitor-chart svg{display:block;width:100%;height:auto;overflow:visible;margin-top:12px}
.admin-monitor-empty{margin:0;text-align:center;color:#8b95a4;font-size:12px;padding-bottom:8px}
.admin-monitor-warning{color:#b45309!important}
@media(max-width:720px){.admin-monitor-grid{grid-template-columns:1fr}.admin-monitor-chart{padding:14px 8px 8px}.admin-monitor-cards strong{font-size:20px}}

.dynamic-order-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:26px;margin:0 2px 4px}
.dynamic-order-controls .text-button{font-size:12px;padding:4px}
.dynamic-order-help{margin-right:auto;font-size:11px;color:#8793a1}
.dynamic-category-tabs .dynamic-tab-sortable{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.dynamic-category-tabs .dynamic-tab-dragging{cursor:grabbing;outline:2px solid #007aff;outline-offset:-2px;box-shadow:0 2px 10px #007aff33}
.config-share-menu{max-width:380px}.config-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 8px}.config-share-actions .button{min-width:0;font-size:14px}
.config-share-code{display:block;width:100%;box-sizing:border-box;min-height:116px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font:16px/1.5 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere;word-break:break-all}
.config-share-footer{display:flex;gap:8px;justify-content:flex-end;flex:none;padding:12px 16px;background:#fff;border-top:1px solid var(--line)}.config-share-footer .button{flex:1;min-width:0;font-size:14px}
.config-share-preview{display:flex;flex-direction:column;gap:12px}.config-share-summary{font-size:14px;font-weight:600}.config-share-review{padding:12px;border-radius:12px;background:#fff;font-size:13px;line-height:1.6}.config-share-review ul{padding-left:20px;margin:7px 0}.config-share-review .plain-caption{margin-top:8px}.config-share-change{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.config-share-change span{min-width:0;overflow-wrap:anywhere}.config-share-change small{color:var(--muted);text-align:right;flex-shrink:0;max-width:48%;overflow-wrap:anywhere}
/* SEA_DYNAMIC_ADDONS: generated by scripts/build-public-addons.mjs */
/* source: public/world-map.css */
.sea-world-map{position:relative;margin:8px 0 0;padding:0;border:0;background:#fff;color:#202124;min-width:0;font-size:12px}
.sea-map-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sea-map-button{appearance:none;border:1px solid #cfd9e3;background:#fff;color:#526274;font:inherit;font-size:11px;line-height:1.2;padding:4px 7px;border-radius:12px;cursor:pointer}
.sea-map-button:disabled{opacity:.45;cursor:default}.sea-map-button:focus-visible{outline:2px solid #237ae1;outline-offset:2px}
.sea-map-status{display:block;color:#7c8795;font-size:10px;margin:3px 0 6px}.sea-world-map.has-map>.sea-map-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.sea-map-layer-box{margin:0 0 5px}.sea-map-layer-choices{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.sea-map-layer-choices>.sea-map-button{min-height:23px;min-width:0;padding:3px 7px;border-radius:11px;font-size:10px;white-space:nowrap}
.sea-map-layer-choices>.sea-map-button[aria-pressed=true]{background:#e2efff;border-color:#8bbaff;color:#2368af}
.sea-map-layer-choices>.sea-map-button:disabled{opacity:.55}
.sea-map-viewport{position:relative;overflow:hidden;border-radius:5px;background:#c1d2dc;aspect-ratio:1;border:0;touch-action:pan-y}
.sea-map-viewport>svg{display:block;width:100%;height:100%;min-height:220px;user-select:none;touch-action:pan-y}
.sea-world-map.is-zoomed .sea-map-viewport,.sea-world-map.is-zoomed .sea-map-viewport>svg{touch-action:none;cursor:grab}
.sea-map-territory{fill-opacity:1;stroke:none;pointer-events:none}
.sea-map-city-symbol{stroke:white;stroke-width:.7;vector-effect:non-scaling-stroke}
.sea-map-city text{font-family:inherit;font-weight:600;fill:#1e2732;paint-order:stroke;stroke:white;stroke-linejoin:round;pointer-events:all}
.sea-map-hit-area{fill:transparent;stroke:none;pointer-events:all}
.sea-map-city .sea-map-city-counts{font-weight:400;fill:#5a6878}
.sea-map-city-badge{stroke:none!important}.sea-map-city{cursor:pointer}
.sea-map-city:focus-visible{outline:none}.sea-map-city:focus-visible .sea-map-city-symbol{stroke:#1262c5;stroke-width:2}
.sea-map-city.is-declared .sea-map-city-symbol{stroke:#ee4b3d;stroke-width:1.6}
.sea-map-city.is-under-attack .sea-map-city-symbol{stroke:#217fdb;stroke-width:1.6}
.sea-map-fleet{stroke:white;stroke-width:.7;cursor:pointer}.sea-map-fleet path{vector-effect:non-scaling-stroke}
.sea-map-fleet:focus-visible{outline:none;stroke:#202124;stroke-width:1.4}
.sea-map-route{stroke-width:1.15;stroke-opacity:.95;pointer-events:none;vector-effect:non-scaling-stroke}
.sea-map-route-halo{stroke:white;stroke-width:2.1;stroke-opacity:.55;pointer-events:none;vector-effect:non-scaling-stroke}
.sea-map-own-group{cursor:pointer}.sea-map-own-group circle{fill:#156ad3;stroke:white;stroke-width:1}
.sea-map-own-group>text{font-family:inherit;font-size:8px;font-weight:700;fill:white;stroke:none;pointer-events:none}
.sea-map-own-group>.sea-map-own-names{font-size:9px;font-weight:600;fill:#175bb6;paint-order:stroke;stroke:white;stroke-width:2;stroke-linejoin:round;pointer-events:all}
.sea-map-own-group:focus-visible{outline:none}.sea-map-own-group:focus-visible circle{stroke:#142c52;stroke-width:2}
.sea-map-resource{fill:#429e8d;stroke:#fff;stroke-width:.7;cursor:pointer}.sea-map-resource:focus-visible{outline:none;stroke:#007aff;stroke-width:2}
.sea-map-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;margin:0;padding:24px;color:#66788b;font-size:13px;background:#edf3f7}
.sea-map-toolbar{position:absolute;right:7px;bottom:7px;display:flex;flex-direction:column;gap:3px;z-index:2}
.sea-map-toolbar>.sea-map-button{min-width:27px;width:27px;min-height:27px;height:27px;padding:2px;border:1px solid #cadde5;border-radius:5px;background:rgb(255 255 255 / .94);color:#536977;font-size:13px;box-shadow:0 1px 2px #1f39451a}
.sea-map-toolbar>.sea-map-button:nth-child(3){font-size:10px}
.sea-map-viewport>.sea-map-button{position:absolute;right:7px;top:7px;min-height:25px;padding:3px 7px;border-radius:5px;background:rgb(255 255 255 / .92);font-size:10px;z-index:2}
.sea-map-legend{display:flex;flex-wrap:wrap;gap:4px 9px;margin-top:6px;font-size:10px;line-height:1.4;color:#4e5b6b}
.sea-map-legend-item{display:inline-flex;align-items:center;gap:4px;min-width:0;overflow-wrap:anywhere}
.sea-map-legend-dot{display:inline-block;flex:none;width:9px;height:9px;border-radius:1px;border:1px solid rgb(60 75 95 / .12);box-sizing:border-box}
.sea-map-legend-dot.is-unknown{border-style:dashed;border-color:#a8b0bb}
.sea-map-symbol-legend{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:9px;color:#98a1af;line-height:1.5;margin-top:5px}
.sea-map-symbol-legend>span{display:inline-flex;gap:3px;align-items:center}.sea-map-symbol-legend i{font-style:normal;font-size:10px}
.sea-map-symbol-legend .attack{color:#ee4b3d}.sea-map-symbol-legend .defend{color:#217fdb}.sea-map-symbol-legend .rally{color:#c14748}
.sea-map-detail{position:absolute;z-index:5;padding:11px 12px;border:1px solid #ccd8e4;border-radius:7px;background:rgb(255 255 255 / .97);box-shadow:0 3px 15px #1a324233;font-size:11px;overflow:auto;box-sizing:border-box;cursor:default}
.sea-map-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sea-map-detail-head strong{font-size:12px;overflow-wrap:anywhere}
.sea-map-detail-head .sea-map-button{flex:none;min-height:24px;padding:3px 6px;border:0;font-size:10px;background:#f2f5f8}
.sea-map-detail dl{display:grid;grid-template-columns:minmax(72px,auto) minmax(0,1fr);gap:7px 10px;margin:9px 0 2px}.sea-map-detail dt{color:#82909f}.sea-map-detail dd{margin:0;text-align:right;overflow-wrap:anywhere}
.sea-map-detail-extra p{margin:5px 0;color:#68778a;line-height:1.6;overflow-wrap:anywhere}.sea-map-detail-subhead{display:block;margin-top:10px;font-size:11px}
.sea-map-detail-dialog{border:0;border-radius:16px 16px 0 0;padding:0;width:min(480px,100%);max-width:100%;max-height:75dvh;margin:auto auto 0;box-sizing:border-box;background:white}
.sea-map-detail-dialog::backdrop{background:#14213955}.sea-map-detail-dialog>.sea-map-detail{position:relative;width:100%;max-height:75dvh;border:0;border-radius:16px 16px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:none;font-size:13px}
.sea-map-detail-dialog .sea-map-detail-head strong{font-size:15px}.sea-map-detail-dialog .sea-map-detail-head .sea-map-button{min-height:38px;min-width:44px;font-size:12px}
.sea-map-fleet-list{margin-top:12px;min-width:0}.sea-map-fleet-list-head{display:flex;align-items:center;gap:8px;font-size:11px;margin-bottom:5px}
.sea-map-fleet-list-head>.sea-map-button{border:0;background:none;color:#2269b6;font-size:10px;min-height:23px;padding:2px 0}
.sea-map-fleet-list-body{display:grid;gap:4px;min-width:0}
.sea-map-fleet-list-body>.sea-map-fleet-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%;min-width:0;min-height:23px;padding:3px 2px;border:0;border-radius:3px;background:transparent;text-align:left;color:#4f5c6b;font-size:10px;line-height:1.4}
.sea-map-fleet-row:hover,.sea-map-fleet-row:focus-visible{background:#f0f5fb}.sea-map-fleet-row-faction{font-size:10px;flex:none}.sea-map-fleet-row-name{overflow-wrap:anywhere}
.sea-map-fleet-row-route{font-size:10px}.sea-map-fleet-row-time{color:#2866a8;white-space:nowrap;font-size:10px}
.sea-map-fleet-progress{display:inline-block;position:relative;width:54px;height:5px;flex:none;background:#e1e7ee;border-radius:1px;overflow:hidden}
.sea-map-fleet-progress i{position:absolute;left:0;top:0;bottom:0;background:#629ee8}.sea-map-fleet-auto{font-size:9px;color:#4c79ad;background:#edf4ff;border-radius:3px;padding:1px 3px}
.sea-map-fleet-list-note{font-size:10px;color:#99a4b2;margin:4px 0 0}
.sea-map-foot{font-size:9px;line-height:1.5;color:#99a4b2;margin:8px 0 0}
.sea-map-dialog{border:0;padding:0;max-width:none;max-height:none;width:100%;height:100dvh;margin:0;background:#f5f5f7;color:inherit}
.sea-map-dialog::backdrop{background:rgb(15 23 42 / .35)}
.sea-map-dialog .sea-world-map{min-height:100%;box-sizing:border-box;margin:0;padding:calc(10px + env(safe-area-inset-top)) 10px calc(16px + env(safe-area-inset-bottom));max-width:1000px;margin-inline:auto;overflow-y:auto}
.sea-map-dialog .sea-map-viewport{width:min(100%,78dvh);margin-inline:auto;aspect-ratio:1}
.sea-world-map [hidden]{display:none!important}
@media(max-width:600px){.sea-map-layer-choices{gap:5px}.sea-map-layer-choices>.sea-map-button{font-size:10px;min-height:26px;padding:4px 7px}.sea-map-toolbar>.sea-map-button{min-height:30px;height:30px;min-width:30px;width:30px}.sea-map-fleet-row-name{max-width:60%}.sea-map-fleet-progress{width:42px}}
@media(prefers-reduced-motion:reduce){.sea-world-map *{animation:none!important;transition:none!important}}

/* source: public/backpack.css */
.backpack-view { color:var(--text,#172237); min-width:0; padding:4px 0 18px; }
.backpack-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:12px; }
.backpack-search { box-sizing:border-box; min-width:120px; flex:1 1 180px; width:100%; border:1px solid #e5e8ee; border-radius:12px; padding:12px 14px; background:#fff; color:inherit; font:inherit; font-size:16px; }
.backpack-search:focus-visible,.backpack-category:focus-visible,.backpack-item:focus-visible,.backpack-more:focus-visible,.backpack-dialog-close:focus-visible { outline:2px solid #087cff; outline-offset:2px; }
.backpack-summary { font-size:12px; color:#788391; margin:0; white-space:nowrap; }
.backpack-balances { border:1px solid #e8edf3; border-radius:13px; padding:11px 12px; margin:0 0 13px; background:#fff; }
.backpack-balances-summary { color:#5a687c; font-size:13px; cursor:pointer; }
.backpack-balances-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; padding-top:12px; }
.backpack-balance { border:0; background:#f5f7fa; color:inherit; font:inherit; border-radius:9px; padding:9px; text-align:left; min-width:0; cursor:pointer; }
.backpack-balance-name { display:block; font-size:12px; color:#7b8797; overflow-wrap:anywhere; }
.backpack-balance-amount { display:block; padding-top:4px; font-size:14px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.backpack-balances-summary:focus-visible,.backpack-balance:focus-visible { outline:2px solid #087cff; outline-offset:2px; }
.backpack-categories { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:14px; }
.backpack-category { border:0; border-radius:16px; padding:8px 11px; font:inherit; font-size:13px; line-height:1.2; background:#e9ebf1; color:#596272; cursor:pointer; }
.backpack-category[aria-pressed="true"] { background:#087cff; color:#fff; }
.backpack-status,.backpack-empty { color:#7e8794; font-size:13px; margin:8px 0 12px; line-height:1.5; }
.backpack-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; min-width:0; }
.backpack-item { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:30px 2.7em auto; gap:5px; align-content:start; justify-items:center; box-sizing:border-box; min-width:0; width:100%; min-height:100px; padding:8px 4px; border:1px solid #edf0f4; border-radius:10px; background:#fff; color:inherit; font:inherit; font-size:12px; text-align:center; cursor:pointer; }
.backpack-item-mark { grid-column:1; grid-row:1; display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:8px; font-size:15px; font-weight:600; background:#edf1f7; color:#6b778a; }
.backpack-item-name { grid-column:1; grid-row:2; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; min-width:0; max-width:100%; overflow:hidden; font-size:12px; font-weight:500; line-height:1.35; overflow-wrap:anywhere; }
.backpack-item-type { display:none; }
.backpack-item-amount { grid-column:1; grid-row:3; display:block; min-width:0; max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; line-height:1.4; }
.backpack-item[data-quality="green"] .backpack-item-mark { background:#e8f6ee; color:#328960; }
.backpack-item[data-quality="blue"] .backpack-item-mark { background:#e8f1ff; color:#357bce; }
.backpack-item[data-quality="purple"] .backpack-item-mark { background:#f1eafa; color:#8a5db7; }
.backpack-item[data-quality="orange"] .backpack-item-mark { background:#fff0dd; color:#b78024; }
.backpack-item[data-quality="red"] .backpack-item-mark { background:#ffeded; color:#c75b5b; }
.backpack-more { width:100%; margin-top:12px; padding:12px; border:0; border-radius:12px; background:#eaf2ff; color:#087cff; font:inherit; font-size:14px; cursor:pointer; }
.backpack-dialog { box-sizing:border-box; width:min(420px,calc(100% - 28px)); max-height:75dvh; padding:20px; border:0; border-radius:20px; background:#fff; color:#172237; overflow:auto; box-shadow:0 16px 60px #10182826; }
.backpack-dialog::backdrop { background:#11182766; }
.backpack-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.backpack-dialog-head h3 { min-width:0; margin:0; font-size:18px; line-height:1.5; overflow-wrap:anywhere; }
.backpack-dialog-close { flex-shrink:0; border:0; border-radius:10px; padding:7px 10px; background:#f2f5f9; color:#087cff; font:inherit; font-size:13px; cursor:pointer; }
.backpack-detail-amount { font-size:22px; font-weight:600; margin:18px 0 5px; overflow-wrap:anywhere; }
.backpack-detail-type { color:#87909e; font-size:13px; margin:0 0 16px; }
.backpack-description { white-space:pre-line; line-height:1.7; font-size:14px; }
.backpack-view [hidden] { display:none!important; }
@media (max-width:350px) { .backpack-grid { gap:4px; } .backpack-item { padding:7px 3px; gap:4px; font-size:11px; } .backpack-item-name { font-size:11px; } }

/* source: public/weekly-theme.css */
.weekly-settings { display: grid; gap: 12px; min-width: 0; }
.weekly-theme-settings { min-width: 0; border: 1px solid var(--line, #e5e5ea); border-radius: 14px; background: #fff; overflow: clip; }
.weekly-theme-heading { display: block; padding: 14px; list-style: none; cursor: pointer; }
.weekly-theme-heading::-webkit-details-marker { display: none; }
.weekly-theme-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.weekly-theme-title strong { color: #1d1d1f; font-size: 15px; }
.weekly-theme-title small { flex: none; color: #86868b; font-size: 12px; }
.weekly-theme-title .weekly-enabled { color: #238d63; }
.weekly-theme-summary { display: block; margin-top: 7px; color: #6e6e73; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.weekly-theme-settings[open] > .weekly-theme-heading { border-bottom: 1px solid #ececf0; background: #f8faff; }
.weekly-theme-settings > .config-field,
.weekly-theme-settings > .config-fleet-settings,
.weekly-theme-settings > .config-save-note { margin-left: 12px; margin-right: 12px; min-width: 0; }
.weekly-theme-settings > .config-save-note { font-size: 12px; line-height: 1.6; margin-bottom: 12px; }
.weekly-theme-settings .config-control,
.weekly-theme-settings .config-multiselect { min-width: 0; max-width: 100%; }
@media (max-width: 350px) { .weekly-theme-heading { padding: 12px; } .weekly-theme-settings > .config-field { margin-left: 10px; margin-right: 10px; } }

/* source: public/reference-details.css */
/* Reference integration 2026-10-21: compact in-place detail cards. */
.detail-forge,.detail-museum,.detail-welfare-progress{min-width:0;max-width:100%;overflow-wrap:anywhere}
.detail-forge .detail-line,.detail-museum .detail-line,.detail-welfare-progress .detail-line{font-size:13px;gap:10px}
.detail-forge .detail-line>span,.detail-museum .detail-line>span,.detail-welfare-progress .detail-line>span{min-width:0;flex:1}
.detail-forge .detail-line>strong,.detail-museum .detail-line>strong,.detail-welfare-progress .detail-line>strong{min-width:0;max-width:64%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.detail-forge .detail-heading,.detail-museum .detail-heading{font-size:14px;margin:14px 0 8px;color:#3d5068}
.detail-forge .detail-note,.detail-museum .detail-note,.detail-welfare-progress .detail-note{font-size:12px;line-height:1.65;margin:5px 0;color:#788596}
.detail-progress-card,.detail-forge-type,.detail-museum-exhibits,.detail-museum-teams{min-width:0;padding:10px 0;border-top:1px solid #edf0f5}
.detail-progress-card:first-child,.detail-museum-exhibits:first-child{border-top:0;padding-top:0}
.detail-progress-card>.detail-line:first-child{font-weight:600}
.detail-forge-recipe{padding:7px 10px;border-radius:8px;background:#f7f9fc;margin-top:6px;min-width:0}
.detail-forge-recipe .detail-line{padding:2px 0}
.detail-museum-area{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;min-width:0;padding:9px 0;border-bottom:1px solid #edf0f5;font-size:13px;line-height:1.6}
.detail-museum-area:last-child{border-bottom:0}
.detail-museum-area-name{min-width:0;flex:1 1 120px;font-weight:600;color:#495c72;overflow-wrap:anywhere}
.detail-museum-area-count,.detail-museum-area-pending{font-variant-numeric:tabular-nums;color:#788596}
.detail-museum-area-pending{color:#4985b7}
.detail-progress-card .visual-meter{margin:7px 0}
.detail-forge-type .detail-heading{margin-top:0}
.detail-museum-summary{padding-bottom:10px;border-bottom:1px solid #edf0f5;margin-bottom:8px}

/* Sea trader: dense read-only tables, with scrolling confined to wide tables. */
.detail-trade{font-size:14px;line-height:1.6;min-width:0;max-width:100%;overflow-wrap:anywhere}
.detail-trade .detail-heading{font-size:14px;margin:15px 0 6px;color:#35516f}
.detail-trade .detail-note{font-size:13px;line-height:1.6;margin:5px 0;color:#788596}
.detail-trade-badges{display:flex;flex-wrap:wrap;gap:5px 6px;margin:2px 0 9px}
.detail-trade-inline{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:2px 5px;min-width:0;max-width:100%;font-variant-numeric:tabular-nums}
.detail-trade-inline>span{color:#788596}
.detail-trade-inline>strong{font-weight:500;color:#405a77;min-width:0;overflow-wrap:anywhere}
.detail-trade-badges>.detail-trade-inline{padding:3px 6px;background:#f1f5fb;border:1px solid #e4ebf5;border-radius:5px;font-size:13px}
.detail-trade-ship{padding-bottom:7px;border-bottom:1px solid #e8edf4}
.detail-trade-ship-main{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:15px;line-height:1.7;margin-bottom:3px}
.detail-trade-ship-main .detail-trade-inline>span,.detail-trade-ship-main .detail-trade-inline>strong{color:#2776be;font-weight:600}
.detail-trade-secondary{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:13px;line-height:1.7;min-width:0;color:#788596}
.detail-trade-route{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:8px 0 5px;min-width:0}
.detail-trade-route>.visual-meter{flex:1 0 100%;margin:1px 0 3px;min-width:0}
.detail-trade-route .visual-meter-label{font-size:13px}
.detail-trade-table-scroll{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #e4eaf2;border-radius:7px;margin:5px 0 8px;background:#fff}
.detail-trade-table-scroll:focus-visible{outline:2px solid #84b9f5;outline-offset:2px}
.detail-trade-grid{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px;line-height:1.6;isolation:isolate}
.detail-trade-grid th{background:#f3f6fa;color:#718096;font-weight:500;text-align:left;padding:6px}
.detail-trade-grid td{padding:6px;border-top:1px solid #e8edf4;vertical-align:top;color:#405a77;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;background:var(--trade-row-bg,#fff)}
.detail-trade-grid th,.detail-trade-grid td{box-sizing:border-box;min-width:0}
.detail-trade-cargo{min-width:490px}
.detail-trade-cargo th:first-child{width:100px}
.detail-trade-cargo th:nth-child(2),.detail-trade-cargo th:last-child{width:58px}
.detail-trade-cargo th:nth-child(4),.detail-trade-cargo th:nth-child(5){width:92px}
.detail-trade-ledger{min-width:550px}
.detail-trade-ledger th:first-child{width:110px}
.detail-trade-ledger th:last-child{width:154px}
.detail-trade-wide .detail-trade-grid th:first-child,.detail-trade-wide .detail-trade-grid td:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 #e4eaf2}
.detail-trade-wide .detail-trade-grid th:first-child{z-index:2;background:#f3f6fa}
.detail-trade-ports{min-width:0}
.detail-trade-ports th:first-child{width:28%}
.detail-trade-ports th:nth-child(2),.detail-trade-ports th:nth-child(3){width:23%}
.detail-trade-ports th:last-child{width:26%}
.detail-trade-port-current{--trade-row-bg:#edf6ff}
.detail-trade-port-destination{--trade-row-bg:#fff8e6}
.detail-trade-port-name{font-weight:600}
.detail-trade-port-current .detail-trade-port-label{color:#2776be}
.detail-trade-port-destination .detail-trade-port-label{color:#967237}
.detail-trade-port-source{color:#788596!important;font-weight:400}
.detail-trade-cell-lines>div+div{margin-top:3px}
.detail-trade-muted{font-size:13px;color:#788596}
.detail-trade-profit.positive{color:#238452}
.detail-trade-profit.negative{color:#bd5745}
.detail-trade-profit.unknown,.detail-trade-profit.neutral{color:#788596}
.detail-trade-pending{font-size:13px;margin:6px 0;color:#788596}
.detail-trade-rewards{display:flex;flex-wrap:wrap;gap:8px 16px;min-width:0}
.detail-trade-reward{min-width:0;flex:1 1 190px;padding:3px 0 6px}
.detail-trade-reward-chip{display:inline-flex;flex-wrap:wrap;gap:3px 7px;align-items:baseline;padding:3px 7px;border-radius:5px;background:#f1f5fa;color:#64778c;font-size:13px;margin-bottom:4px}
.detail-trade-reward-chip>strong{font-weight:600}
.detail-trade-reward-chip.ready{background:#eaf6ef;color:#2c8056}
.detail-trade-reward-chip.claimed{background:#f0f3f7;color:#7e8b9a}

.detail-trade-good+.detail-trade-good{margin-top:4px}

.detail-trade-periods { margin-top: 12px; }
.detail-trade-period { border-top: 1px solid #e5eaf2; padding: 8px 0; }
.detail-trade-period-title { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; cursor: pointer; font-size: 12px; line-height: 1.6; }
.detail-trade-period .detail-line { gap: 12px; }
.detail-trade-period .detail-line strong { overflow-wrap: anywhere; text-align: right; }

/* source: public/chip-forecast.css */
.chip-forecast-view { min-width:0; color:var(--text,#172237); }
.chip-forecast-timing,.chip-forecast-updated { color:#8290a2; font-size:12px; }
.chip-forecast-current { margin:8px 0; font-size:13px; line-height:1.6; color:#59677b; }
.chip-forecast-track { height:5px; overflow:hidden; border-radius:6px; background:#e9eef5; margin:0 0 16px; }
.chip-forecast-bar { height:100%; border-radius:inherit; background:#1684ff; transition:width .25s ease; }
.chip-forecast-status { padding:8px 10px; border-radius:9px; background:#fff8e8; color:#8c6d2c; font-size:12px; line-height:1.6; }
.chip-forecast-points { display:block; font-size:21px; line-height:1.5; color:#087cff; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.chip-forecast-reach { margin:4px 0 14px; font-size:13px; line-height:1.6; }
.chip-forecast-reward-title { margin:0 0 7px; color:#7a8798; font-size:12px; }
.chip-forecast-rewards { display:flex; flex-wrap:wrap; gap:6px; }
.chip-forecast-reward { padding:5px 7px; border-radius:6px; background:#eef8f3; color:#307c5b; font-size:12px; overflow-wrap:anywhere; }
.chip-forecast-gap { margin:14px 0 5px; font-size:13px; }
.chip-forecast-reinvest { margin:0; font-size:12px; line-height:1.65; color:#78869a; }
.chip-forecast-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; }
.chip-forecast-more,.chip-forecast-close { flex-shrink:0; border:0; background:#eef4fd; color:#087cff; border-radius:9px; font:inherit; font-size:13px; padding:9px 11px; cursor:pointer; }
.chip-forecast-more:disabled { opacity:.45; cursor:default; }
.chip-forecast-more:focus-visible,.chip-forecast-close:focus-visible { outline:2px solid #087cff; outline-offset:2px; }
.chip-forecast-dialog { box-sizing:border-box; width:min(460px,calc(100% - 28px)); max-height:80dvh; padding:20px; border:0; border-radius:20px; color:#172237; background:#fff; overflow:auto; box-shadow:0 16px 60px #10182826; }
.chip-forecast-dialog::backdrop { background:#11182766; }
.chip-forecast-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.chip-forecast-dialog-head h3 { margin:0; font-size:18px; }
.chip-forecast-dialog h4 { font-size:14px; margin:18px 0 5px; }
.chip-forecast-detail-note { font-size:12px; line-height:1.6; color:#8590a1; }
.chip-forecast-detail-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; padding:10px 0; border-bottom:1px solid #eef1f5; font-size:13px; }
.chip-forecast-item-name,.chip-forecast-item-value { overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.chip-forecast-item-note { grid-column:1 / -1; color:#8290a2; font-size:12px; line-height:1.5; }
.chip-forecast-detail-row[data-reachable="true"] .chip-forecast-item-value { color:#307c5b; }
.chip-forecast-view [hidden],.chip-forecast-view[hidden] { display:none!important; }

/* source: public/trade-config.css */
.config-trade-stages { width:100%; min-width:0; display:grid; gap:10px; }
.config-trade-stage { min-width:0; border:1px solid #e8edf4; border-radius:13px; padding:10px 12px 2px; background:#fff; }
.config-trade-stage-heading { display:flex; align-items:center; gap:6px; min-width:0; padding-bottom:8px; border-bottom:1px solid #eef1f6; }
.config-trade-stage-heading .config-trade-threshold { display:flex; align-items:center; flex:1; min-width:0; min-height:44px; gap:5px; margin:0; padding:0; border:0; }
.config-trade-threshold .config-field-copy { flex:0 0 auto; min-width:0; }
.config-trade-threshold .config-field-title { margin:0; }
.config-trade-threshold .config-field-title label { font-size:12px; font-weight:600; white-space:nowrap; }
.config-trade-threshold .config-unit { display:none; }
.config-trade-threshold .config-input { box-sizing:border-box; flex:1 1 70px; width:70px; min-width:48px; max-width:116px; padding:8px 5px; font-size:14px; text-align:right; }
.config-trade-threshold-suffix { flex-shrink:0; font-size:12px; white-space:nowrap; color:#647188; }
.config-trade-remove { flex:0 0 auto; padding:7px 0 7px 5px; font-size:11px; }
.config-trade-fallback-title { flex:1; font-size:13px; }
.config-trade-fallback-tag { font-size:11px; padding:4px 7px; border-radius:6px; color:#7e8b9d; background:#f2f5f9; }
.config-trade-stage[data-fallback="true"] { border-color:#dbe7f7; background:#fbfdff; }
.config-trade-stage > .config-field { padding:10px 0; }
.config-trade-stage > .config-select { flex-direction:column; align-items:stretch; gap:6px; }
.config-trade-stage > .config-select > .config-input { box-sizing:border-box; width:100%; max-width:none; }
.config-trade-add { justify-self:start; padding:8px 2px; }
.config-trade-validation { color:#b42318; font-size:12px; line-height:1.6; margin:0; }
@media (max-width:350px) { .config-trade-stage { padding:9px 8px 2px; } .config-trade-stage-heading { gap:4px; } .config-trade-threshold .config-field-title label { font-size:11px; } .config-trade-threshold .config-input { min-width:42px; padding:7px 3px; font-size:13px; } .config-trade-remove { font-size:10px; } }

.config-trade-goal-value { flex:none; color:#1674d2; font-size:17px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }

/* source: public/crossover.css */
/* Flat activity sections; only observed data is rendered. */
.view-crossover>.visual-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:12px}
.view-crossover>.visual-metrics .visual-metric{display:grid;gap:4px;min-width:0;padding:9px 7px}
.view-crossover>.visual-metrics .visual-metric>span{font-size:11px}
.view-crossover>.visual-metrics .visual-metric>strong{font-size:16px;overflow-wrap:anywhere}
.crossover-view{display:grid;gap:0;min-width:0}
.crossover-period{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;padding:2px 0 14px;color:#6c7687;font-size:12px;line-height:1.6}
.crossover-section{min-width:0;padding:17px 0;border-top:1px solid #e9edf3}
.crossover-section:last-child{padding-bottom:0}
.crossover-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.crossover-section-head h4{margin:0;font-size:15px;font-weight:650;color:#27364b}
.crossover-state{flex:none;border-radius:6px;padding:3px 7px;background:#f1f4f8;font-size:11px;line-height:1.4;color:#69768b}
.crossover-state.active{color:#207050;background:#eaf7f0}
.crossover-state.quiet{color:#87909c;background:#f3f4f6}
.crossover-summary{margin:9px 0 0;color:#526176;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.crossover-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:10px 0 0;padding:0}
.crossover-fact{display:flex;justify-content:space-between;align-items:baseline;gap:9px;min-width:0;padding:7px 0;border-bottom:1px solid #f2f4f7;font-size:12px;line-height:1.5}
.crossover-fact dt{margin:0;min-width:0;color:#8290a2;overflow-wrap:anywhere}
.crossover-fact dd{margin:0;min-width:0;max-width:62%;text-align:right;color:#34455c;font-weight:550;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.crossover-fact.wide{grid-column:1/-1}
.crossover-fact.wide dd{max-width:72%}
.crossover-section>.visual-meter{margin-top:13px}
.crossover-section>.visual-slots{margin-top:11px;display:grid;grid-template-columns:1fr;gap:5px}
.crossover-section>.visual-slots>.visual-slot{display:flex;align-items:center;flex-wrap:wrap;gap:4px 9px;min-height:0;max-width:100%;padding:7px 9px;text-align:left}
.crossover-section .visual-slot-mark{display:none}
.crossover-section .visual-slot>strong{flex:1;font-size:12px;min-width:0}
.crossover-section .visual-slot>.slot-value{font-size:12px;min-width:0;overflow-wrap:anywhere}
.crossover-section .visual-slot>.visual-selected{margin:0}
.crossover-section>.visual-chips{margin-top:10px}
.crossover-deadline{display:block;margin-top:9px;font-size:11px;line-height:1.5;color:#8994a3;font-variant-numeric:tabular-nums}
.crossover-period .crossover-deadline{margin:0}
@media(max-width:360px){.crossover-facts{column-gap:12px}.crossover-fact{gap:5px}.crossover-fact dd{max-width:58%}.view-crossover>.visual-metrics .visual-metric>strong{font-size:14px}}
