:root{--surface: #ffffff;--surface-2: #f4f6fa;--text: #1a1f29;--text-dim: #6b7280;--primary: #2557d6;--primary-ink: #ffffff;--success: #16a34a;--success-bg: #e7f6ec;--border: #e6e9ef;--danger: #dc2626}@media(prefers-color-scheme:dark){:root{--surface: #14181f;--surface-2: #1b212b;--text: #e8ebf0;--text-dim: #9aa3b2;--border: #283040;--success-bg: #11271b}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%}html{background:var(--surface-2)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--surface-2);color:var(--text)}#root{min-height:100vh}.app{max-width:460px;margin:0 auto;min-height:100vh;background:var(--surface);display:flex;flex-direction:column;box-shadow:0 0 40px #10183014}.appbar{display:flex;align-items:center;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:5}.appbar h1{font-size:21px;margin:0;font-weight:800;letter-spacing:-.3px;flex:1}.backbar{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:5}.backbar h2{font-size:17px;margin:0;font-weight:700}.iconbtn{width:38px;height:38px;border-radius:12px;border:none;background:var(--surface-2);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;font-size:17px}.iconbtn:hover{background:var(--border)}.badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;background:var(--danger);color:#fff;border-radius:9px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface)}.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 34px;text-align:center;min-height:100vh}.logo{width:84px;height:84px;border-radius:22px;background:linear-gradient(135deg,var(--primary),#5b8def);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:26px;letter-spacing:.5px;box-shadow:0 10px 24px #2557d666;margin-bottom:26px}.hero h1{font-size:25px;margin:0 0 10px;font-weight:800;letter-spacing:-.4px}.hero p{color:var(--text-dim);font-size:15px;line-height:1.5;margin:0 0 32px;max-width:290px}.bell-hero{width:124px;height:124px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#2557d624,#2557d60f);display:flex;align-items:center;justify-content:center;margin-bottom:28px;font-size:54px}.btn-primary{width:100%;max-width:310px;padding:16px;border:none;border-radius:14px;background:var(--primary);color:var(--primary-ink);font-size:15.5px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px #2557d652}.btn-primary:disabled{opacity:.6;cursor:default}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-text{margin-top:14px;background:none;border:none;color:var(--text-dim);font-size:14.5px;font-weight:600;cursor:pointer}.btn-text.link{color:var(--primary)}.ms-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:300px;padding:15px 18px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 2px 10px #0000000d}.ms-btn:hover{border-color:var(--primary)}.ms-logo{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:19px;height:19px}.ms-logo i{display:block}.ms-logo i:nth-child(1){background:#f25022}.ms-logo i:nth-child(2){background:#7fba00}.ms-logo i:nth-child(3){background:#00a4ef}.ms-logo i:nth-child(4){background:#ffb900}.foot{margin-top:20px;font-size:12.5px;color:var(--text-dim)}.link-btn{background:none;border:none;color:var(--primary);font-weight:700;font-size:14px;cursor:pointer}.danger-link{color:var(--danger);font-weight:700;font-size:13.5px;background:none;border:none;cursor:pointer;padding:0}.scroll{flex:1;overflow-y:auto}.notif{display:flex;gap:13px;padding:16px 18px;cursor:pointer;align-items:flex-start;border-bottom:1px solid var(--border);background:var(--surface);width:100%;text-align:left;border-left:none;border-right:none;border-top:none;font:inherit;color:inherit}.notif:hover{background:var(--surface-2)}.notif .dot{width:9px;height:9px;border-radius:50%;background:var(--primary);margin-top:7px;flex:0 0 auto}.notif.read .dot{background:transparent}.notif .ic{width:42px;height:42px;border-radius:12px;flex:0 0 auto;background:var(--success-bg);color:var(--success);display:flex;align-items:center;justify-content:center;font-size:19px}.notif .body{flex:1;min-width:0}.notif .body .t{font-weight:700;font-size:14.5px;margin-bottom:3px}.notif.read .body .t{font-weight:600}.notif .body .s{color:var(--text-dim);font-size:13.5px;line-height:1.35}.notif .time{color:var(--text-dim);font-size:12px;flex:0 0 auto;white-space:nowrap;padding-top:1px}.feed-foot{padding:16px;text-align:center}.empty{text-align:center;color:var(--text-dim);padding:70px 30px;font-size:14px}.empty .big{font-size:40px;margin-bottom:12px}.error-banner{margin:12px 16px 0;padding:11px 14px;border-radius:12px;background:#dc262614;color:var(--danger);font-size:13px;font-weight:600;border:1px solid rgba(220,38,38,.25)}.devbar{display:flex;gap:8px;justify-content:center;padding:10px 16px 24px;flex-wrap:wrap}.devbar .tag{width:100%;text-align:center;font-size:11px;letter-spacing:.6px;color:var(--text-dim);font-weight:700}.devbtn{border:1px dashed var(--border);background:var(--surface-2);color:var(--text-dim);padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:600;cursor:pointer}.devbtn:hover{color:var(--primary);border-color:var(--primary)}.detail{padding:22px 20px}.chip{display:inline-flex;align-items:center;gap:8px;background:var(--success-bg);color:var(--success);padding:8px 14px;border-radius:999px;font-weight:700;font-size:13.5px;margin-bottom:22px}.chip .d{width:9px;height:9px;border-radius:50%;background:var(--success)}.field{display:flex;justify-content:space-between;gap:16px;padding:15px 2px;border-bottom:1px solid var(--border)}.field .k{color:var(--text-dim);font-size:14px}.field .v{font-weight:700;font-size:14.5px;text-align:right}.detail .desc{color:var(--text-dim);font-size:14px;line-height:1.5;margin:18px 0 26px}.btn-outline{width:100%;padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--primary);font-weight:700;font-size:15px;cursor:pointer}.btn-outline:hover{border-color:var(--primary);background:var(--surface-2)}.sec-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);padding:20px 20px 8px}.card{background:var(--surface);margin:0 14px;border-radius:16px;overflow:hidden;border:1px solid var(--border)}.row{display:flex;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:none}.row .label{flex:1;font-size:14.5px;font-weight:600}.row .sub{font-size:12.5px;color:var(--text-dim);font-weight:500;margin-top:2px}.switch{width:48px;height:28px;border-radius:999px;background:var(--primary);position:relative;cursor:pointer;flex:0 0 auto;transition:background .2s;border:none}.switch.off{background:#c4ccd8}.switch i{position:absolute;top:3px;left:23px;width:22px;height:22px;background:#fff;border-radius:50%;transition:left .2s;box-shadow:0 1px 3px #0000004d}.switch.off i{left:3px}.settings-wrap{background:var(--surface-2);flex:1;padding-bottom:30px}.check{width:22px;height:22px;border-radius:6px;flex:0 0 auto;border:2px solid var(--primary);background:var(--primary);display:flex;align-items:center;justify-content:center}.check.off{background:transparent;border-color:#c4ccd8}.check svg{width:14px;height:14px;color:#fff}.check.off svg{display:none}.check.radio{border-radius:50%}.row-select{width:100%;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.row-select:hover{background:var(--surface-2)}.row-select:disabled{opacity:.6;cursor:default}.ios-tip{margin:18px auto 0;max-width:320px;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:14px 16px;font-size:13.5px;color:var(--text-dim);line-height:1.6}.ios-tip b{color:var(--text)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1a1f29;color:#fff;padding:11px 18px;border-radius:12px;font-size:13.5px;font-weight:600;z-index:100;box-shadow:0 10px 30px #00000059}.layout,.pane{flex:1;display:flex;flex-direction:column;min-height:0}.empty-pane{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px;text-align:center;color:var(--text-dim);font-size:14.5px}.empty-pane .big{font-size:44px;opacity:.45}@media(max-width:899.98px){.layout[data-screen=feed] .pane-side{display:none}.layout:not([data-screen=feed]) .pane-list{display:none}}@media(min-width:900px){body{padding:24px}#root{min-height:0}.app{max-width:1160px;height:calc(100vh - 48px);min-height:0;border-radius:18px;overflow:hidden;box-shadow:0 14px 60px #10183024}.hero{min-height:100%}.layout{flex-direction:row}.pane-list{flex:0 0 420px;border-right:1px solid var(--border);overflow-y:auto}.pane-side{flex:1;overflow-y:auto;background:var(--surface-2)}.pane-side .backbar{position:static;background:transparent;border-bottom:none;padding:20px 26px 4px}.pane-side .backbar .iconbtn{display:none}.pane-side .backbar h2{font-size:19px}.pane-side .detail{max-width:620px;padding:12px 26px 26px}.pane-side .settings-wrap{background:transparent}.pane-side .sec-label{padding-left:26px}.pane-side .card{margin:0 20px 0 26px;max-width:620px}}.push-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);width:min(420px,calc(100vw - 24px));display:flex;gap:12px;align-items:flex-start;text-align:left;background:var(--surface);color:inherit;font:inherit;border:1px solid var(--border);border-radius:18px;padding:13px 15px;z-index:120;cursor:pointer;box-shadow:0 12px 30px #00000040;animation:bannerDown .35s cubic-bezier(.2,.9,.3,1.2)}@keyframes bannerDown{0%{transform:translate(-50%,-140%)}to{transform:translate(-50%)}}.push-banner .pb-ic{width:38px;height:38px;border-radius:10px;flex:0 0 auto;background:linear-gradient(135deg,var(--primary),#5b8def);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px}.push-banner .pb-body{flex:1;min-width:0;display:block}.push-banner .pb-app{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);font-weight:700;margin-bottom:2px}.push-banner .pb-t{display:block;font-weight:700;font-size:14px}.push-banner .pb-b{display:block;font-size:13px;color:var(--text-dim);line-height:1.35;margin-top:1px}
