:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--page:#f3f5f2;--surface:#fbfcfa;--surface-strong:#fff;--surface-muted:#e9eeeb;--ink:#14201d;--muted:#60706a;--subtle:#65736d;--line:#d9e0dc;--line-strong:#c5d0ca;--brand:#176b5b;--brand-strong:#0d574a;--brand-soft:#dcece6;--brand-contrast:#f7fbf9;--danger:#b33a4a;--danger-soft:#f7e4e7;--shadow-soft:0 18px 50px #233b3314;--shadow-float:0 24px 70px #182f2729;--card-radius:18px;--control-radius:12px;--pill-radius:999px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--page:#0c1210;--surface:#111916;--surface-strong:#16201c;--surface-muted:#1c2924;--ink:#edf4f0;--muted:#a9b7b1;--subtle:#9aa8a1;--line:#2b3934;--line-strong:#3b4a44;--brand:#78b9a6;--brand-strong:#92c9b8;--brand-soft:#19372f;--brand-contrast:#0c1814;--danger:#e38794;--danger-soft:#3a2026;--shadow-soft:0 18px 50px #00000038;--shadow-float:0 24px 70px #0000006b}}*{box-sizing:border-box}html{background:var(--page)}body{background:var(--page);min-width:320px;min-height:100dvh;color:var(--ink);margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--brand) 30%, transparent);outline-offset:2px}button:active:not(:disabled){transform:translateY(1px)}main{min-height:calc(100dvh - 72px)}.site-header{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(135%);justify-content:space-between;align-items:center;gap:24px;height:72px;padding:0 clamp(20px,4vw,64px);display:flex;position:sticky;top:0}.brand{flex:none;align-items:center;padding:0;display:inline-flex}.brand img{border-radius:8px;width:152px;height:auto;display:block}.site-header nav{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.site-header nav>button{min-height:40px;color:var(--muted);white-space:nowrap;border-radius:10px;padding:0 14px;font-size:14px;font-weight:650;transition:color .18s,background .18s,transform .12s;position:relative}.site-header nav>button:hover{color:var(--ink);background:var(--surface-muted)}.site-header nav>button.active{color:var(--brand)}.site-header nav>button.active:after{content:"";background:var(--brand);border-radius:2px;height:2px;position:absolute;bottom:5px;left:14px;right:14px}.menu-toggle{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface-strong);place-items:center;width:42px;height:42px;display:none}.user-points{border:1px solid var(--line);border-radius:var(--pill-radius);background:var(--surface-strong);min-height:40px;color:var(--muted);white-space:nowrap;align-items:center;gap:4px;margin-left:8px;padding:4px 4px 4px 13px;font-size:13px;font-weight:700;display:inline-flex}.site-header .user-points button{border-radius:var(--pill-radius);background:var(--brand);min-height:30px;color:var(--brand-contrast);padding:0 12px;font-size:12px;font-weight:750;transition:background .18s,transform .12s}.site-header .user-points button:hover{background:var(--brand-strong)}.primary,.ghost,.text-link{white-space:nowrap;justify-content:center;align-items:center;gap:7px;font-weight:750;transition:color .18s,background .18s,border-color .18s,box-shadow .18s,transform .12s;display:inline-flex}.primary{border-radius:var(--control-radius);background:var(--brand);min-height:44px;color:var(--brand-contrast);padding:0 20px;font-size:14px;text-decoration:none}.primary:hover{background:var(--brand-strong);box-shadow:0 8px 24px color-mix(in srgb, var(--brand) 24%, transparent)}.primary.small{min-width:100px;min-height:40px;padding:0 16px;font-size:13px}.ghost{border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-strong);min-height:40px;color:var(--ink);padding:0 15px;font-size:13px}.ghost:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.text-link{color:var(--brand);padding:8px 0;font-size:14px}.text-link:hover{color:var(--brand-strong)}.home-page{min-height:calc(100dvh - 72px);padding:clamp(28px,5vw,64px) clamp(20px,4vw,64px) 80px;overflow:hidden}.home-shell{width:min(1380px,100%);margin:0 auto}.hero-panel{border:1px solid var(--line);background:var(--surface-strong);min-height:min(620px,100dvh - 136px);box-shadow:var(--shadow-soft);border-radius:26px;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);animation:.62s cubic-bezier(.16,1,.3,1) both heroEnter;display:grid;overflow:hidden}@keyframes heroEnter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-copy{align-self:center;padding:clamp(40px,6vw,84px)}.hero-mark{color:var(--brand);align-items:center;gap:8px;margin-bottom:22px;font-size:13px;font-weight:750;display:inline-flex}.hero-copy h1{letter-spacing:-.055em;max-width:9.5em;margin:0;font-size:clamp(44px,5vw,68px);font-weight:720;line-height:1.08}.hero-copy>p{max-width:32em;color:var(--muted);margin:24px 0 30px;font-size:clamp(16px,1.45vw,19px);font-weight:500;line-height:1.75}.hero-visual{background:var(--surface-muted);min-height:100%;position:relative;overflow:hidden}.hero-visual:after{content:"";pointer-events:none;box-shadow:inset 1px 0 0 color-mix(in srgb, var(--line) 75%, transparent);position:absolute;inset:0}.hero-visual img{object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.hero-panel:hover .hero-visual img{transform:scale(1.018)}.hero-stat{z-index:1;color:#173129;-webkit-backdrop-filter:blur(18px)saturate(130%);background:#f8fbf9cc;border:1px solid #ffffff94;border-radius:16px;min-width:142px;padding:16px 18px;position:absolute;bottom:24px;right:24px;box-shadow:0 16px 40px #1b382f29}.hero-stat strong,.hero-stat span{display:block}.hero-stat strong{letter-spacing:-.03em;font-size:25px}.hero-stat span{color:#536c64;margin-top:2px;font-size:12px;font-weight:700}.search-bar{border:1px solid var(--line-strong);background:var(--surface);border-radius:15px;width:min(620px,100%);min-height:54px;padding:5px;transition:border-color .18s,box-shadow .18s;display:flex;box-shadow:0 8px 30px #1f393012}.search-bar:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 13%, transparent)}.search-bar.large{min-height:60px}.search-bar input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:0 16px;font-size:15px;font-weight:600}.search-bar input::placeholder{color:var(--subtle);opacity:1}.search-bar .primary{min-width:96px;min-height:44px}.hot-tags{align-items:flex-start;gap:12px;margin-top:18px;display:flex}.hot-tags>span{color:var(--subtle);flex:none;padding-top:7px;font-size:12px;font-weight:700}.hot-tags div{flex-wrap:wrap;gap:4px;display:flex}.hot-tags button{min-height:30px;color:var(--muted);border-radius:8px;padding:0 9px;font-size:12px;font-weight:650;transition:color .16s,background .16s,transform .12s}.hot-tags button:hover{color:var(--brand);background:var(--brand-soft)}.category-shortcuts{padding-top:clamp(52px,7vw,88px)}.shortcut-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.shortcut-heading h2,.shortcut-heading p{margin:0}.shortcut-heading h2{letter-spacing:-.035em;font-size:clamp(27px,3vw,38px);font-weight:700}.shortcut-heading p{color:var(--muted);margin-top:8px;font-size:14px}.shortcut-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.shortcut-grid button{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface);text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:4px 11px;min-height:110px;padding:18px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:grid}.shortcut-grid button:hover{border-color:var(--line-strong);background:var(--surface-strong);box-shadow:var(--shadow-soft);transform:translateY(-3px)}.shortcut-grid button>span{background:var(--brand-soft);width:40px;height:40px;color:var(--brand);border-radius:12px;grid-row:1/3;place-items:center;display:grid}.shortcut-grid strong{align-self:end;font-size:15px}.shortcut-grid small{color:var(--subtle);align-self:start;font-size:12px;font-weight:650}.discover-page,.user-page{width:min(1460px,100%);margin:0 auto;padding:44px clamp(20px,4vw,56px) 72px}.discover-head{grid-template-columns:minmax(220px,.75fr) minmax(420px,1.25fr);align-items:end;gap:48px;margin-bottom:28px;display:grid}.discover-head h1,.discover-head p{margin:0}.discover-head h1{letter-spacing:-.045em;font-size:clamp(34px,4vw,50px);font-weight:710}.discover-head p{color:var(--muted);margin-top:8px;font-size:14px}.discover-search{justify-content:flex-end;display:flex}.discover-search .search-bar{margin:0}.result-toolbar{border:1px solid var(--line);background:var(--surface);border-radius:16px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:14px 16px;display:flex}.result-toolbar strong{margin-bottom:3px;font-size:14px;display:block}.result-toolbar span{color:var(--subtle);font-size:12px;font-weight:650}.filter-chips{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.filter-chips button{border-radius:var(--pill-radius);min-height:32px;color:var(--muted);border:1px solid #0000;padding:0 12px;font-size:12px;font-weight:750;transition:color .16s,background .16s,border-color .16s,transform .12s}.filter-chips button:hover{color:var(--ink);background:var(--surface-muted)}.filter-chips button.active{border-color:var(--brand);background:var(--brand);color:var(--brand-contrast)}.filter-chips .clear-filter{color:var(--danger)}.filter-chips .clear-filter:hover{background:var(--danger-soft);color:var(--danger)}.discover-layout{grid-template-columns:minmax(0,1fr) 286px;gap:22px;display:grid}.resource-list{flex-direction:column;gap:10px;display:flex}.resource-card{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface-strong);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;padding:22px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.resource-card-link{color:inherit;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:18px;text-decoration:none;display:grid}.resource-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.resource-icon,.modal-icon{background:var(--brand-soft);width:48px;height:48px;color:var(--brand);border-radius:14px;flex:none;place-items:center;display:grid}.resource-content{min-width:0}.resource-title-row{align-items:flex-start;gap:8px;min-width:0;display:flex}.resource-title-row h2,.resource-content h2{color:var(--ink);margin:1px 0 8px;font-size:17px;font-weight:720;line-height:1.45}.favorite-mark{color:var(--danger);flex:none;margin-top:5px}.resource-meta{color:var(--subtle);flex-wrap:wrap;gap:5px 16px;font-size:12px;font-weight:650;display:flex}.resource-meta span{position:relative}.resource-meta span:not(:last-child):after{content:"";background:var(--line-strong);border-radius:50%;width:2px;height:2px;position:absolute;top:50%;right:-9px}.resource-content>p:not(.date){max-width:70ch;color:var(--muted);margin:12px 0 0;font-size:13px;font-weight:500;line-height:1.7}.resource-content .date{color:var(--subtle);margin:11px 0 0;font-size:11px;font-weight:600}.resource-badges{flex-wrap:wrap;gap:5px;margin-top:13px;display:flex}.cost-badge{border-radius:var(--pill-radius);background:var(--brand-soft);min-height:24px;color:var(--brand);align-items:center;padding:0 9px;font-size:11px;font-weight:750;display:inline-flex}.cost-badge.paid{border:1px solid var(--line-strong);background:var(--surface-muted);color:var(--ink)}.cost-badge.favorite{background:var(--danger-soft);color:var(--danger)}.cost-badge.muted{background:var(--surface-muted);color:var(--muted)}.resource-actions{align-items:center;gap:7px;margin-left:auto;display:flex}.icon-action{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);width:40px;height:40px;color:var(--muted);place-items:center;transition:color .16s,background .16s,border-color .16s,transform .12s;display:grid}.icon-action:hover{border-color:color-mix(in srgb, var(--danger) 42%, var(--line));background:var(--danger-soft);color:var(--danger)}.skeleton-card{pointer-events:none}.skeleton{background:var(--surface-muted);border-radius:8px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--surface-strong) 72%, transparent), transparent);animation:1.5s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-icon{border-radius:14px;width:48px;height:48px}.skeleton-title{width:48%;height:20px;margin:3px 0 12px}.skeleton-meta{width:34%;height:12px;margin-bottom:18px}.skeleton-line{width:90%;height:11px;margin-top:9px}.skeleton-line.short{width:66%}.category-panel{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface);align-self:start;position:sticky;top:94px;overflow:hidden}.category-panel h2{border-bottom:1px solid var(--line);align-items:center;gap:8px;margin:0;padding:17px 18px;font-size:15px;display:flex}.category-panel>div{padding:8px}.category-panel button{width:100%;min-height:40px;color:var(--muted);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:0 11px;font-size:13px;font-weight:650;transition:color .16s,background .16s,transform .12s;display:flex}.category-panel button:hover{color:var(--ink);background:var(--surface-muted)}.category-panel button span{align-items:center;gap:9px;display:inline-flex}.category-panel button b{color:var(--subtle);font-size:11px;font-weight:700}.category-panel button.active{background:var(--brand-soft);color:var(--brand);font-weight:750}.category-panel button.active b{color:var(--brand)}.share-page{min-height:calc(100dvh - 72px);padding-bottom:72px}.page-title{border-bottom:1px solid var(--line);padding:46px clamp(20px,5vw,72px) 28px}.page-title>div,.share-body{width:min(980px,100%);margin:0 auto}.page-title h1,.page-title p{margin:0}.page-title h1{letter-spacing:-.04em;font-size:clamp(34px,4vw,48px);font-weight:710}.page-title p{color:var(--muted);margin-top:8px;font-size:14px}.share-body{padding:30px 0 0}.reward-strip{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--brand-soft);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;padding:15px 17px;font-size:13px;display:flex}.reward-strip strong{color:var(--brand)}.mode-tabs{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;gap:4px;margin-bottom:26px;padding:4px;display:inline-flex}.mode-tabs button{min-width:108px;min-height:38px;color:var(--muted);border-radius:10px;padding:0 16px;font-size:13px;font-weight:750;transition:color .16s,background .16s,box-shadow .16s,transform .12s}.mode-tabs button:hover{color:var(--ink)}.mode-tabs button.active{background:var(--surface-strong);color:var(--brand);box-shadow:0 2px 8px #182f2714}.share-form,.info-form{flex-direction:column;gap:20px;display:flex}.share-form{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface-strong);padding:clamp(22px,4vw,36px)}.form-grid{gap:16px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{color:var(--ink);flex-direction:column;gap:7px;font-size:13px;font-weight:720;display:flex}.field input,.field textarea,.field select{border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface);width:100%;min-height:46px;color:var(--ink);outline:0;padding:0 14px;font-size:14px;font-weight:550;transition:border-color .16s,box-shadow .16s,background .16s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand);background:var(--surface-strong);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 12%, transparent)}.field input:disabled{background:var(--surface-muted);color:var(--muted)}.field textarea{resize:vertical;min-height:112px;padding:12px 14px;line-height:1.65}.field textarea.tall{min-height:210px}.field input::placeholder,.field textarea::placeholder{color:var(--subtle);opacity:1}.field small{color:var(--subtle);font-size:11px;font-weight:600;line-height:1.55}.select-wrap{position:relative}.select-wrap select{appearance:none;padding-right:42px}.select-wrap svg{pointer-events:none;width:18px;height:18px;color:var(--muted);position:absolute;top:50%;right:14px;transform:translateY(-50%)}.submit{width:max-content;min-width:142px;margin-top:2px}.form-error{color:var(--danger);margin:-8px 0 0;font-size:13px;font-weight:720}.unlock-config{border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:16px}.unlock-config-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.unlock-config-head>span{font-size:13px;font-weight:750}.segmented{border:1px solid var(--line);background:var(--surface-muted);border-radius:11px;gap:3px;padding:3px;display:inline-flex}.segmented button{min-height:31px;color:var(--muted);border-radius:8px;padding:0 14px;font-size:12px;font-weight:750}.segmented button.active{background:var(--brand);color:var(--brand-contrast)}.points-config{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:14px;display:grid}.point-presets{gap:6px;padding-bottom:19px;display:flex}.point-presets button{border:1px solid var(--line);background:var(--surface-strong);min-height:32px;color:var(--brand);border-radius:9px;padding:0 11px;font-size:12px;font-weight:750}.point-presets button:hover{border-color:var(--brand);background:var(--brand-soft)}.profile-card{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface-strong);align-items:center;gap:18px;margin:0 auto 22px;padding:22px;display:flex}.avatar{background:var(--brand);width:54px;height:54px;color:var(--brand-contrast);border-radius:16px;place-items:center;font-size:20px;font-weight:800;display:grid}.profile-card h1{align-items:center;gap:10px;margin:0 0 6px;font-size:19px;display:flex}.profile-card h1 button{color:var(--brand);align-items:center;gap:4px;font-size:12px;font-weight:720;display:inline-flex}.profile-card p{color:var(--muted);margin:0;font-size:12px;font-weight:600;line-height:1.7}.profile-points{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-items:center;gap:2px;min-width:124px;margin-left:auto;padding:12px;display:grid}.profile-points b{color:var(--brand);font-size:23px}.profile-points span{color:var(--subtle);font-size:11px;font-weight:700}.profile-points button{background:var(--brand);min-height:28px;color:var(--brand-contrast);border-radius:8px;margin-top:5px;padding:0 11px;font-size:11px;font-weight:750}.user-layout{grid-template-columns:224px minmax(0,1fr);gap:20px;display:grid}.user-menu{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface);align-self:start;padding:7px;overflow:hidden}.user-menu button{width:100%;min-height:44px;color:var(--muted);border-radius:10px;align-items:center;gap:10px;padding:0 12px;font-size:13px;font-weight:680;transition:color .16s,background .16s,transform .12s;display:flex}.user-menu button:hover{color:var(--ink);background:var(--surface-muted)}.user-menu button.active{background:var(--brand-soft);color:var(--brand);font-weight:750}.user-panel{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface-strong);min-height:500px;overflow:hidden}.panel-title{border-bottom:1px solid var(--line);align-items:center;min-height:64px;padding:0 24px;display:flex}.panel-title h2{margin:0;font-size:17px}.info-form{padding:24px}.info-form.compact{max-width:560px}.copy-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.copy-button{min-width:80px;min-height:46px;margin-bottom:18px;padding:0 13px;font-size:12px}.simple-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:24px;display:grid}.simple-list div,.simple-list p{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);color:var(--muted);margin:0;padding:15px 16px;font-size:13px;font-weight:620}.modal-backdrop{z-index:40;background:#050c0a9e;place-items:center;padding:22px;animation:.16s both fadeIn;display:grid;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.resource-modal{border:1px solid var(--line);background:var(--surface-strong);width:min(640px,100%);max-height:calc(100dvh - 44px);box-shadow:var(--shadow-float);border-radius:22px;padding:28px;animation:.22s cubic-bezier(.16,1,.3,1) both modalEnter;position:relative;overflow-y:auto}@keyframes modalEnter{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.close-button{width:36px;height:36px;color:var(--muted);border-radius:10px;place-items:center;transition:color .16s,background .16s,transform .12s;display:grid;position:absolute;top:14px;right:14px}.close-button:hover{background:var(--surface-muted);color:var(--ink)}.resource-modal h2{max-width:calc(100% - 42px);margin:16px 0 8px;font-size:20px;line-height:1.4}.resource-modal>p{color:var(--muted);margin:0 0 16px;font-size:14px;font-weight:520;line-height:1.7}.unlock-summary{flex-wrap:wrap;gap:6px;margin:14px 0;display:flex}.unlock-summary span{border-radius:var(--pill-radius);background:var(--surface-muted);min-height:27px;color:var(--muted);padding:5px 10px;font-size:12px;font-weight:700}.locked-box{border:1px dashed var(--line-strong);border-radius:var(--control-radius);background:var(--surface);color:var(--muted);padding:14px;font-size:13px;font-weight:650;line-height:1.6}.link-box,.code-row{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);align-items:center;gap:10px;margin-bottom:9px;padding:11px 12px;display:flex}.link-box span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}.link-box button,.code-row button{color:var(--brand);white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:750;display:inline-flex}.code-row span{color:var(--muted);font-size:12px;font-weight:700}.code-row b{flex:1;font-size:14px}.detail-actions{border-top:1px solid var(--line);grid-template-columns:1.35fr 1fr 1fr;gap:9px;margin-top:18px;padding-top:18px;display:grid}.detail-action{border-radius:var(--control-radius);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;min-height:44px;font-size:13px;font-weight:750;transition:color .16s,background .16s,border-color .16s,transform .12s;display:inline-flex}.primary-action{background:var(--brand);color:var(--brand-contrast)}.primary-action:hover{background:var(--brand-strong)}.favorite-action{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));background:var(--surface-strong);color:var(--danger)}.favorite-action:hover{background:var(--danger-soft)}.invalid-action{border-color:var(--line-strong);background:var(--surface-strong);color:var(--muted)}.invalid-action:hover{background:var(--surface-muted);color:var(--ink)}.detail-hint{color:var(--subtle);margin-top:10px;font-size:11px;font-weight:620}.modal-actions{justify-content:flex-end;gap:9px;margin-top:16px;display:flex}.modal-actions.compact{justify-content:flex-start;margin-top:10px}.toast{z-index:60;border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--ink);min-height:42px;color:var(--page);box-shadow:var(--shadow-float);align-items:center;gap:7px;padding:0 15px;font-size:13px;font-weight:720;animation:.2s cubic-bezier(.16,1,.3,1) both modalEnter;display:flex;position:fixed;bottom:22px;right:22px}.empty-state{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface-strong);min-height:250px;color:var(--subtle);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px;font-size:13px;font-weight:650;display:flex}.empty-state strong{color:var(--ink);font-size:17px}.empty-state span{color:var(--muted)}.error-state>svg{color:var(--danger)}.error-state .ghost{margin-top:8px}@media (max-width:1180px){.hero-panel{grid-template-columns:minmax(0,1fr) minmax(340px,.85fr)}.hero-copy{padding:48px}.hero-copy h1{font-size:clamp(42px,5vw,58px)}.shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.discover-layout,.user-layout{grid-template-columns:1fr}.category-panel{order:-1;position:static}.category-panel>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.user-menu{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}}@media (max-width:900px){.site-header{height:64px;padding:0 18px}main{min-height:calc(100dvh - 64px)}.brand img{width:138px}.menu-toggle{display:grid}.site-header nav{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface-strong);box-shadow:var(--shadow-float);flex-direction:column;align-items:stretch;gap:3px;padding:8px;display:none;position:absolute;top:calc(100% + 8px);left:14px;right:14px}.site-header nav.open{animation:.18s cubic-bezier(.16,1,.3,1) both modalEnter;display:flex}.site-header nav>button{text-align:left;justify-content:flex-start;width:100%;min-height:44px}.site-header nav>button.active:after{width:2px;height:auto;inset:9px auto 9px 4px}.user-points{border-radius:12px;justify-content:space-between;width:100%;margin:4px 0 0}.home-page{min-height:calc(100dvh - 64px);padding:20px 16px 64px}.hero-panel{border-radius:20px;flex-direction:column;min-height:auto;display:flex}.hero-copy{order:1;padding:42px 28px 30px}.hero-mark{margin-bottom:17px}.hero-copy h1{max-width:11em;font-size:clamp(38px,9vw,52px)}.hero-copy>p{margin:18px 0 24px}.hero-visual{order:2;min-height:380px}.hero-visual:after{box-shadow:inset 0 1px 0 var(--line)}.discover-head{grid-template-columns:1fr;gap:22px}.discover-search{justify-content:stretch}.discover-search .search-bar{width:100%}.category-panel>div{grid-template-columns:repeat(3,minmax(0,1fr))}.share-page{padding-bottom:56px}.page-title{padding:34px 20px 24px}.share-body{padding:24px 20px 0}.user-menu{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:680px){.home-page{padding-left:12px;padding-right:12px}.hero-copy{padding:34px 20px 24px}.hero-copy h1{letter-spacing:-.05em;font-size:clamp(36px,11vw,46px)}.hero-copy>p{font-size:15px}.search-bar,.search-bar.large{min-height:52px}.search-bar input{padding:0 12px;font-size:14px}.search-bar .primary{min-width:78px;padding:0 13px}.hot-tags{display:block}.hot-tags>span{margin-bottom:7px;padding:0;display:block}.hero-visual{min-height:280px}.hero-stat{min-width:126px;padding:13px 15px;bottom:14px;right:14px}.hero-stat strong{font-size:21px}.shortcut-heading{align-items:flex-start}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shortcut-grid button{min-height:100px;padding:14px}.discover-page,.user-page{padding:28px 12px 52px}.discover-head{padding:0 4px}.result-toolbar{flex-direction:column;align-items:flex-start}.filter-chips{justify-content:flex-start}.category-panel>div{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-card{grid-template-columns:auto minmax(0,1fr);gap:13px;padding:17px}.resource-actions{grid-column:1/-1;width:100%;margin-left:0}.resource-actions .primary.small{flex:1}.resource-meta span:not(:last-child):after{display:none}.reward-strip{flex-direction:column;align-items:flex-start;gap:6px}.mode-tabs{display:flex}.mode-tabs button{flex:1;min-width:0}.form-grid.two,.points-config,.copy-row{grid-template-columns:1fr}.share-form{padding:20px 16px}.unlock-config-head{flex-direction:column;align-items:flex-start}.segmented{width:100%}.segmented button{flex:1}.point-presets{flex-wrap:wrap;padding-bottom:0}.profile-card{flex-wrap:wrap;align-items:flex-start;padding:17px}.profile-card>div:nth-child(2){flex:1;min-width:calc(100% - 76px)}.profile-card h1{flex-direction:column;align-items:flex-start}.profile-points{width:100%;margin-left:0}.user-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-title{min-height:56px;padding:0 18px}.info-form,.simple-list{padding:18px}.simple-list{grid-template-columns:1fr}.copy-button{width:max-content;margin-bottom:0}.resource-modal{border-radius:18px;padding:22px 18px}.detail-actions{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions .ghost{width:100%}.toast{justify-content:center;bottom:12px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-panel:hover .hero-visual img{transform:none}}@media (prefers-reduced-transparency:reduce){.site-header,.hero-stat{-webkit-backdrop-filter:none}.site-header{background:var(--surface)}.hero-stat{background:#f8fbf9}}.app-loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:32px;height:32px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{background:var(--page);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--card-radius);width:100%;max-width:400px;box-shadow:var(--shadow-soft);padding:36px 32px}.auth-brand{text-align:center;margin-bottom:24px}.auth-brand img{height:28px}.auth-card h1{text-align:center;margin:0 0 4px;font-size:1.25rem;font-weight:700}.auth-subtitle{color:var(--muted);text-align:center;margin:0 0 20px;font-size:.85rem}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form .submit{margin-top:4px}.auth-links{text-align:center;color:var(--muted);flex-direction:column;gap:6px;margin-top:16px;font-size:.82rem;display:flex}.auth-links button{color:var(--brand);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s}.auth-links button:hover{-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand)}.auth-success{text-align:center;color:var(--brand);flex-direction:column;align-items:center;gap:12px;padding:20px 0;display:flex}.auth-success p{color:var(--ink);font-size:.88rem;line-height:1.6}.form-success{color:var(--brand);margin:0;font-size:.82rem}.logout-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.logout-btn:hover{color:var(--danger);background:var(--danger-soft)}.detail-page{background:var(--page);min-height:100vh}.detail-header{z-index:100;background:var(--surface);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.detail-header-inner{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:14px 20px;display:flex}.back-link{color:var(--muted);align-items:center;gap:6px;font-size:.88rem;text-decoration:none;transition:color .15s;display:flex}.back-link:hover{color:var(--brand)}.detail-brand{color:var(--brand);font-size:1.1rem;font-weight:700;text-decoration:none}.detail-layout{grid-template-columns:1fr 300px;align-items:start;gap:28px;max-width:1100px;margin:0 auto;padding:28px 20px 60px;display:grid}.detail-main{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);padding:32px}.detail-title{color:var(--ink);margin-bottom:20px;font-size:1.5rem;font-weight:700;line-height:1.4}.detail-meta-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px 24px;margin-bottom:24px;padding:16px 0;display:grid}.meta-item{color:var(--muted);align-items:center;gap:8px;font-size:.88rem;display:flex}.meta-item strong{color:var(--ink);font-weight:500}.detail-section{margin-bottom:24px}.detail-section h2{color:var(--ink);align-items:center;gap:6px;margin-bottom:12px;font-size:1rem;font-weight:600;display:flex}.detail-section p{color:var(--muted);font-size:.92rem;line-height:1.7}.detail-tags{flex-wrap:wrap;gap:8px;display:flex}.detail-tag{background:var(--brand-soft);color:var(--brand);border-radius:var(--pill-radius);padding:4px 14px;font-size:.82rem;font-weight:500}.detail-link-section{background:var(--surface-muted);border-radius:var(--control-radius);padding:20px}.detail-locked-box{color:var(--muted);align-items:flex-start;gap:14px;display:flex}.detail-locked-box p{color:var(--ink);margin:0 0 8px;font-size:.92rem}.detail-locked-box .muted-text{color:var(--muted);font-size:.84rem}.detail-loading{text-align:center;color:var(--muted);padding:12px;font-size:.88rem}.detail-actions-bar{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.invalid-notice{color:var(--danger);background:var(--danger-soft);border-radius:var(--control-radius);margin-top:12px;padding:8px 14px;font-size:.82rem}.detail-sidebar{flex-direction:column;gap:16px;display:flex;position:sticky;top:80px}.sidebar-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);padding:20px}.sidebar-card h3{color:var(--ink);margin-bottom:14px;font-size:.96rem;font-weight:600}.related-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.related-list li a{border-radius:8px;padding:8px 10px;text-decoration:none;transition:background .15s;display:block}.related-list li a:hover{background:var(--surface-muted)}.related-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;display:block;overflow:hidden}.related-meta{color:var(--muted);font-size:.76rem}.sidebar-tip{background:var(--brand-soft);border-color:#0000}.sidebar-tip p{color:var(--brand);margin:0;font-size:.82rem;line-height:1.5}.btn-link{align-items:center;text-decoration:none;display:inline-flex}@media (max-width:800px){.detail-layout{grid-template-columns:1fr;padding:16px 14px 40px}.detail-main{padding:20px}.detail-meta-grid{grid-template-columns:1fr}.detail-sidebar{position:static}}.inline-link{color:var(--brand);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.inline-link:hover{color:var(--brand-strong)}.admin-page{padding:0 0 60px}.admin-shell{max-width:1100px;margin:0 auto}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.admin-head h1{color:var(--ink);align-items:center;gap:8px;font-size:1.2rem;font-weight:600;display:flex}.admin-actions{align-items:center;gap:10px;display:flex}.admin-search{gap:6px;display:flex}.admin-search input{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);color:var(--ink);width:200px;padding:7px 14px;font-size:.88rem}.admin-stats{color:var(--muted);margin-bottom:12px;font-size:.82rem}.admin-table-wrap{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.86rem}.admin-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-muted);padding:12px 14px;font-weight:600}.admin-table td{border-bottom:1px solid var(--line);color:var(--ink);padding:10px 14px}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--surface-muted)}.cell-title{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.cell-date{white-space:nowrap;color:var(--muted);font-size:.82rem}.cell-actions{white-space:nowrap;gap:6px;display:flex}.cell-actions button{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;transition:all .15s;display:grid}.cell-actions button:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.cell-actions button.danger:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.table-empty{text-align:center;color:var(--muted);padding:40px 14px!important}.admin-pagination{color:var(--muted);justify-content:center;align-items:center;gap:16px;margin-top:20px;font-size:.88rem;display:flex}.admin-pagination button{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;place-items:center;transition:all .15s;display:grid}.admin-pagination button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.admin-pagination button:disabled{opacity:.4;cursor:default}.site-footer{border-top:1px solid var(--line);background:var(--surface);text-align:center;margin-top:60px;padding:36px 20px 28px}.footer-inner{max-width:900px;margin:0 auto}.footer-links{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:20px;display:flex}.footer-links a{color:var(--muted);font-size:.88rem;text-decoration:none;transition:color .15s}.footer-links a:hover{color:var(--brand)}.footer-sep{color:var(--line-strong);font-size:.82rem}.footer-disclaimer{color:var(--muted);margin:0 0 16px;font-size:.82rem;line-height:1.8}.footer-copyright{color:var(--subtle);margin:0;font-size:.82rem}.static-page{background:var(--page);min-height:100vh}.static-header{z-index:100;background:var(--surface);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.static-header-inner{justify-content:space-between;align-items:center;max-width:800px;margin:0 auto;padding:14px 20px;display:flex}.static-content{max-width:800px;margin:0 auto;padding:40px 20px 80px}.static-content h1{color:var(--ink);margin-bottom:8px;font-size:1.6rem;font-weight:700}.static-content .update-date{color:var(--muted);margin-bottom:32px;font-size:.82rem}.static-content section{margin-bottom:32px}.static-content h2{color:var(--ink);margin-bottom:12px;font-size:1.08rem;font-weight:600}.static-content p{color:var(--muted);margin:0 0 10px;font-size:.92rem;line-height:1.8}.static-content ul,.static-content ol{margin:0 0 12px;padding-left:22px}.static-content li{color:var(--muted);margin-bottom:4px;font-size:.92rem;line-height:1.8}.static-content li strong{color:var(--ink)}.static-content strong{color:var(--ink);font-weight:600}.guide-table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.9rem}.guide-table th,.guide-table td{text-align:left;border:1px solid var(--line);padding:10px 16px}.guide-table th{background:var(--surface-muted);color:var(--ink);font-weight:600}.guide-table td{color:var(--muted)}
