/* Fupanba workbench: Bootstrap layout discipline, shadcn semantic tokens,
   Ant Design table density, MUI focus feedback, Tailwind spacing scale.
   Framework source references and MIT notices are kept with the local UI package. */
html{height:100%;margin:0;padding:0;overflow:hidden}
body.fupanba-shell{height:100%;margin:0;padding:0;box-sizing:border-box}
.fupanba-shell *{box-sizing:border-box}
.fupanba-shell a{text-decoration:none}
.fupanba-shell .nav-close-btn{display:none;position:absolute;width:13px;height:13px;border:0;border-radius:50%;padding:0;font-size:10px;line-height:13px;cursor:pointer;z-index:2}
.fupanba-shell .nav-item:hover .nav-close-btn{display:block}
.fupanba-shell{--nav-h:48px;--shell-bg:#f4f6fa;--shell-panel:#fff;--shell-text:#202938;--shell-muted:#68758a;--shell-line:#e3e7ee;--shell-accent:#3652a5;--shell-active:#eef2ff;display:flex;flex-direction:column;overflow:hidden;background:var(--shell-bg);color:var(--shell-text);font:14px/1.45 "Microsoft YaHei","Segoe UI",sans-serif}
html[data-theme=dark] .fupanba-shell{--shell-bg:#101722;--shell-panel:#17202d;--shell-text:#e5eaf3;--shell-muted:#a5b1c4;--shell-line:#303e51;--shell-accent:#9eb9ff;--shell-active:#26364f}
.fupanba-shell #autore{height:48px;min-height:48px;padding:0 12px;gap:10px;background:var(--shell-panel);border-bottom:1px solid var(--shell-line);overflow:visible;white-space:nowrap;display:flex;align-items:center;position:relative;z-index:30}
.fupanba-shell .nav-logo{margin:0 6px 0 0;gap:7px;color:var(--shell-text);font-size:17px;text-shadow:none;flex:0 0 auto;font-weight:700;cursor:pointer}
.fupanba-shell .nav-logo .dot{background:var(--shell-text);color:var(--shell-panel);border-radius:7px;width:28px;height:28px;font-size:19px;margin:0;display:inline-flex;align-items:center;justify-content:center}
.fupanba-shell #navItems{min-width:0;display:flex;align-items:center;overflow:auto;flex:1;gap:3px;height:48px;scrollbar-width:thin}
.fupanba-shell .nav-item{height:48px;padding:0 11px;margin:0;border-radius:0;border-bottom:2px solid transparent;display:inline-flex;align-items:center;position:relative;flex:0 0 auto}
.fupanba-shell .nav-item a{color:var(--shell-muted);font-size:14px;line-height:1.4;display:flex;align-items:center;height:100%}
.fupanba-shell .nav-item.active{background:transparent;border-bottom-color:var(--shell-accent)}
.fupanba-shell .nav-item.active a{color:var(--shell-accent);font-weight:700}
.fupanba-shell .nav-item:hover{background:var(--shell-active)}
.fupanba-shell .nav-item .nb{display:none}
.fupanba-shell .nav-close-btn{top:3px;right:0;background:var(--shell-line);color:var(--shell-muted)}
.fupanba-shell .nav-right{margin:0;gap:5px;flex:0 0 auto}
.fupanba-shell button{font:inherit;cursor:pointer}
.fupanba-shell .shell-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:31px;padding:0 9px;border:1px solid var(--shell-line);border-radius:6px;background:var(--shell-panel);color:var(--shell-text);font-size:12px;white-space:nowrap}
.fupanba-shell .shell-button:hover{background:var(--shell-active)}
.fupanba-shell button:focus-visible,.fupanba-shell a:focus-visible{outline:2px solid var(--shell-accent);outline-offset:2px}
.fupanba-shell .shell-button svg{width:16px;height:16px}
.fupanba-shell .shell-more{position:relative}
.fupanba-shell #shell-more-menu{position:absolute;top:37px;right:0;width:155px;border:1px solid var(--shell-line);border-radius:8px;background:var(--shell-panel);padding:5px;z-index:40;box-shadow:0 8px 24px #0001}
.fupanba-shell #shell-more-menu[hidden]{display:none}
.fupanba-shell #shell-more-menu button,.fupanba-shell #shell-more-menu a{display:block;width:100%;text-align:left;padding:8px 10px;background:transparent;border:0;color:var(--shell-text);font-size:13px;text-decoration:none;border-radius:4px}
.fupanba-shell #shell-more-menu button:hover,.fupanba-shell #shell-more-menu a:hover{background:var(--shell-active)}
.fupanba-shell #marketFloatPanel{position:relative;inset:auto;min-width:0;min-height:34px;width:100%;padding:4px 12px;border:0;border-bottom:1px solid var(--shell-line);border-radius:0;background:var(--shell-panel);color:var(--shell-muted);font-size:12px;line-height:24px;display:flex;align-items:center;gap:16px;overflow:auto;white-space:nowrap;box-shadow:none;z-index:2;flex:0 0 auto;font-variant-numeric:tabular-nums}
.fupanba-shell #marketFloatPanel .mfp-head{gap:9px}
.fupanba-shell #marketFloatPanel .mfp-date{color:var(--shell-muted);font-size:11px;font-weight:400}
.fupanba-shell #marketFloatPanel .mfp-close{color:var(--shell-muted)}
.fupanba-shell #marketFloatPanel .idx b{color:var(--shell-text);font-weight:600}
.fupanba-shell #marketFloatPanel .up{color:#d44150}.fupanba-shell #marketFloatPanel .dn{color:#16856a}.fupanba-shell #marketFloatPanel .ft{color:var(--shell-muted)}
html[data-theme=dark] .fupanba-shell #marketFloatPanel .up{color:#ff8b96}html[data-theme=dark] .fupanba-shell #marketFloatPanel .dn{color:#64d3ac}
.fupanba-shell #reopenMarketBtn{position:static;inset:auto;display:none;border-radius:0;padding:2px 12px;text-align:right;border:0;border-bottom:1px solid var(--shell-line);color:var(--shell-muted);background:var(--shell-panel);height:27px;flex:0 0 auto;font-size:12px}
.fupanba-shell #mainfx{flex:1 1 auto;min-height:0;height:0;width:100%;border:0;background:var(--shell-bg)}
.fupanba-shell #brandFooter{position:static;transform:none;pointer-events:none;flex:0 0 auto;text-align:right;height:19px;padding:0 12px;font-size:10px;font-weight:400;color:var(--shell-muted);background:var(--shell-bg);text-shadow:none;letter-spacing:0}
.fupanba-shell .wm-account-button{height:32px;border-color:var(--shell-line);background:var(--shell-panel);color:var(--shell-text);font-size:12px;max-width:165px}
.fupanba-shell .wm-avatar,.fupanba-shell .wm-brand-mark{background:var(--shell-active);color:var(--shell-accent)}
.fupanba-shell .wm-selected,.fupanba-shell .wm-primary{background:var(--shell-accent);color:var(--shell-panel);border-color:var(--shell-accent)}
.fupanba-shell .wm-account-menu,.fupanba-shell .wm-dialog{background:var(--shell-panel);color:var(--shell-text);border-color:var(--shell-line)}
.fupanba-shell .wm-form input,.fupanba-shell .wm-form select,.fupanba-shell .wm-password-toggle{background:var(--shell-panel);color:var(--shell-text);border-color:var(--shell-line)}
.fupanba-shell .wm-secondary,.fupanba-shell .wm-description,.fupanba-shell .wm-field-note,.fupanba-shell .wm-dialog-footer{color:var(--shell-muted)}
.fupanba-shell #shell-compat-banner{display:none;min-height:29px;flex:0 0 auto;padding:4px 12px;background:var(--shell-active);color:var(--shell-text);font-size:12px}
.fupanba-shell.http-compat #shell-compat-banner{display:block}
.fupanba-shell.http-compat #shell-compat-banner a{color:var(--shell-accent);margin-left:12px}
.fupanba-shell #shell-feedback{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:8px 15px;background:var(--shell-panel);border:1px solid var(--shell-line);border-radius:7px;color:var(--shell-text);z-index:100000;font-size:13px;max-width:85vw}
.fupanba-shell #shell-feedback[hidden]{display:none}
@media(max-width:1100px){.fupanba-shell .nav-item{padding:0 8px}.fupanba-shell .nav-logo{font-size:16px}.fupanba-shell #theme-label{display:none}}
@media(max-width:760px){.fupanba-shell #autore{height:auto;min-height:48px;flex-wrap:wrap;padding:5px 8px;gap:4px}.fupanba-shell .nav-right{margin-left:auto}.fupanba-shell #navItems{order:3;width:100%;flex:1 0 100%;height:34px}.fupanba-shell .nav-item{height:34px}.fupanba-shell #marketFloatPanel{gap:12px}.fupanba-shell .nav-logo{font-size:15px}.fupanba-shell #compat-label{display:none}}
