:root{font-family:"Segoe UI Variable","Microsoft YaHei",system-ui,sans-serif;color:#243b45;background:#edf3f7;font-synthesis:none;--accent:#376b72;--muted:#6e808a;--line:#dce5eb;--glass:rgba(255,255,255,.67)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 88% 6%,#e0ecec 0,transparent 50%),#edf3f7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:10px 16px;color:inherit;background:#ffffffb5;transition:transform .15s,background .15s}button:hover{background:#fff}button:active{transform:scale(.975)}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button.danger{color:#a94242}button.quiet{border-color:transparent;background:transparent}button:disabled{opacity:.5;cursor:wait}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{background:#ffffffb8;border:1px solid #cddae1;border-radius:9px;padding:11px 12px;color:inherit;max-width:100%;width:100%}input[type=checkbox]{width:auto;accent-color:var(--accent)}textarea{resize:vertical;min-height:96px}label{display:grid;gap:8px;font-size:13px;color:#576b76}label.check{display:flex;align-items:center;gap:9px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible{outline:3px solid #72a7ba;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;font-weight:550;letter-spacing:-1px;margin-bottom:10px}h2{font-size:18px;font-weight:600}h3{font-size:15px;font-weight:600}p{line-height:1.8}small,.muted{color:var(--muted);font-size:13px}.shell{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:36px 20px 24px;border-right:1px solid #ffffffab;background:#ffffff45;backdrop-filter:blur(22px);display:flex;flex-direction:column;gap:30px}.brand{display:flex;align-items:center;gap:12px;padding:0 10px;font-size:21px;letter-spacing:3px}.brand img{width:33px;height:33px}.brand small{display:block;letter-spacing:1px;font-size:10px;margin-top:3px}.nav{display:grid;gap:7px}.nav button{text-align:left;border:0;background:transparent;padding:13px 16px;color:#647581;display:flex;align-items:center;gap:12px}.nav button.active{background:white;box-shadow:0 4px 16px #53657508;color:var(--accent);font-weight:600}.nav .symbol{font-size:18px;width:21px;text-align:center}.sidebar footer{margin-top:auto;display:grid;gap:10px}.workspace{width:100%;max-width:1330px;margin:auto;padding:34px 54px 80px;align-self:start}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:44px;gap:18px}.searchbox{display:flex;gap:10px;align-items:center;width:min(510px,75%);color:var(--muted)}.searchbox input{border:0;background:transparent;padding-left:2px}.top-actions{display:flex;gap:10px;align-items:center}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.heading p{margin:0;color:var(--muted);font-size:14px}.glass{background:var(--glass);border:1px solid #ffffffc9;box-shadow:0 8px 32px #34556805;backdrop-filter:blur(18px);border-radius:18px}.quick{padding:26px 28px;margin-bottom:30px}.quick-buttons{display:flex;gap:12px;flex-wrap:wrap}.quick-buttons button{background:#f7fafbbf;border-color:#e2eaee;min-width:115px;padding:16px;text-align:left}.home-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}.home-panel{padding:28px;min-height:232px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px}.panel-head h2{margin:0}.panel-head button{padding:4px 8px}.badge{font-size:12px;border-radius:6px;padding:4px 8px;background:#e8f0f2;color:#51727a}.empty{padding:35px 12px;text-align:center;color:var(--muted)}.empty strong{display:block;color:#546b76;font-size:15px;font-weight:500;margin-bottom:9px}.empty p{font-size:13px;margin-bottom:16px}.list{display:grid;gap:13px}.record-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 22px;transition:background .15s}.record-row:hover{background:#fff}.record-info{min-width:0;flex:1;text-align:left;border:0;background:none;padding:0}.record-info:hover{background:none}.record-info strong{display:block;font-weight:550;font-size:15px;overflow:hidden;text-overflow:ellipsis}.record-info small{display:block;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;gap:7px}.row-actions button{padding:7px 10px;font-size:12px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.chips button{padding:8px 13px;font-size:13px;border-color:transparent}.chips button.selected{background:var(--accent);color:white}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.filters select{width:200px}.banner{margin-bottom:24px;padding:12px 16px;display:flex;gap:14px;align-items:center;overflow:hidden;background:#fff5dd;border-radius:10px;font-size:13px}.ticker{overflow:hidden;flex:1}.ticker span{display:inline-block;white-space:nowrap;animation:ticker 18s linear infinite}.banner button{font-size:12px;padding:5px 9px}.auth{width:min(440px,calc(100% - 36px));margin:8vh auto;padding:38px}.auth .brand{margin-bottom:36px;padding:0}.auth form{display:grid;gap:19px}.auth h1{font-size:25px}.auth p{font-size:13px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.full{grid-column:1/-1}.toolbar{display:flex;gap:5px;flex-wrap:wrap;padding:9px;background:#f3f7f9;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0}.toolbar button{padding:6px 10px;font-size:13px;background:white}.editor{min-height:260px;max-height:55vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:0 0 10px 10px;padding:20px;line-height:1.9;color:#243b45;font-size:15px;overflow-wrap:anywhere}.editor h2{font-size:21px}.editor pre{white-space:pre-wrap;background:#edf2f6;padding:14px;border-radius:8px;font-family:Consolas,monospace}.editor img{max-width:100%}.editor table{border-collapse:collapse}.editor td{border:1px solid var(--line);padding:8px}.savebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.attachments{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.attachment{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:12px}.attachment button{padding:2px 7px;margin-left:8px}.section-card{padding:27px;margin-bottom:24px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-grid .section-card{margin:0}.section-card p{color:var(--muted);font-size:13px}.node-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.node-line button{font-size:12px;padding:6px 9px}.node-line span{overflow-wrap:anywhere}.node-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:20px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}dialog{border:1px solid #fff;border-radius:22px;width:min(620px,calc(100% - 28px));max-height:90vh;overflow:auto;padding:30px;color:#243b45;background:#f7fafb;box-shadow:0 30px 100px #233c4933}dialog::backdrop{background:#263e4c55;backdrop-filter:blur(7px)}dialog form{display:grid;gap:17px}.codes{padding:18px;background:#e6eff2;border-radius:10px;white-space:pre-wrap;user-select:all;font-family:Consolas,monospace;line-height:1.8;overflow-wrap:anywhere}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:20;padding:13px 22px;background:#263e4c;color:white;border-radius:12px;box-shadow:0 8px 40px #233c4920;max-width:90%;display:none;font-size:14px}.history{font-size:13px;border-left:2px solid #c6dce0;padding-left:14px;line-height:2}.notice{padding:14px 18px;background:#edf3f5;border-radius:10px;color:#607986;font-size:13px;line-height:1.7}.drag-row{display:flex;align-items:center;gap:10px;padding:10px 0}.drag-row span{flex:1}.drag-row button{padding:5px 9px}.mobile-title{display:none}.cover-thumb{width:50px;height:50px;object-fit:cover;border-radius:10px;margin-right:12px}.suggestions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;margin-top:10px}.suggestions button{font-size:12px;padding:4px 8px}@keyframes ticker{0%,20%{transform:translateX(0)}80%,100%{transform:translateX(-20%)}}@media(hover:hover) and (prefers-reduced-motion:no-preference){.quick-buttons button:hover{transform:perspective(600px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(.98);box-shadow:inset 0 2px 10px #376b7210}}@media(min-width:1500px){.workspace{padding-top:42px}}@media(max-width:1000px){.workspace{padding:26px 28px 60px}.shell{grid-template-columns:180px 1fr}.sidebar{padding:28px 12px}.home-grid,.settings-grid{grid-template-columns:1fr}.topbar{margin-bottom:30px}}@media(max-width:650px){.shell{display:block}.sidebar{position:relative;height:auto;padding:19px 18px 12px;gap:19px;border-right:0}.sidebar .brand{font-size:19px}.sidebar .brand small{display:none}.nav{display:flex;overflow:auto;gap:6px;padding-bottom:4px}.nav button{white-space:nowrap;padding:10px 12px;font-size:13px}.nav .symbol{display:none}.sidebar footer{display:none}.workspace{padding:20px 19px 50px}.topbar{margin-bottom:27px}.top-actions small{display:none}.top-actions button{padding:8px;font-size:12px}.searchbox{width:100%}h1{font-size:25px}.heading{align-items:flex-start;margin-bottom:24px}.heading>button{font-size:12px;padding:9px 12px}.quick,.home-panel{padding:22px}.quick-buttons{display:grid;grid-template-columns:1fr 1fr}.quick-buttons button{min-width:0}.home-grid{gap:18px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.record-row{padding:17px 15px}.row-actions{flex-direction:column}.filters select{width:100%}.node-form{grid-template-columns:1fr}.section-card{padding:21px}.editor{min-height:300px}.auth{padding:28px;margin-top:6vh}.banner{flex-wrap:wrap}.ticker{min-width:100%}.savebar{flex-wrap:wrap}.heading p{font-size:12px}dialog{padding:22px}.record-info small{max-width:200px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
