:root{--bg:#fff9fc;--paper:#ffffff;--ink:#593d4c;--muted:#896b79;--line:#ead0dd;--accent:#c36590;--accent-deep:#b34c79;--accent-soft:#fceaf2;--shadow:3px 4px 0 #f1e1e9;--radius-xl:18px;--radius-lg:14px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:YouYuan,幼圆,Microsoft YaHei,PingFang SC,sans-serif}a{color:inherit;text-decoration:none}.shell{width:min(1120px,calc(100% - 32px));margin:0 auto}.hero{padding:48px 0 72px}.hero__panel{background:rgba(255,255,255,.88);border:1px solid rgba(232,191,208,.8);border-radius:var(--radius-xl);box-shadow:var(--shadow);overflow:hidden}.hero__topbar{justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid rgba(232,191,208,.8);background:rgba(255,255,255,.52)}.brand,.hero__topbar{display:flex;align-items:center}.brand{gap:12px;font-weight:700;letter-spacing:.04em}.brand__mark{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent) 0,var(--accent-deep) 100%);color:white;font-weight:800}.nav{display:flex;gap:10px;flex-wrap:wrap}.button,.button--ghost,.nav__link{border-radius:999px;padding:12px 18px;font-size:14px;font-weight:600;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button--ghost:hover,.button:hover,.nav__link:hover{transform:translateY(-1px)}.button{background:linear-gradient(135deg,var(--accent) 0,var(--accent-deep) 100%);color:white;border:0;box-shadow:0 18px 30px rgba(164,63,105,.18);cursor:pointer}.button,.button--ghost{display:inline-flex;justify-content:center;align-items:center}.button--ghost{background:rgba(255,255,255,.78);border:1px solid rgba(232,191,208,.8);color:var(--ink)}.button:disabled{opacity:.7;cursor:wait;transform:none}.hero__content{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:24px;gap:24px;padding:32px 24px 40px}.eyebrow{color:var(--accent-deep);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.title{margin:16px 0;font-size:clamp(40px,8vw,74px);line-height:.96;letter-spacing:-.04em}.lead{max-width:56ch;color:var(--muted);font-size:17px;line-height:1.7}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.card-stack{display:grid;grid-gap:16px;gap:16px}.card{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,246,249,.96));border:1px solid rgba(232,191,208,.8);border-radius:var(--radius-lg);padding:20px}.card h3{margin:0 0 8px;font-size:18px}.card p{margin:0;color:var(--muted);line-height:1.6}.auth-page{padding:40px 0 72px}.dashboard-shell{display:grid;grid-gap:24px;gap:24px}.dashboard-hero{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:24px;gap:24px;padding:28px;border-radius:var(--radius-xl);background:rgba(255,255,255,.9);border:1px solid rgba(232,191,208,.85);box-shadow:var(--shadow)}.dashboard-title{margin:12px 0;font-size:clamp(36px,7vw,64px);line-height:1;letter-spacing:-.04em}.dashboard-card,.dashboard-status{padding:22px;border-radius:var(--radius-lg);background:rgba(255,255,255,.72);border:1px solid rgba(232,191,208,.85)}.dashboard-card--accent{background:linear-gradient(180deg,rgba(207,102,140,.96),rgba(164,63,105,.96));color:white}.dashboard-card--accent .dashboard-badge,.dashboard-card--accent h2,.dashboard-card--accent p{color:white}.dashboard-card--accent .field__input{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.14)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px}.dashboard-card__header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.dashboard-card__header h2,.dashboard-status h2{margin:0;font-size:22px}.dashboard-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;background:rgba(207,102,140,.12);color:var(--accent-deep);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-log-list,.dashboard-table{display:grid;grid-gap:10px;gap:10px}.dashboard-userline{margin-top:18px;color:var(--ink);font-size:15px}.dashboard-alert,.dashboard-empty,.dashboard-inline-message{margin:0;padding:14px 16px;border-radius:18px;border:1px solid rgba(232,191,208,.8);background:rgba(255,255,255,.88);color:var(--muted);line-height:1.6}.dashboard-inline-message{margin-top:14px;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2);color:rgba(255,247,251,.92)}.dashboard-log-item,.dashboard-table__head,.dashboard-table__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(232,191,208,.72)}.dashboard-table__head{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dashboard-table__head--keys,.dashboard-table__row--keys{grid-template-columns:1.2fr 1fr .8fr 1fr}.dashboard-log-item{grid-template-columns:1.2fr .8fr .7fr .9fr}.dashboard-log-item small,.dashboard-table__row small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px}.admin-section--wide{grid-column:1/-1}.token-panel{min-width:0;padding:28px;background:var(--paper)}.token-panel__filters,.token-panel__header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.token-panel__header h2{margin:8px 0;font-size:26px}.token-panel__header p,.token-panel__note{color:var(--muted);font-size:13px;line-height:1.6}.token-panel__header p{margin:0}.token-panel__filters{justify-content:flex-end;gap:12px}.token-refresh{cursor:pointer;padding:10px 13px;font-size:13px;border-radius:10px}.token-refresh:disabled{opacity:.55;cursor:wait}.token-range{display:flex;padding:4px;border:1px solid var(--line);border-radius:12px}.token-range button{border:0;border-radius:8px;padding:10px 13px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:13px;white-space:nowrap}.token-range button[aria-pressed=true]{background:var(--accent-deep);color:white;box-shadow:0 2px 8px #a43f691a}.token-key-filter{display:grid;grid-gap:5px;gap:5px;min-width:0;max-width:280px;font-size:12px;color:var(--muted)}.token-key-filter select{width:100%;min-width:165px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:white;font:inherit;font-size:13px;text-overflow:ellipsis}.token-key-filter select:focus-visible,.token-range button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.token-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin:26px 0 30px}.token-metric{min-width:0;padding:22px;border:1px solid var(--line);background:#ffffff}.token-metric dt{color:var(--muted);font-size:14px}.token-metric dd{margin:12px 0 8px;font-weight:700;letter-spacing:-.03em;overflow-wrap:anywhere}.token-metric small{font-size:12px;color:var(--muted)}.token-metric--total{border-color:#e8bfd0}.token-metric--total dd{color:var(--accent-deep)}.token-chart__heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.token-chart__heading h3{margin:0;font-size:16px}.token-chart__heading span{font-size:12px;color:var(--muted)}.token-chart__heading i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:7px;background:var(--accent)}.token-chart{margin:16px 0 0}.token-chart__scroll{overflow-x:auto}.token-chart svg{display:block;width:100%;min-width:560px}.token-chart text{fill:var(--muted);font:12px Segoe UI,sans-serif}.token-chart__axis line{stroke:var(--line);stroke-dasharray:3 5}.token-chart__bar{outline:none;cursor:pointer}.token-chart__bar rect{fill:var(--accent)}.token-chart__bar:focus rect:not(.token-chart__hit),.token-chart__bar:hover rect:not(.token-chart__hit){fill:var(--accent-deep)}.token-chart__bar:focus .token-chart__hit{stroke:var(--accent-deep);stroke-width:1}.token-chart figcaption{min-height:40px;color:var(--muted);font-size:12px;line-height:1.6}.token-panel__note{padding-top:14px;margin:0;border-top:1px solid var(--line)}.token-panel__message{display:grid;place-content:center;justify-items:center;min-height:280px;margin:0;color:var(--muted)}@media (max-width:680px){.token-panel{padding:18px}.token-panel__filters{justify-content:flex-start;width:100%}.token-key-filter{width:100%;max-width:none}.token-metrics{grid-template-columns:1fr;gap:10px;margin:20px 0}.token-metric{padding:16px}.token-metric dd{margin:8px 0}}.admin-log-row,.admin-registration-row,.admin-user-row{grid-template-columns:1fr 1.1fr .7fr .8fr;align-items:center}.admin-log-row{grid-template-columns:1fr .9fr .7fr .7fr}.admin-action{width:100%;min-height:42px;padding:10px 12px;border-radius:14px;font-size:13px}.dashboard-secret{display:grid;grid-gap:10px;gap:10px;margin-top:16px;padding:16px;border-radius:18px;background:rgba(92,45,68,.42);border:1px solid rgba(255,255,255,.16)}.dashboard-secret code{display:block;overflow-x:auto;font-size:13px;line-height:1.6;color:#fff6fa}.dashboard-code{margin:0;padding:18px;border-radius:18px;background:#543648;color:#fff1f7;overflow-x:auto;font-size:14px;line-height:1.7}.auth-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);grid-gap:24px;gap:24px;align-items:start}.auth-panel{background:rgba(255,255,255,.9);border:1px solid rgba(232,191,208,.85);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:28px}.auth-panel h1{margin:12px 0;font-size:clamp(32px,6vw,56px);line-height:1;letter-spacing:-.04em}.auth-panel p{color:var(--muted);line-height:1.7}.auth-list{margin:20px 0 0;padding:0;list-style:none;display:grid;grid-gap:12px;gap:12px}.auth-list li{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.7);border:1px solid rgba(232,191,208,.75);color:var(--ink)}.auth-form-shell{background:linear-gradient(180deg,rgba(207,102,140,.96),rgba(164,63,105,.96));color:white;border-radius:var(--radius-xl);padding:28px;box-shadow:0 30px 60px rgba(164,63,105,.26)}.auth-form-shell h2{margin:0 0 14px;font-size:26px}.auth-form-shell p{margin:0;color:rgba(255,247,251,.82);line-height:1.7}.form-preview{margin-top:24px;display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:8px;gap:8px}.dashboard-field{margin-top:18px}.field span{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.field__input{border-radius:16px;border:1px solid rgba(255,255,255,.28);padding:14px 16px;background:rgba(255,255,255,.12);color:white}.field__input::placeholder{color:rgba(255,247,251,.58)}.footnote{margin-top:18px;font-size:14px;color:rgba(255,247,251,.82)}.form-submit{margin-top:8px;width:100%}@media (max-width:900px){.admin-grid,.auth-grid,.dashboard-grid,.dashboard-hero,.hero__content{grid-template-columns:1fr}.admin-section--wide{grid-column:auto}.hero__topbar{align-items:flex-start;flex-direction:column}}@media (max-width:680px){.admin-log-row,.admin-registration-row,.admin-user-row{grid-template-columns:1fr}}button,input,select,textarea{font-family:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:#ffe3ed}:focus-visible{outline:3px solid var(--accent-deep);outline-offset:3px}.auth-form-shell,.auth-panel,.card,.dashboard-card,.dashboard-hero,.hero__panel{border:2px solid var(--line);box-shadow:var(--shadow)}.auth-panel,.card,.dashboard-card,.dashboard-hero,.hero__panel{background:var(--paper)}.hero__topbar{background:#fff8ed;border-bottom:2px dashed var(--line)}.brand__mark{background:var(--accent-soft);color:var(--accent-deep);border:1px solid var(--line)}.button,.button--ghost,.nav__link{border-radius:12px}.button{background:var(--accent-deep);box-shadow:3px 3px 0 #eed0de;border:1px solid #96365d}.button:hover{background:#90335a}.button--ghost{border-color:var(--line);cursor:pointer}.button--ghost:hover,.nav__link:hover{background:#fff0f6}.auth-form-shell,.dashboard-card--accent{background:#ffe9ef;color:var(--ink)}.dashboard-card--accent .dashboard-badge,.dashboard-card--accent h2,.dashboard-card--accent p{color:var(--ink)}.auth-form-shell p,.footnote{color:var(--muted)}.dashboard-card--accent .field__input,.field__input{width:100%;min-width:0;color:var(--ink);background:white;border:1px solid #dba8be;border-radius:12px}.field__input::placeholder{color:#92717f}.dashboard-inline-message{color:var(--accent-deep);background:#fff8fb;border-color:#dba8be}.dashboard-secret{background:#fff8fb;border:1px dashed #cf8eaa}.dashboard-secret code{color:#803759}.dashboard-badge{background:#fff2f7;border:1px dashed #d393ab;letter-spacing:.03em}.dashboard-table__head{background:#fff1f6}.dashboard-log-item,.dashboard-table__row{background:#fffdfd}.dashboard-log-item>*,.dashboard-table__row>*{min-width:0;overflow-wrap:anywhere}.dashboard-status{background:#fff8ed;border-style:dashed}.dashboard-alert,.dashboard-empty{background:#fff8fb;border-radius:12px}.auth-list li{background:#fff8ed;border-style:dashed}.dashboard-code{border:1px solid #9a6c84}.auth-form-shell,.auth-panel,.dashboard-card,.dashboard-secret,.dashboard-status{min-width:0}.dashboard-code,.dashboard-secret code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.bunny-note,.dashboard-card__header>*,.dashboard-userline{overflow-wrap:anywhere}.bunny-admin{display:grid;grid-template-columns:204px minmax(0,1fr);max-width:1800px;min-height:100vh;margin:0 auto;padding:0}.bunny-sidebar{display:flex;flex-direction:column;gap:34px;min-width:0;padding:32px 20px;background:#fff8ed;border-right:2px dashed var(--line)}.bunny-brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-.04em}.bunny-brand em,.bunny-brand>span:first-child{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;background:var(--accent-soft);border:1px solid var(--line);border-radius:13px;color:var(--accent-deep);font-size:22px;font-style:normal}.bunny-brand small{display:block;margin-top:5px;font-size:8px;font-weight:600;letter-spacing:1.5px;color:var(--muted)}.bunny-nav{display:grid;grid-gap:10px;gap:10px}.bunny-nav a{display:flex;align-items:center;gap:12px;padding:13px 12px;border:1px solid transparent;border-radius:11px;font-size:13px;color:var(--muted)}.bunny-nav a.active,.bunny-nav a:first-child,.bunny-nav a[aria-current]{background:var(--accent-soft);color:#983b62;font-weight:700;border-color:#efd1dd}.bunny-nav a:hover{background:#ffe9ef;color:var(--accent-deep)}.bunny-note{margin-top:auto;padding:18px;border:1px dashed #ddb998;border-radius:14px;background:#ffedcb;color:#856473;font-size:12px;line-height:1.9;transform:rotate(-3deg);box-shadow:3px 3px 0 #f0decd}.bunny-note b,.bunny-note strong{display:block;color:var(--ink)}.bunny-content.shell{width:100%;min-width:0;max-width:1420px;margin:0 auto;padding:28px 44px 46px;gap:24px;align-content:start}.bunny-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;color:var(--muted);font-size:12px}.bunny-topline>*{min-width:0;overflow-wrap:anywhere}.bunny-topline a{color:var(--accent-deep)}.bunny-welcome.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.bunny-welcome>div{min-width:0}.bunny-welcome .dashboard-title{font-size:clamp(24px,2.6vw,34px);font-weight:800;line-height:1.3;letter-spacing:-.03em;margin:9px 0}.bunny-welcome .eyebrow{font-size:10px;letter-spacing:.16em}.bunny-welcome .lead{font-size:13px;line-height:1.8;margin:0;max-width:66ch}.bunny-welcome .dashboard-userline{display:inline-block;margin:12px 0 0;padding:6px 11px;background:white;border:1px dashed #d393ab;border-radius:20px;font-size:11px;color:var(--muted)}.bunny-welcome .dashboard-status{width:200px;max-width:200px;flex-shrink:0;padding:0;border:0;background:transparent;text-align:center;font-size:11px;color:var(--muted)}.bunny-welcome .dashboard-status h2{font-size:12px;margin:8px 0}.bunny-welcome .dashboard-status p{margin:5px 0;line-height:1.6}.bunny-welcome .dashboard-status .bunny-mascot{margin:0 auto}.bunny-mascot{display:block;width:125px;height:100px;flex-shrink:0;overflow:visible;transform:rotate(8deg)}.bunny-mascot .face{fill:white;stroke:#d99db7;stroke-width:2}.bunny-mascot .blush{fill:#f7bfd4}.bunny-mascot .eye{fill:#9d6680}.bunny-management{grid-gap:20px}.bunny-key-section,.bunny-management{min-width:0;display:grid;gap:20px;scroll-margin-top:24px}.bunny-key-section{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px}.bunny-key-section>.dashboard-card{height:100%}.bunny-admin .admin-grid{gap:20px}.bunny-admin .dashboard-card__header h2{font-size:18px}.bunny-admin .dashboard-table__head,.bunny-admin .dashboard-table__row{font-size:13px}.bunny-admin .dashboard-card{min-width:0}.token-panel.dashboard-card{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.token-panel__header{gap:16px}.token-panel__header h2{font-size:20px;margin:5px 0}.token-panel__header .eyebrow{font-size:10px}.token-panel__header p{font-size:12px}.token-panel__filters{gap:10px}.token-range{border-color:#ead0dc;background:#f7e6ee;border-radius:11px}.token-range button{padding:9px 13px;font-size:12px}.token-range button[aria-pressed=true]{background:white;color:#983b62;box-shadow:0 2px 5px #bd8ba526}.token-key-filter{font-size:11px;max-width:245px}.token-key-filter select{min-width:150px}.token-key-filter select,.token-refresh{font-size:12px;padding:9px 11px}.token-metrics{gap:18px;margin:24px 0 26px}.token-metric{padding:22px 24px;border:2px solid var(--line);border-radius:14px;box-shadow:4px 4px 0 #f2dce5;background:white}.token-metric:first-child{transform:rotate(-1deg)}.token-metric:nth-child(2){transform:rotate(1deg);background:#fffdf4}.token-metric--total{background:#ffe3ed}.token-metric dt{font-size:13px}.token-metric dd{font-size:clamp(24px,3vw,36px);line-height:1.2;margin:14px 0 8px}.token-metric small{font-size:11px}.token-chart__heading{padding:22px 24px 0;background:white;border:2px solid var(--line);border-radius:14px 14px 0 0;box-shadow:4px 4px 0 #f2dce5}.token-chart__heading h3{font-size:15px}.token-chart{margin:0;padding:14px 22px 0;border-inline:2px solid var(--line);background:white;box-shadow:4px 4px 0 #f2dce5}.token-chart__scroll{width:100%}.token-chart svg{min-width:500px}.token-chart__bar rect{fill:#cf668c}.token-chart figcaption{padding:12px 0}.token-panel__note{padding:14px 24px 18px;background:white;border:2px solid var(--line);border-radius:0 0 14px 14px;box-shadow:4px 4px 0 #f2dce5;font-size:12px}.token-panel__message{background:white;border:2px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.token-panel>.dashboard-empty{margin-bottom:0;border:2px solid var(--line);border-radius:0;padding-inline:24px;background:white;box-shadow:4px 4px 0 #f2dce5}@media (min-width:1600px){.bunny-content.shell{padding:34px 60px 50px}}@media (max-width:1120px){.bunny-content.shell{padding:26px}.bunny-admin .admin-grid{grid-template-columns:1fr}.bunny-admin .admin-section--wide{grid-column:auto}.bunny-key-section{grid-template-columns:1fr}.token-panel__filters{justify-content:flex-start}}@media (max-width:900px){.bunny-admin{grid-template-columns:minmax(0,1fr)}.bunny-sidebar{gap:16px;padding:18px 24px;border-right:0;border-bottom:2px dashed var(--line)}.bunny-brand{font-size:20px}.bunny-nav{display:flex;flex-wrap:wrap;gap:8px}.bunny-nav a{padding:10px 12px;font-size:12px}.bunny-note{display:none}.bunny-content.shell{padding:24px}.bunny-welcome .dashboard-title{font-size:28px}.bunny-mascot{width:100px;height:86px}}@media (max-width:680px){.bunny-sidebar{padding:16px}.bunny-content.shell{padding:22px 16px 36px;gap:20px}.bunny-nav{gap:6px}.bunny-nav a{padding:9px 10px;gap:6px}.bunny-welcome.dashboard-hero{gap:12px;align-items:flex-start}.bunny-welcome>div:first-child{flex:1 1}.bunny-welcome .dashboard-title{font-size:24px}.bunny-welcome .lead{font-size:12px}.bunny-mascot{width:74px;height:70px;margin-top:14px}.bunny-welcome .dashboard-status{display:block;width:74px;max-width:74px;padding-top:12px}.bunny-welcome .dashboard-status .bunny-mascot{margin:0}.bunny-welcome .dashboard-status h2,.bunny-welcome .dashboard-status p{display:none}.token-panel__header{align-items:flex-start}.token-panel__filters{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px 8px;gap:12px 8px;align-items:end}.token-range{grid-column:1/-1}.token-range button{flex:1 1;min-height:40px}.token-key-filter{max-width:none;width:100%}.token-key-filter select{min-width:0;min-height:40px}.token-refresh{min-height:40px}.token-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 24px}.token-metric{padding:16px 10px;border-radius:12px}.token-metric dt{font-size:11px}.token-metric dd{font-size:clamp(18px,4.5vw,27px);margin:12px 0 7px}.token-metric small{font-size:10px;line-height:1.5;display:block}.token-chart__heading{padding:18px 14px 0}.token-chart{padding:12px 10px 0}.token-panel__note{padding:12px 14px 16px}.dashboard-log-item,.dashboard-table__head--keys,.dashboard-table__row--keys{grid-template-columns:1fr}.dashboard-card__header{flex-wrap:wrap}}@media (max-width:380px){.bunny-mascot{width:54px;height:58px}.bunny-welcome .dashboard-status{width:54px;max-width:54px}.token-metrics{grid-template-columns:1fr;gap:12px}.token-metric{padding:16px}.token-metric dd{font-size:30px}.token-metric:first-child,.token-metric:nth-child(2){transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important}}.public{max-width:1180px;margin:auto;padding:0 36px}.publicnav{height:92px;justify-content:space-between;gap:20px}.logo,.publicnav{display:flex;align-items:center}.logo{gap:10px;font-size:24px;font-weight:800;letter-spacing:-1px}.logo i{font-style:normal;color:#b65381;background:#fce7ef;border:1px solid #efc9da;border-radius:13px;padding:5px 11px}.logo small{display:block;font-size:8px;letter-spacing:2px;color:#9b7b8b;margin-top:1px}.navbuttons{display:flex;gap:12px;align-items:center}.primary,.secondary{border:1px solid #b34c79;border-radius:12px;padding:12px 20px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:12px;cursor:pointer}.primary{background:#b94e7d;color:#fff;box-shadow:0 3px 0 #95365f}.primary:hover{background:#a6406b}.secondary{background:#fff;border-color:#ebcfdd;color:#845b70}.muted{font-size:12px;color:var(--muted);line-height:1.8}.kicker{color:#a65379;font-size:10px;letter-spacing:2px}.homehero{display:grid;grid-template-columns:1fr 1fr;align-items:center;grid-gap:40px;gap:40px;min-height:510px;padding:20px 0 48px}.homehero h1{font-size:clamp(38px,5vw,62px);line-height:1.2;letter-spacing:-3px;margin:22px 0;color:#573646}.homehero h1 em{color:#bd658d;font-style:normal}.homehero p{max-width:370px;font-size:14px;line-height:1.9;color:#8c6e7e}.homehero .actions{display:flex;gap:12px;margin:28px 0 16px}.chips{display:flex;gap:15px;font-size:10px;color:#9a758b}.illustration{position:relative;min-height:400px;display:grid;place-items:center;background:radial-gradient(ellipse,#fbe0eb,transparent 68%)}.illustration:before{content:"";position:absolute;width:280px;height:280px;border:1px dashed #d9a3ba;border-radius:50%;transform:rotate(-12deg)}.illustration .mascot{width:260px;height:220px;transform:rotate(-7deg);filter:drop-shadow(5px 8px 0 #efd6e2)}.sticker{position:absolute;background:#fffefb;border:1px solid #dfbbcc;border-radius:14px;padding:16px 20px;box-shadow:4px 4px 0 #f0dae5;color:#735061;font-size:12px}.sticker small{display:block;color:#9a7a89;font-size:10px;margin-bottom:6px}.sticker strong{font-size:25px}.sticker.one{bottom:25px;left:0;transform:rotate(-6deg)}.sticker.two{right:0;top:28px;transform:rotate(6deg)}.sticker.three{right:8px;bottom:47px;background:#fff6dc;transform:rotate(4deg);font-size:11px}.features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin:10px 0 36px}.feature{border:1px solid #ead1de;background:#fff;border-radius:18px;padding:23px;box-shadow:3px 4px 0 #f4e4ec}.feature .num{font-size:11px;color:#b97894;background:#fff0f6;padding:6px 8px;border-radius:8px}.feature h3{font-size:15px;margin:18px 0 8px}.feature p{font-size:12px;color:#8e7280;line-height:1.8;margin:0}.footer{border-top:1px dashed #e4cbd8;padding:22px 0;display:flex;justify-content:space-between;color:#9c8190;font-size:10px}.authlayout{display:grid;grid-template-columns:1fr 440px;grid-gap:80px;gap:80px;align-items:center;margin:25px 25px 65px}.authstory{padding:25px 0;position:relative}.authstory h1{font-size:43px;line-height:1.25;letter-spacing:-2px;margin:16px 0}.authstory>p{font-size:13px;line-height:1.9;color:#88687a;max-width:330px}.authstory .mascot{width:180px;height:145px;margin:20px 0}.quote{border-left:2px solid #d99ab7;padding-left:18px;color:#977287;font-size:12px;line-height:1.9}.formpaper{position:relative;background:#fff;border:1px solid #dfbdce;border-radius:22px;padding:34px;box-shadow:6px 7px 0 #f3e0e9}.formpaper:before{content:"";position:absolute;top:-10px;left:calc(50% - 36px);height:22px;width:72px;background:#f8d6e3bb;transform:rotate(-5deg)}.formpaper h2{font-size:23px;margin:0 0 7px}.formpaper>p{margin:0 0 25px;font-size:12px;color:#907581}.formpaper label{display:grid;grid-gap:8px;gap:8px;font-size:12px;color:#755364;margin:17px 0}.formpaper input,.formpaper textarea{width:100%;padding:12px 13px;border:1px solid #e8d1dd;border-radius:10px;background:#fffbfd;color:#593d4c;min-width:0;font-size:13px}.formpaper textarea{resize:vertical;min-height:75px}.formpaper input::placeholder,.formpaper textarea::placeholder{color:#ad94a1}.passwordfield{position:relative}.passwordfield input{padding-right:54px}.passwordfield button{position:absolute;right:10px;top:12px;background:none;border:0;color:#97778a;font-size:11px}.formpaper .primary{width:100%;margin-top:8px}.formfoot{text-align:center;color:#967586;font-size:11px;margin:20px 0 0}.formfoot a{color:#ac4c78;font-weight:600}.steps{display:flex;gap:12px;align-items:center;font-size:10px;color:#b18a9f;margin:25px 0}.steps b{background:#fce9f1;padding:7px 10px;border-radius:7px;color:#a44e75}.success-box{padding:25px 0;text-align:center;line-height:1.8}.success-box .seal{width:68px;height:68px;margin:0 auto 20px;display:grid;place-items:center;background:#fbe4ed;color:#b95780;font-size:30px;border-radius:50%}.public{width:100%;min-width:0}.brand,.bunny-brand,.public .logo{font-family:Comic Sans MS,YouYuan,幼圆,sans-serif;letter-spacing:-.8px}.brand small,.bunny-brand small,.public .logo small{font-family:Segoe UI,sans-serif}.public .logo i{flex-shrink:0}.public .homehero h1{font-size:clamp(34px,4.2vw,52px);letter-spacing:-1px;line-height:1.3}.public .authstory h1{font-size:clamp(28px,3.4vw,40px);letter-spacing:0;line-height:1.4}.public .chips,.public .homehero .actions{flex-wrap:wrap}.public .mascot{display:block;overflow:visible}.public .mascot .face{fill:white;stroke:#e7b4c8;stroke-width:2}.public .mascot .blush{fill:#f7bfd4}.public .mascot .eye{fill:#9d6680}.public .formpaper{min-width:0}.public .formpaper .form-preview{margin-top:24px;gap:16px}.public .formpaper .field{margin:0}.public .formpaper .field span{font-weight:500;font-size:12px;letter-spacing:0;text-transform:none}.public .formpaper .field__input{color:var(--ink);background:#fffbfd;border:1px solid #e8d1dd;padding:12px 13px;border-radius:10px}.public .formpaper .footnote{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.8}.public .formpaper>.formfoot{margin:22px 0 0;font-size:11px;line-height:1.8}.primary:disabled,.secondary:disabled{opacity:.55;cursor:wait}.primary:focus-visible,.secondary:focus-visible{outline:3px solid #a14c74;outline-offset:3px}.button{background:#b94e7d;border-color:#b34c79;box-shadow:0 3px 0 #95365f}.button:hover{background:#a6406b}.button--ghost{background:white;border:1px solid #ebcfdd;color:#845b70}.bunny-admin{max-width:none;grid-template-columns:210px minmax(0,1fr);background:#fff9fc}.bunny-sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100dvh;padding:28px 22px;background:#fffaf6;border-right:1px dashed #e3bfce;gap:32px}.bunny-brand{font-size:23px}.bunny-brand em,.bunny-brand>span:first-child{border-color:#efc9da;background:#fce7ef}.bunny-nav{gap:8px}.bunny-nav :is(a,button){width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid transparent;border-radius:10px;padding:12px 14px;background:transparent;color:#896b79;font:inherit;font-size:12px;cursor:pointer}.bunny-nav a:first-child{background:transparent;color:#896b79;font-weight:400;border-color:transparent}.bunny-nav :is(a,button):hover{background:#fff0f6}.bunny-nav :is(a,button):is([aria-current=page],[aria-selected=true],[aria-pressed=true],.active){background:#fbe3ee;color:#a74570;font-weight:700;border-color:transparent}.bunny-nav button span{font-size:10px}.bunny-note{background:#fff2d7;border-color:#e5cba5;box-shadow:3px 3px 0 #f2e5d4}.bunny-content.shell{max-width:1320px;padding:28px 42px 44px}.bunny-topline{font-size:11px}.bunny-welcome .dashboard-title{font-size:27px;letter-spacing:-.5px;font-weight:700}.bunny-welcome .lead{font-size:12px}.bunny-welcome .dashboard-userline{border:1px solid var(--line)}.bunny-welcome .bunny-mascot{width:90px;height:74px;transform:rotate(5deg)}.bunny-welcome .dashboard-status{width:130px;max-width:130px}.bunny-admin .dashboard-card:not(.token-panel){padding:24px;border:1px solid #e2c5d4;border-radius:18px;background:white;box-shadow:var(--shadow)}.bunny-admin .dashboard-card__header h2{font-size:16px}.bunny-admin .dashboard-card__header{gap:12px}.bunny-admin .dashboard-badge{border:1px solid #ecd5e0;background:#fff8fb;font-size:10px}.bunny-admin .dashboard-log-item,.bunny-admin .dashboard-table__head,.bunny-admin .dashboard-table__row{border:0;border-bottom:1px solid #f3e6ed;border-radius:0;background:white;padding:15px 13px;font-size:12px}.bunny-admin .dashboard-table__head{background:#fff8fb;color:#927485;font-size:11px;letter-spacing:0}.bunny-admin .dashboard-log-item:last-child,.bunny-admin .dashboard-table__row:last-child{border-bottom:0}.bunny-admin .dashboard-log-list,.bunny-admin .dashboard-table{min-width:0;gap:0}.bunny-admin .dashboard-log-item>*,.bunny-admin .dashboard-table__row>*{min-width:0;overflow-wrap:anywhere}.bunny-admin .admin-action{border:1px solid #e4c4d4;background:#fff8fb;color:#9c4d73;box-shadow:none;min-height:36px;border-radius:9px;font-size:11px;padding:8px 12px}.bunny-admin .admin-action:hover{background:#fceaf2}.bunny-admin .dashboard-code{color:#805069;background:#fff8fb;border:1px dashed #dfb5c9;border-radius:12px;font-size:12px}.gsing-tab-panel{min-width:0;display:grid;grid-gap:22px;gap:22px;align-content:start}.gsing-tab-panel[hidden]{display:none!important}.gsing-key-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.gsing-key-toolbar h2{margin:0;font-size:16px}.gsing-key-toolbar p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.gsing-key-toolbar .button{font-size:12px;padding:10px 16px}.gsing-key-dialog{width:min(450px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow-y:auto;border:1px solid #ddb7c9;border-radius:22px;padding:26px;color:var(--ink);background:white;box-shadow:6px 7px 0 #e9cfdc}.gsing-key-dialog::-webkit-backdrop{background:#63425440;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.gsing-key-dialog::backdrop{background:#63425440;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.gsing-key-dialog .dashboard-card{padding:0;border:0;border-radius:0;background:white;color:var(--ink);box-shadow:none}.gsing-key-dialog .dashboard-card__header{flex-wrap:wrap;gap:12px}.gsing-key-dialog h2{font-size:21px}.gsing-key-dialog p{color:var(--muted);font-size:12px;line-height:1.8}.gsing-key-dialog .field span{font-size:12px;letter-spacing:0}.gsing-key-dialog .field__input{background:#fffbfd;border-color:#e8d1dd}.gsing-key-dialog .close,.gsing-key-dialog .gsing-dialog-close{display:block;margin-left:auto;border:0;background:transparent;color:#906d7e;padding:4px 7px;font:inherit;font-size:20px;cursor:pointer}.token-metric{border-width:1px;border-color:#e3bdd0;border-radius:16px;box-shadow:3px 4px 0 #f1dfe8}.token-metric:first-child{transform:rotate(-.5deg)}.token-metric:nth-child(2){transform:rotate(.5deg);background:#fffdf5}.token-metric--total{background:#fbe2ed}.token-metric dd{font-family:Segoe UI,Microsoft YaHei,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:clamp(24px,2.8vw,34px)}.token-chart,.token-chart__heading,.token-panel>.dashboard-empty,.token-panel__message,.token-panel__note{border-width:1px;border-color:#e2c5d4;box-shadow:var(--shadow)}.token-chart__heading{border-bottom:0;border-radius:18px 18px 0 0}.token-chart{border-block:0}.token-panel__note{border-top:1px dashed var(--line);border-radius:0 0 18px 18px}.token-panel>.dashboard-empty{border-block:0}.token-chart__bar rect{fill:#c36590}.token-chart__bar .token-chart__hit{fill:transparent}.token-panel__header h2{font-size:17px}@media (min-width:1550px){.public{padding-inline:40px}.public .homehero{min-height:540px}.public .authlayout{margin-top:45px}.bunny-content.shell{padding:34px 55px 48px}}@media (max-width:1000px){.public .authlayout{gap:35px;margin:25px 0 50px;grid-template-columns:minmax(0,1fr) minmax(0,390px)}.public .homehero{gap:25px}.public .sticker.three{display:none}}@media (min-width:901px) and (max-width:1120px){.bunny-admin{grid-template-columns:180px minmax(0,1fr)}.bunny-sidebar{padding:25px 16px}.bunny-content.shell{padding:26px}}@media (max-width:900px){.bunny-admin{grid-template-columns:minmax(0,1fr)}.bunny-sidebar{position:static;height:auto;gap:16px;border-right:0;border-bottom:1px dashed #e3bfce;padding:18px 24px}.bunny-nav{display:flex;flex-wrap:wrap;gap:6px}.bunny-nav :is(a,button){width:auto;padding:10px 12px}.bunny-content.shell{padding:24px}}@media (max-width:760px){.public{padding:0 22px}.publicnav{height:80px;gap:10px}.public .logo{gap:8px;font-size:20px}.public .logo small{font-size:6px;letter-spacing:1.2px}.public .logo i{padding:5px 9px}.navbuttons{flex-shrink:0;gap:8px}.navbuttons a{white-space:nowrap;font-size:11px;padding:10px 13px}.public .homehero{grid-template-columns:minmax(0,1fr);padding:15px 0 30px;gap:5px}.public .homehero h1{font-size:38px}.public .homehero p{font-size:13px}.illustration{min-height:330px}.illustration .mascot{width:210px;height:180px}.illustration:before{width:240px;height:240px}.sticker.one{left:10px;bottom:15px}.sticker.two{right:10px;top:15px}.features{grid-template-columns:minmax(0,1fr);gap:14px}.feature{padding:21px}.public .authlayout{grid-template-columns:minmax(0,1fr);margin:5px 0 45px;gap:18px}.authstory{padding:8px 0}.public .authstory h1{font-size:29px;margin:10px 0}.authstory>p{margin:0;font-size:12px;max-width:none}.authstory .mascot,.authstory .quote{display:none}.steps{margin:18px 0 0;flex-wrap:wrap}.formpaper{padding:25px}.footer{gap:15px;flex-wrap:wrap;font-size:10px}}@media (max-width:680px){.bunny-sidebar{padding:16px}.bunny-content.shell{padding:24px 16px 36px}.bunny-nav :is(a,button){padding:9px 10px;font-size:11px}.bunny-welcome .dashboard-title{font-size:24px}.bunny-welcome .dashboard-status{width:74px;max-width:74px}.bunny-welcome .bunny-mascot{width:67px;height:65px}.bunny-admin .dashboard-card:not(.token-panel){padding:19px 14px}.bunny-admin .dashboard-card__header h2{font-size:15px}.bunny-admin .dashboard-table__head{display:none}.bunny-admin .dashboard-log-item,.bunny-admin .dashboard-table__row{padding:14px 8px;gap:9px}.gsing-key-toolbar{align-items:flex-start}.gsing-key-dialog{padding:23px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important}}.bunny-brand>i{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;font-style:normal;color:#b65381;background:#fce7ef;border:1px solid #efc9da;border-radius:13px}.gsing-scope{justify-self:start;margin:0;padding:6px 10px;border:1px dashed #e8cbda;border-radius:15px;color:#9b7589;background:#fffcfd;font-size:11px}.bunny-admin .gsing-key-dialog .dashboard-card{padding:0;border:0;border-radius:0;box-shadow:none}.bunny-admin .gsing-key-dialog .dashboard-card__header h2{font-size:21px}.gsing-key-dialog:not([open]){display:none}.formhint{color:var(--muted);font-size:11px;line-height:1.8;text-align:center;margin-top:18px}:root{--glow-a:#f1a3c966;--glow-b:#e7b1ef50;--halo-opacity:.6}.dashboard-card,.feature,.formpaper,.token-chart,.token-metric{position:relative;isolation:isolate}.dashboard-card:after,.feature:after,.formpaper:after,.token-chart:after,.token-metric:after{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:inherit;z-index:-1;box-shadow:0 0 18px 1px var(--glow-a),0 0 34px var(--glow-b);opacity:.25;animation:gsing-breathe 6s ease-in-out infinite}.feature:nth-child(2):after,.token-metric:nth-child(2):after{animation-delay:-2s}.feature:nth-child(3):after,.token-metric:nth-child(3):after{animation-delay:-4s}.bunny-brand>i,.logo i{box-shadow:0 0 16px var(--glow-a);animation:gsing-brand-glow 6s ease-in-out infinite}.bunny-brand,.logo{text-shadow:0 0 16px var(--glow-a)}.illustration:before{animation:gsing-aura 8s ease-in-out infinite;box-shadow:0 0 45px 10px var(--glow-a);pointer-events:none}.authstory>.mascot,.illustration>.mascot{animation:gsing-float 7s ease-in-out infinite}.primary{transition:box-shadow .3s ease,transform .3s ease,background .3s ease;box-shadow:0 3px 12px var(--glow-a),0 0 15px var(--glow-b)}.primary:hover{transform:translateY(-2px);box-shadow:0 5px 22px var(--glow-a),0 0 27px var(--glow-b)}.primary:active{transform:translateY(0)}.feature{transition:transform .35s ease}.feature:hover{transform:translateY(-3px)}input:focus,textarea:focus{box-shadow:0 0 0 3px #f9dbe960,0 0 14px var(--glow-a)}@keyframes gsing-breathe{0%,to{opacity:.22}50%{opacity:var(--halo-opacity)}}@keyframes gsing-brand-glow{0%,to{box-shadow:0 0 10px var(--glow-a)}50%{box-shadow:0 0 23px var(--glow-a)}}@keyframes gsing-aura{0%,to{opacity:.65;scale:1}50%{opacity:1;scale:1.035}}@keyframes gsing-float{0%,to{translate:0 0}50%{translate:0 -5px}}.dog-mascot{display:inline-block;position:relative;flex-shrink:0;animation:none!important}.dog-frames{display:block;position:relative;width:100%;height:100%}.dog-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;visibility:hidden;pointer-events:none;transform-origin:50% 55%}.dog-frame.is-current{opacity:1;visibility:visible;animation:dog-pop .32s both}.illustration>.dog-mascot{width:310px;height:370px}.authstory>.dog-mascot{width:190px;height:235px}.welcome>.dog-mascot{width:100px;height:120px}@keyframes dog-pop{0%{transform:scale(.9)}40%{transform:scale(1.055)}66%{transform:scale(.98)}84%{transform:scale(1.012)}to{transform:scale(1)}}@media(max-width:760px){.illustration>.dog-mascot{width:245px;height:300px}.welcome>.dog-mascot{width:76px;height:95px}.authstory>.dog-mascot{display:none}}.bunny-welcome .dog-mascot{width:100px;height:120px;transform:none}.dog-mascot{transform:none!important}@media(max-width:760px){.bunny-welcome .dog-mascot{width:76px;height:95px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}.feature:hover,.primary:hover{transform:none}}.admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-actions button{font-size:12px;padding:9px 12px;white-space:nowrap}.admin-actions .admin-danger{color:#ac365e}.admin-actions small{font-size:11px;color:var(--muted)}.admin-workflow{width:min(560px,calc(100% - 32px))}.admin-workflow h2{line-height:1.5;overflow-wrap:anywhere}.admin-workflow .admin-note{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;background:#fff6fa;border-radius:12px}.admin-workflow .admin-actions{margin-top:20px;justify-content:flex-end}.admin-workflow .field{margin:18px 0}.admin-workflow textarea{min-height:90px;resize:vertical}.admin-user-details{width:min(1050px,calc(100% - 32px))}.admin-user-row{grid-template-columns:minmax(130px,1.1fr) .6fr .5fr minmax(220px,1.5fr)}.admin-user-details .token-panel{margin-top:20px}.admin-user-details .token-chart{max-width:100%}@media(max-width:760px){.admin-user-row{grid-template-columns:1fr}.admin-workflow{padding:20px}.admin-user-details .token-panel{padding:0}}.login-music{margin-top:22px;padding-top:18px;border-top:1px dashed #e9ccdb}.login-music strong{font-size:13px;color:#a34f76}.login-music small{display:block;margin:7px 0 12px;color:#8c6e7e;font-size:11px}.login-music audio{display:block;width:100%;height:40px;max-width:100%;border-radius:20px}.music-start{display:flex;justify-content:flex-end;margin:12px 0}.music-start button{font-size:12px;padding:8px 14px}.formpaper .music-start{justify-content:center;margin:18px 0 0}.music-start-floating{position:fixed;right:20px;bottom:20px;z-index:30;margin:0}.music-start-floating button{background:#fff9fc;box-shadow:0 3px 15px #d99bb54d}.config-downloads{display:flex;flex-wrap:wrap;gap:12px}.config-guide .dashboard-code,.config-guide code{font-family:Consolas,SFMono-Regular,monospace;font-feature-settings:none;font-variant-ligatures:none}.config-guide h3{margin-bottom:0}