:root{font-family:"Microsoft YaHei",system-ui,sans-serif;color:#293f48;background:#f6f3e9;--green:#24594f;--gold:#edba68}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}input,select,textarea{max-width:100%}label{display:flex;flex-direction:column;gap:8px;margin:16px 0;font-size:16px;font-weight:650}input,select,textarea{padding:13px;border-radius:12px;border:1px solid #c7d4ce;background:white;color:#293f48;font-size:16px}button{min-height:44px;padding:11px 18px;border:1px solid #d0d8d0;border-radius:12px;background:#fff;color:#24594f}.primary-button{background:#24594f;color:white;border:0;font-weight:700}.login-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(30px,6vw,100px);padding:clamp(22px,6vw,100px);background:linear-gradient(90deg,#163f31b0,#163f3120),url('/assets/art/home-island-v2.png') center/cover}.login-art{color:#fff;max-width:700px}.eyebrow{font-size:18px;letter-spacing:4px}.login-art h1{font-size:clamp(40px,5vw,82px);line-height:1.3;margin:20px 0;text-shadow:0 3px 15px #153424}.login-art>p:last-child{font-size:20px;line-height:1.8}.login-card{width:min(100%,460px);background:#fffdf7;border:1px solid #fff;border-radius:26px;padding:clamp(24px,4vw,48px);box-shadow:0 24px 80px #1b3a342b;justify-self:center}.login-card h2{font-size:32px;margin:18px 0 8px}.login-card p{color:#667970;line-height:1.7}.login-card button{width:100%;margin:10px 0 18px}.tag{font-size:13px;padding:6px 10px;background:#e7efe7;border-radius:8px;color:#315d4d}.login-card small{font-size:14px;line-height:1.6;color:#63786d}#loginError{color:#9e392e;min-height:24px}#syncBanner{position:fixed;top:0;left:0;right:0;z-index:100;padding:12px 20px;background:#fff0cc;color:#744b1e;font-size:16px;text-align:center}.backup-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:16px}.backup-list article{background:#fff;border:1px solid #e4ded2;padding:16px;border-radius:15px}.admin-layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.admin-side{background:#193e38;color:#f6f2de;padding:28px 18px;display:flex;flex-direction:column;gap:10px}.admin-side h1{font-size:21px;line-height:1.6;margin:0 0 20px}.admin-side button{text-align:left;background:transparent;border:1px solid #ffffff1c;color:inherit}.admin-side button.active{background:#e9c583;color:#24463d}.admin-main{padding:clamp(18px,4vw,56px);min-width:0;max-width:1600px;width:100%;margin:auto}.admin-top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:28px}.admin-top h2{font-size:30px;margin:0}.admin-note{color:#66786d;line-height:1.7}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px}.admin-card{background:#fffdf7;border:1px solid #dfdfd2;border-radius:18px;padding:22px;min-width:0;overflow-wrap:anywhere}.admin-card h3{margin:0 0 12px}.admin-card p{line-height:1.7;color:#66786d}.admin-card button{margin:4px}.table-wrap{overflow:auto;border:1px solid #dedfd3;border-radius:16px;background:#fffdf7}table{width:100%;border-collapse:collapse;min-width:600px}td,th{text-align:left;padding:15px;border-bottom:1px solid #e7e7dc;font-size:15px}th{background:#e9ede2}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.status-line{min-height:26px;color:#286353;line-height:1.6}.status-line.error{color:#ad4137}dialog{border:1px solid #d4ddcf;border-radius:20px;padding:24px;width:min(650px,94vw);max-height:90vh;overflow:auto;background:#fffdf7;color:#293f48}dialog::backdrop{background:#18372db0}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}dialog label input[type=checkbox]{width:auto}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px}.check-grid label{flex-direction:row;align-items:center;font-size:14px;margin:5px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}textarea.docs-text{width:100%;min-height:58vh;resize:vertical;line-height:1.7}.admin-preview{width:100%;height:60vh;border:1px solid #ddd;border-radius:10px}.danger{color:#a23931}#gameRoot{min-height:100dvh}.plugin-slot iframe{display:block;width:100%;min-height:55vh;border:0;border-radius:20px;background:#fff}.plugin-slot{width:100%;min-width:0}@media(max-width:760px){.login-shell{grid-template-columns:1fr;gap:20px;padding:24px 16px}.login-art h1{font-size:36px;margin:5px 0}.login-art h1 br{display:none}.login-art .eyebrow{font-size:13px}.login-art>p:last-child{font-size:16px}.admin-layout{display:block}.admin-side{padding:16px;display:flex;flex-direction:row;flex-wrap:wrap;position:relative}.admin-side h1{width:100%;margin:0 0 8px;font-size:20px}.admin-side button{flex:1 0 auto;text-align:center;padding:10px}.admin-main{padding:20px 14px}.admin-top h2{font-size:25px}.admin-top{align-items:flex-start}.plugin-slot iframe{min-height:60vh}dialog{padding:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Maintenance and logs: forms reflow independently of scrollable tables. */
.admin-side{align-self:start;position:sticky;top:0;max-height:100vh;overflow:auto}.admin-main{align-self:start}.operation-progress{background:#e6efe3;padding:16px;border-radius:14px;margin:16px 0}.operation-progress progress{width:100%;height:20px;accent-color:#39745b}.operation-progress label{margin:0}.toolbar>input,.toolbar>select{min-width:0;max-width:100%}.admin-card textarea{width:100%;min-height:90px}.log-pagination{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.check-grid label{line-height:1.6;min-height:44px}.check-grid input{min-width:20px;min-height:20px}.save-state{border:1px solid #bdd3c0;border-radius:12px;padding:7px 10px;background:#ecf5e9;color:#325b43;font-size:13px}.save-state[data-state=error],.save-state[data-state=conflict]{background:#ffead8;color:#8f4630}#syncBanner{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}#syncBanner button{min-height:40px;padding:5px 12px}.maintenance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:12px}.maintenance-card{border:1px solid #ded7c2;background:#fffaf0;border-radius:16px;padding:16px;line-height:1.7}.maintenance-card button{width:100%}@media(max-width:760px){.admin-side{position:relative;max-height:none}.admin-side button{flex:1 1 110px}.toolbar>input,.toolbar>select{flex:1 1 140px;width:100%}.toolbar button{flex:1 1 120px}.admin-top{flex-wrap:wrap}.admin-card{padding:18px 14px}.save-state{font-size:12px}#syncBanner{font-size:14px;padding:8px 12px}}@media(max-width:400px){.admin-side button{font-size:14px;flex-basis:100px}.check-grid{grid-template-columns:1fr}.tt-dialog-actions{flex-wrap:wrap}.admin-main{padding:16px 10px}.admin-top h2{font-size:23px}}
#syncBanner{position:relative;inset:auto;flex:0 0 auto;width:100%;border-bottom:1px solid #e6ca9d;max-height:25vh;overflow:auto}#cloudStatus{min-width:0;max-width:240px;white-space:normal;line-height:1.5}.table-wrap{max-width:100%}@media(max-width:540px){#cloudStatus{flex:1 1 100%;max-width:none;padding:5px 9px;min-height:32px}.maintenance-grid{margin-top:16px}.maintenance-card{font-size:16px;padding:12px}}

.mobile-nav-toggle{display:none}@media(max-width:760px){.admin-side{flex-direction:row;align-items:center}.admin-side h1{width:auto;flex:1 1 160px;font-size:18px;margin:0}.admin-side .mobile-nav-toggle{display:block;flex:0 0 auto;width:auto;min-width:96px}.admin-side:not(.nav-open)>button:not(.mobile-nav-toggle){display:none}.admin-side.nav-open>button:not(.mobile-nav-toggle){display:block;flex:1 1 120px}.admin-main{margin:0 auto}.toolbar input[type=date]{min-width:130px}.admin-main .table-wrap{border-radius:12px}.login-shell{min-height:100dvh}.login-card input{min-height:46px}}
