:root{color:#172119;background:#f7f7f3;font-family:Segoe UI Variable,Microsoft YaHei,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 97% 0%,#e5eee2 0,transparent 27rem),#f7f7f3}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #48745c;outline-offset:3px}.app-shell{width:min(1440px,calc(100% - 48px));margin:0 auto;padding:24px 0 34px}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:64px;border-bottom:1px solid #d9ded6}.brand{display:inline-flex;align-items:center;gap:9px;color:#172119;text-decoration:none;font-weight:800;letter-spacing:-.045em;font-size:20px;width:fit-content}.brand small{color:#80907d;font-size:12px;font-weight:600;letter-spacing:0;margin-left:2px}.brand-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#1b2b20;color:#f2f3e9}nav{display:flex;gap:32px}nav a,.nav-button{color:#637064;font-size:13px;text-decoration:none;font-weight:600;transition:color .2s ease}nav a:hover,.nav-button:hover{color:#172119}.nav-button{border:0;padding:0;background:transparent}.account-button{justify-self:end;border:0;background:transparent;display:inline-flex;gap:7px;align-items:center;color:#3d5142;font-size:13px;font-weight:700}.hero{display:grid;grid-template-columns:1.4fr .75fr;gap:90px;align-items:end;padding:104px 0 76px}.eyebrow{margin:0 0 14px;color:#688069;font-family:DM Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.14em}.hero h1{margin:0;font-size:clamp(48px,6vw,86px);letter-spacing:-.075em;line-height:1.03;font-weight:800}.hero h1 em{color:#62836b;font-family:"Noto Serif SC",serif;font-style:normal;font-weight:600;letter-spacing:-.1em}.hero-lede{max-width:515px;margin:27px 0 0;color:#69756a;line-height:1.8;font-size:15px}.hero-stats{align-self:center;border-left:1px solid #d7ded4;display:grid}.hero-stats div{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:17px 0 17px 26px;border-bottom:1px solid #d7ded4}.hero-stats strong{color:#93a38d;font-family:DM Mono,monospace;font-size:12px}.hero-stats span{color:#556158;font-size:12px;line-height:1.65}.workspace-grid{display:grid;grid-template-columns:218px minmax(0,1fr) 316px;background:#fff;border:1px solid #dde2da;box-shadow:0 24px 65px #1f2f2313}.module-rail{background:#f0f2ed;padding:18px 12px;border-right:1px solid #e0e4dd}.module-tab{width:100%;color:#657066;display:flex;gap:11px;align-items:center;border:0;background:transparent;border-radius:9px;text-align:left;padding:13px 11px;font-size:12px;font-weight:700;transition:background .2s,color .2s,transform .2s}.module-tab:hover{color:#1b3020;transform:translate(2px)}.module-tab.active{background:#fff;color:#1b3020;box-shadow:0 1px 2px #1423190f}.module-tab i{display:none;width:5px;height:5px;margin-left:auto;border-radius:50%;background:#688f72}.module-tab.active i{display:block}.workbench{padding:42px;min-height:520px}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.section-heading h2{margin:0;color:#1a251c;font-size:26px;letter-spacing:-.055em}.status-dot{margin-top:4px;color:#728072;font-size:10px;white-space:nowrap}.status-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#77a078;margin:0 6px 1px 0}.link-form{margin-top:33px;display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.field{display:grid;gap:8px}.field.full{grid-column:1 / -1}.field span{color:#344337;font-size:12px;font-weight:700}.field small{color:#98a297;font-size:10px;font-weight:500;margin-left:5px}.field input,.field select{width:100%;border:1px solid #d9e0d7;background:#fbfcfa;color:#1e2b21;border-radius:8px;min-height:45px;padding:0 13px;font-size:13px;transition:border .2s,box-shadow .2s}.field input:focus{outline:0;border-color:#6f9576;box-shadow:0 0 0 3px #688f721f}.prefix-input{display:flex;align-items:center;border:1px solid #d9e0d7;background:#fbfcfa;border-radius:8px;overflow:hidden}.prefix-input:focus-within{border-color:#6f9576;box-shadow:0 0 0 3px #688f721f}.prefix-input b{padding:0 0 0 13px;color:#819080;font:11px DM Mono,monospace}.prefix-input input{border:0;box-shadow:none!important}.advanced{grid-column:1 / -1;border-top:1px solid #e4e8e2;padding-top:19px}.advanced summary{list-style:none;color:#5c6e5f;font-size:12px;font-weight:700;cursor:pointer;display:flex;gap:9px;align-items:center}.advanced summary::-webkit-details-marker{display:none}.advanced summary svg{transition:transform .2s}.advanced[open] summary svg{transform:rotate(90deg)}.advanced-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:18px}.form-action{grid-column:1 / -1;display:flex;gap:15px;align-items:center;margin-top:4px}.form-action p{color:#5d8065;font-size:11px;margin:0}.form-error{grid-column:1 / -1;margin:-7px 0 0;color:#a33c31;font-size:11px;font-weight:700}.primary-button,.secondary-button{border:0;background:#1c3022;color:#f8faf6;border-radius:8px;min-height:45px;padding:0 17px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:10px;transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s}.primary-button:hover{background:#2a4932;transform:translateY(-2px)}.primary-button:active{transform:scale(.98)}.primary-button:disabled{opacity:.6;cursor:wait;transform:none}.result-panel{position:relative;overflow:hidden;padding:42px 27px;background:#e9efdf;color:#1d2c20}.result-panel .result-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;color:#4c6b51;background:#ffffff70}.result-panel h2{position:relative;margin:30px 0 10px;font-size:23px;letter-spacing:-.06em}.result-panel>p:not(.eyebrow):not(.result-url):not(.result-note){position:relative;color:#667463;font-size:12px;line-height:1.8}.paper-pattern{position:absolute;bottom:-48px;right:-45px;width:220px;height:220px;border:1px solid rgba(73,104,78,.17);border-radius:46% 54% 37% 63%;transform:rotate(23deg)}.paper-pattern:before,.paper-pattern:after{content:"";position:absolute;inset:24px;border:1px solid rgba(73,104,78,.12);border-radius:inherit}.paper-pattern:after{inset:49px}.result-panel.ready{background:#eff3e9}.result-panel.ready h2{margin-top:3px}.result-url{margin:8px 0 20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#66816a;font:10px DM Mono,monospace}.qr-frame{width:100%;aspect-ratio:1;display:grid;place-items:center;background:#fff;border:1px solid #dae2d5;padding:13px}.qr-frame img{width:100%;height:100%;object-fit:contain}.result-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:13px;gap:8px}.result-actions button{border:1px solid #d5ded0;background:#ffffff94;color:#425946;border-radius:7px;min-height:35px;display:inline-flex;justify-content:center;align-items:center;gap:5px;font-size:10px;font-weight:800;transition:background .2s}.result-actions button:hover{background:#fff}.result-note{color:#718072;font-size:10px;line-height:1.6;margin:17px 0 0}.empty-state{min-height:360px;display:grid;place-content:center;text-align:center}.empty-icon{margin:auto;display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:#eef3ea;color:#5f8066}.empty-state h3{margin:18px 0 8px;letter-spacing:-.04em}.empty-state p{max-width:360px;margin:0 auto 20px;color:#758077;font-size:12px;line-height:1.8}.secondary-button{background:#edf2eb;color:#36523d;margin:auto}.profile-preview{margin-top:30px;padding:32px;background:#f3f5ef;text-align:center}.avatar{width:56px;height:56px;display:grid;place-items:center;margin:auto;border-radius:50%;color:#fff;background:#6f8f73;font:22px "Noto Serif SC",serif}.profile-preview h3{margin:15px 0 8px;letter-spacing:-.04em}.profile-preview p{color:#778177;font-size:12px;line-height:1.8;max-width:330px;margin:0 auto 20px}.profile-preview a{color:#4d7456;font:11px DM Mono,monospace;text-decoration:none;display:inline-flex;align-items:center;gap:5px}.recent-section{padding:74px 0 34px}.recent-section .section-heading{align-items:end}.text-button{display:inline-flex;align-items:center;gap:6px;color:#4c6651;background:transparent;border:0;font-size:12px;font-weight:800}.link-list{margin-top:25px;border-top:1px solid #d9e0d7}.link-list article{display:grid;grid-template-columns:36px 1fr auto;align-items:center;min-height:78px;border-bottom:1px solid #dfe4dc}.list-mark{color:#63816a}.link-list h3{margin:0 0 5px;color:#263329;font-size:13px;letter-spacing:-.03em}.link-list p{color:#829083;margin:0;font:10px DM Mono,monospace}.link-list button{color:#667e6a;background:transparent;border:0;padding:7px}.link-list button:hover{color:#23452b}footer{display:flex;justify-content:space-between;border-top:1px solid #d9ded6;padding-top:23px;color:#788477;font-size:10px}footer span:first-child{color:#3e5141;font-weight:800}@media(max-width:1000px){.workspace-grid{grid-template-columns:160px minmax(0,1fr)}.result-panel{grid-column:1 / -1;min-height:280px}.result-panel.ready{min-height:auto}.result-panel.ready .qr-frame{width:220px}.hero{gap:40px}.workbench{padding:32px}}@media(max-width:700px){.app-shell{width:min(100% - 30px,1440px);padding-top:10px}.topbar{grid-template-columns:1fr auto}.topbar nav{display:none}.hero{display:block;padding:67px 0 49px}.hero h1{font-size:47px}.hero-stats{margin-top:45px;border-top:1px solid #d7ded4}.hero-stats div{padding-left:0}.workspace-grid{display:block}.module-rail{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid #e0e4dd;padding:8px}.module-tab{min-width:max-content}.workbench{min-height:0;padding:28px 21px}.section-heading{display:block}.status-dot{display:block;margin-top:10px}.link-form,.advanced-grid{grid-template-columns:1fr}.field.full,.advanced,.form-action{grid-column:auto}.form-action{align-items:flex-start;flex-direction:column}.result-panel{padding:28px 21px}.result-panel.ready .qr-frame{width:100%}.recent-section{padding-top:50px}footer{gap:15px;flex-direction:column}}.auth-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:#1b2b2061;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.auth-dialog{position:relative;width:min(100%,430px);padding:35px;background:#fbfcf9;border:1px solid #dde5dc;box-shadow:0 25px 70px #14281933}.auth-dialog h2{margin:0;font-size:29px;letter-spacing:-.06em}.auth-dialog>p:not(.eyebrow){color:#718072;font-size:12px;line-height:1.7}.dialog-close{position:absolute;top:12px;right:14px;border:0;background:transparent;color:#647064;font-size:25px;line-height:1}.auth-form{display:grid;gap:15px;margin-top:23px}.auth-form .primary-button{justify-content:center;margin-top:4px}.auth-switch{margin-top:20px;border:0;background:transparent;color:#54755c;font-size:12px;font-weight:800;padding:0}.profile-link-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:8px;margin-top:8px}.profile-link-actions{display:flex;gap:5px}.profile-link-actions button{min-width:34px;border:1px solid #d9e0d7;background:#f7f9f5;color:#49604d;border-radius:7px;font-size:11px;font-weight:800}.profile-link-actions button:disabled{cursor:not-allowed;opacity:.38}.remove-button{border:0!important;background:#f6eae6!important;color:#8c4437!important;border-radius:7px;padding:0 10px;font-size:10px;font-weight:800}.inline-button{margin:12px 0 0;min-height:36px;font-size:11px}.profile-open-button{margin:0}.profile-avatar-image{object-fit:cover;border:1px solid rgba(255,255,255,.45)}.profile-preview.theme-forest{background:#173323;color:#eff6ed}.profile-preview.theme-forest h3{color:#eff6ed}.profile-preview.theme-forest p{color:#b9c9ba}.profile-preview.theme-ink{background:#1f2228;color:#f4f5f7}.profile-preview.theme-ink h3{color:#f4f5f7}.profile-preview.theme-ink p{color:#b7bbc4}.profile-preview-links{display:grid;gap:7px;max-width:360px;margin:0 auto 18px}.profile-preview-links span{padding:9px 12px;border:1px solid rgba(111,143,115,.3);border-radius:8px;color:inherit;background:#ffffff14;font-size:11px;font-weight:700}.profile-preview-url{border:0;background:transparent;color:#4d7456;font:11px DM Mono,monospace;display:inline-flex;align-items:center;gap:5px;overflow-wrap:anywhere}.theme-forest .profile-preview-url,.theme-ink .profile-preview-url{color:#d5e6d5}.stats-dialog{position:relative;width:min(100%,620px);padding:35px;background:#fbfcf9;border:1px solid #dde5dc;box-shadow:0 25px 70px #14281933}.stats-dialog h2{margin:0;font-size:29px;letter-spacing:-.06em}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.metric-grid div{padding:17px;background:#eef3eb}.metric-grid strong{display:block;font-size:27px;letter-spacing:-.06em;color:#24452d}.metric-grid span{color:#6b786d;font-size:11px}.bar-chart{height:190px;display:flex;align-items:end;gap:7px;padding:14px 7px 0;border-bottom:1px solid #dbe2d9;background:linear-gradient(to bottom,transparent 49%,#edf1eb 50%,transparent 51%)}.bar-item{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:7px}.bar-item i{width:min(100%,22px);background:#67866d;border-radius:4px 4px 0 0;transition:height .3s cubic-bezier(.16,1,.3,1)}.bar-item span{font:9px monospace;color:#738074;white-space:nowrap}.bar-chart p{align-self:center;width:100%;text-align:center;color:#778177;font-size:12px}.admin-nav{color:#356447}.admin-dialog{position:relative;width:min(100%,920px);max-height:min(780px,calc(100dvh - 40px));overflow:auto;padding:35px;background:#fbfcf9;border:1px solid #dde5dc;box-shadow:0 25px 70px #14281933}.admin-dialog h2{margin:0;font-size:29px;letter-spacing:-.06em}.admin-lede{margin:10px 0 0;color:#718072;font-size:12px;line-height:1.7}.admin-state{margin:36px 0;color:#5f8066;font-size:13px;font-weight:700}.admin-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:28px 0}.admin-metrics div{min-width:0;padding:16px;background:#eef3eb;border-top:2px solid #718d74}.admin-metrics strong{display:block;overflow:hidden;text-overflow:ellipsis;color:#24452d;font-size:23px;letter-spacing:-.06em;white-space:nowrap}.admin-metrics span{color:#6b786d;font-size:10px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-grid h3{margin:0 0 12px;color:#314435;font-size:13px}.admin-list{border-top:1px solid #dfe6dd}.admin-list article{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid #e4e9e2}.admin-list b{overflow:hidden;color:#314435;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-list span,.admin-list p{margin:0;overflow:hidden;color:#788577;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.admin-tabs{display:flex;gap:7px;overflow-x:auto;margin:25px 0 0;padding-bottom:2px;border-bottom:1px solid #dfe6dc}.admin-tabs button{flex:0 0 auto;border:0;border-bottom:2px solid transparent;background:transparent;color:#788477;padding:10px 9px 9px;font-size:11px;font-weight:800;transition:color .2s,border-color .2s,transform .2s}.admin-tabs button:hover{color:#31533a}.admin-tabs button:active{transform:scale(.98)}.admin-tabs button.active{color:#244d2e;border-bottom-color:#5f8868}.admin-error{margin-top:18px}.admin-audit-note,.admin-resource-note{margin:-8px 0 20px;color:#6f7d70;font-size:11px;line-height:1.7}.admin-resource-note{margin:20px 0 14px;padding:10px 12px;border-left:2px solid #8dab91;background:#f2f5f0}.admin-resource-list{border-top:1px solid #dde5dc}.admin-resource-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:17px;align-items:center;padding:16px 0;border-bottom:1px solid #e1e7df}.resource-main{min-width:0;display:grid;gap:5px}.resource-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.resource-title b{color:#273a2b;font-size:12px;letter-spacing:-.015em}.resource-main>span,.resource-main small{overflow:hidden;color:#718072;font-size:10px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.resource-main small{color:#879187;font-family:DM Mono,monospace}.resource-meta{display:grid;min-width:100px;gap:5px;color:#7b877c;font-size:10px;text-align:right;white-space:nowrap}.resource-meta b{color:#526554;font-size:10px}.admin-action-row{display:flex;justify-content:flex-end;gap:7px}.compact-button{min-height:32px;margin:0;padding:0 10px;border:1px solid #d9e4d8;font-size:10px}.danger-button{border:1px solid #e7c4bd;background:#fbefec;color:#984537;border-radius:7px;min-height:36px;padding:0 12px;font-size:11px;font-weight:800;transition:background .2s,color .2s,transform .2s}.danger-button:hover{background:#f6ddd7;color:#7b3227}.danger-button:active,.secondary-button:active{transform:scale(.98)}.danger-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55}.status-badge,.role-badge{display:inline-flex;width:fit-content;align-items:center;border-radius:999px;padding:3px 7px;font-size:9px;font-style:normal;font-weight:800;line-height:1}.status-badge.active,.role-badge.admin{background:#e5f0e5;color:#386541}.status-badge.suspended{background:#f7e8e3;color:#a04838}.role-badge.user{background:#edf0ec;color:#667267}.admin-empty{margin:18px 0;padding:28px 16px;color:#7b877c;text-align:center;font-size:12px;background:#f4f6f2}.audit-list{border-top:1px solid #dde5dc}.audit-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;row-gap:6px;padding:15px 0;border-bottom:1px solid #e1e7df}.audit-list div{display:grid;gap:4px}.audit-list b{color:#354a39;font-size:12px}.audit-list span,.audit-list p,.audit-list time{color:#788477;font-size:10px;line-height:1.55}.audit-list p{grid-column:1 / -1;margin:0;color:#617063}.audit-list time{white-space:nowrap}.admin-user-list .admin-resource-row{grid-template-columns:minmax(0,1fr) auto}@media(max-width:700px){.profile-link-row{grid-template-columns:1fr}.profile-link-actions{min-height:36px}.profile-link-actions button{flex:1}.remove-button{min-height:36px}.metric-grid,.admin-metrics,.admin-grid{grid-template-columns:1fr}.stats-dialog,.admin-dialog{padding:27px 20px}.admin-tabs{margin-top:20px}.admin-resource-row,.admin-user-list .admin-resource-row{grid-template-columns:1fr;gap:12px}.resource-meta{text-align:left;grid-auto-flow:column;justify-content:start;gap:12px}.admin-action-row{justify-content:flex-start}.resource-main>span,.resource-main small{white-space:normal;overflow-wrap:anywhere}.audit-list article{grid-template-columns:1fr;gap:5px}.audit-list time{grid-row:3}.audit-list p{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
