:root{--ink:#1d302f;--muted:#788581;--green:#174b41;--soft:#e9f0e9;--paper:#f5f6f2;--line:#e4e9e2;--lime:#d2e6af;--orange:#ce7a3c;--shadow:0 10px 35px #153d3808;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:14px;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:var(--green);text-decoration:none}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button{border:0;background:transparent;color:inherit}input,textarea,select{width:100%;background:#fff;border:1px solid #dce4db;border-radius:9px;padding:11px 13px;color:var(--ink);outline:none;transition:box-shadow .15s,border-color .15s}input:focus,textarea:focus,select:focus{border-color:#6c9685;box-shadow:0 0 0 3px #7da18b20}textarea{resize:vertical;min-height:116px}label{display:block;font-weight:600;font-size:13px;margin-bottom:7px}input::placeholder,textarea::placeholder{color:#9da7a0}svg.icon{width:20px;height:20px;stroke-width:1.7;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}svg.logo{width:38px;height:38px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:9px;font-weight:600;font-size:13px;background:white;border:1px solid var(--line);white-space:nowrap;transition:background .15s,transform .15s}.btn:hover{background:#f4f7f2;transform:translateY(-1px)}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.primary:hover{background:#0d3b33}.btn.small{padding:7px 11px;font-size:12px}.btn.danger{color:#a84940}.btn .icon{width:17px;height:17px}.full{width:100%}.muted{color:var(--muted)}.small-text{font-size:12px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#7a9485}.tag{display:inline-flex;align-items:center;border-radius:5px;background:#eff4eb;color:#4d6b50;padding:3px 7px;font-size:11px;white-space:nowrap}.tag.orange{background:#fbf0df;color:#a26b2f}.tag.gray{background:#eff1ed;color:#6f7a74}.tag.danger{background:#fbeae6;color:#a75c4a}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:5px 10px;font-size:11px;background:#fff9;color:#43614d}.pill .dot{width:5px;height:5px;border-radius:50%;background:#749a64}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.4;letter-spacing:-.6px;margin-bottom:8px}h2{font-size:20px;line-height:1.5;margin-bottom:8px}h3{font-size:16px;line-height:1.6;margin-bottom:8px}.field{margin-bottom:18px}.field-help{margin-top:6px;font-size:12px;color:var(--muted)}.notice{padding:13px 16px;border-radius:9px;background:#f6f4e9;color:#81744d;font-size:12px;line-height:1.8}.notice.error{background:#fceeea;color:#a64b3e}.notice.green{background:#edf4e9;color:#55704d}.divider{height:1px;background:var(--line);margin:22px 0}.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);gap:16px}.boot-mark{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:16px;height:16px;border:2px solid #dbe7da;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;vertical-align:middle}.empty{padding:70px 20px;text-align:center;border:1px dashed #d5dfd2;border-radius:14px;background:#ffffff70;color:var(--muted)}.empty .icon{width:36px;height:36px;display:block;margin:0 auto 16px;color:#8ca18d}.empty h3{color:#536850;font-size:15px}.empty p{font-size:12px;margin-bottom:14px}.count-num{font-variant-numeric:tabular-nums}.skeleton{background:linear-gradient(90deg,#edf0e9 20%,#f5f6f1 50%,#edf0e9 80%);background-size:200% 100%;animation:shine 1.4s infinite}@keyframes shine{to{background-position:-200% 0}}
/* Login */
.auth{min-height:100vh;display:grid;grid-template-columns:1.08fr 1fr;background:#fff}.auth-story{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:44px 60px;background:#153d38;color:#f8f9ed;min-height:100vh}.brand{display:flex;gap:11px;align-items:center}.brand strong{display:block;font-size:16px;letter-spacing:.2px}.brand small{display:block;font-size:9px;letter-spacing:2px;opacity:.55}.auth-story .brand{margin-bottom:64px}.auth-story h1{font-size:40px;line-height:1.5;font-weight:600;margin-bottom:16px;letter-spacing:1px;position:relative;z-index:1}.auth-story h1 em{font-style:normal;color:#c6dfa9}.auth-story>p{opacity:.65;max-width:350px;line-height:2}.story-art{position:relative;height:280px;margin:28px 0;max-width:490px}.story-card{position:absolute;width:160px;border-radius:13px;background:#fff;padding:8px;box-shadow:0 20px 50px #0a242650;color:var(--ink);overflow:hidden}.story-card img{width:100%;height:168px;object-fit:cover;border-radius:7px;display:block}.story-card p{font-size:11px;line-height:1.5;margin:9px 3px 3px;max-height:33px;overflow:hidden}.story-card:nth-child(1){left:3%;top:22px;transform:rotate(-10deg)}.story-card:nth-child(2){left:33%;top:0;z-index:2;transform:rotate(3deg)}.story-card:nth-child(3){left:63%;top:35px;transform:rotate(12deg)}.story-note{font-size:11px!important;opacity:.5!important;margin-top:auto;padding-top:28px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:50px 32px}.auth-box{width:100%;max-width:350px}.auth-box h2{font-size:25px;letter-spacing:-.5px}.auth-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:30px 0 25px}.auth-tab{padding:0 0 12px;font-size:14px;color:var(--muted);position:relative}.auth-tab.active{color:var(--green);font-weight:650}.auth-tab.active:after{content:'';height:2px;position:absolute;left:0;right:0;bottom:-1px;background:var(--green)}.auth-foot{font-size:11px;text-align:center;color:#95a095;margin:22px 0 0}.auth-submit{padding:13px;margin-top:4px}.auth-error{font-size:12px;color:#ad4d3c;min-height:0;margin-bottom:12px}.auth-brand-mobile{display:none}.password-wrap{position:relative}.password-wrap input{padding-right:42px}.password-eye{position:absolute;right:9px;top:9px;width:29px;height:29px;color:var(--muted)}
/* Main frame */
.shell{display:grid;grid-template-columns:222px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:222px;padding:30px 17px 18px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.sidebar .brand{padding:0 12px;margin-bottom:36px}.sidebar .brand strong{font-size:14px}.sidebar .brand small{font-size:8px;color:#839180}.nav-label{color:#a0aba0;font-size:10px;padding:0 16px;margin:0 0 10px;letter-spacing:1px}.nav{display:flex;flex-direction:column;gap:6px}.nav button{padding:12px 15px;display:flex;align-items:center;gap:12px;text-align:left;border-radius:9px;color:#6f7d75;font-size:13px;font-weight:500}.nav button:hover{background:#f6f8f2}.nav button.active{color:var(--green);background:#eaf1e5;font-weight:650}.nav .icon{width:19px;height:19px}.nav-badge{margin-left:auto;font-size:9px;background:#fbefe0;color:#bd8145;border-radius:4px;padding:1px 5px}.sidebar-course{margin-top:auto;background:#f7f8f0;border:1px solid #e9ecdf;border-radius:11px;padding:16px;margin-bottom:19px}.sidebar-course .eyebrow{font-size:9px;letter-spacing:1px}.sidebar-course p{font-size:12px;margin:7px 0 12px;line-height:1.9;color:#6d7b61}.sidebar-course a{font-size:11px;font-weight:600;display:flex;gap:6px;align-items:center}.sidebar-course .icon{width:14px;height:14px}.sidebar-user{border-top:1px solid var(--line);padding:16px 4px 0;display:flex;align-items:center;gap:9px}.avatar{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:10px;background:#dfe9d6;color:#50724b;font-size:13px;font-weight:650;flex-shrink:0}.user-detail{min-width:0;flex:1}.user-detail strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-detail span{font-size:10px;color:#8a958b}.icon-btn{display:inline-flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:7px;color:#899489}.icon-btn:hover{background:#eff3eb;color:var(--green)}.main{grid-column:2;min-width:0}.topbar{height:75px;border-bottom:1px solid var(--line);background:#fafbf7;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:14px}.breadcrumb{font-size:11px;color:#9aa397;display:flex;align-items:center;gap:12px}.breadcrumb strong{color:#53624d;font-weight:500}.topbar-right{display:flex;align-items:center;gap:16px}.topbar-right .icon{width:16px;height:16px}.topbar-note{font-size:11px;color:#8b9787}.mobile-brand{display:none}.content{padding:32px 36px 56px;max-width:1550px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.page-head .description{font-size:12px;color:var(--muted);margin:0;line-height:1.9}.page-head h1{font-size:26px}.page-head .eyebrow{margin-bottom:6px}.page-head-right{padding-top:13px}.hero{background:#eaf0e1;border:1px solid #e0e8d7;border-radius:13px;padding:24px 29px;margin-bottom:28px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:22px}.hero h2{font-size:23px;font-weight:600;letter-spacing:-.5px;margin:9px 0 8px}.hero p{font-size:12px;color:#748265;margin:0}.hero-stats{display:flex;align-items:center;gap:29px;z-index:1;padding-right:5px}.hero-stat strong{display:block;font-size:31px;line-height:1.35;letter-spacing:-1px;font-weight:600;color:#365638}.hero-stat span{display:block;font-size:10px;color:#819072;margin-top:5px}.hero-sep{width:1px;height:39px;background:#d2ddc6}.section-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.section-row h2{font-size:16px;margin:0}.section-row small{font-size:11px;color:var(--muted)}.filter-box{background:#fff;border:1px solid var(--line);padding:18px 20px 15px;border-radius:12px;margin-bottom:21px}.filter-top{display:flex;align-items:center;gap:12px;margin-bottom:15px}.search{position:relative;max-width:330px;flex:1}.search input{padding:9px 12px 9px 36px;font-size:12px;background:#f8faf5;border-color:#edf0e7}.search>.icon{position:absolute;left:11px;top:11px;width:15px;height:15px;color:#8e9b86}.sort-select{width:130px;padding:8px 10px;font-size:12px;margin-left:auto;background:#fff}.filter-tabs{display:flex;align-items:center;gap:7px;overflow:auto;scrollbar-width:none}.filter-tabs button{font-size:11px;white-space:nowrap;padding:6px 11px;border-radius:6px;color:#849078}.filter-tabs button:hover{background:#f6f8ef}.filter-tabs button.active{background:#edf3e4;color:#49673e;font-weight:600}.result-meta{font-size:11px;color:#8d9985;display:flex;justify-content:space-between;gap:12px;margin:0 2px 15px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.case-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;position:relative;min-width:0}.case-card:hover{transform:translateY(-4px);box-shadow:0 13px 32px #2349240c}.cover-button{display:block;width:100%;position:relative;padding:0;overflow:hidden;text-align:left;background:#e9ede2;aspect-ratio:3/3.6}.cover-button img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s}.case-card:hover .cover-button img{transform:scale(1.025)}.cover-button .tag{position:absolute;left:11px;top:11px;background:#fffffff0;backdrop-filter:blur(4px);color:#425b3c;font-size:10px}.cover-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(135deg,#e4ecdc,#d3e0cb);color:#829774;gap:10px;padding:28px;text-align:center}.cover-empty .icon{width:40px;height:40px}.cover-empty span{font-size:12px}.cover-empty small{font-size:10px}.save-button{position:absolute;right:10px;top:10px;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#fffffff0;box-shadow:0 2px 8px #0001;color:#637453;z-index:2}.save-button .icon{width:15px;height:15px}.save-button.saved{background:#e4eed8;color:#4b6b36}.save-button.saved svg{fill:#b8cea6}.card-body{padding:14px 15px 13px}.card-title{display:block;text-align:left;width:100%;padding:0;font-size:13px;font-weight:650;line-height:1.7;min-height:44px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:9px}.card-author{font-size:10px;color:#8e9788;display:flex;align-items:center;gap:5px;margin-bottom:12px}.card-author .icon{width:13px;height:13px}.metrics{display:flex;gap:15px;padding-top:11px;border-top:1px solid #f0f2ed;font-size:10px;color:#7f8e75}.metrics span{display:inline-flex;align-items:center;gap:4px}.metrics .icon{width:13px;height:13px}.metrics span:first-child{color:#be7748}.card-date{font-size:9px;color:#a5ad9d;margin-top:9px}.pagination{display:flex;gap:12px;align-items:center;justify-content:center;margin:28px 0;color:#85927c;font-size:12px}.hint-line{font-size:11px;line-height:1.9;color:#96a08c;margin-top:22px;display:flex;gap:7px}.hint-line .icon{width:14px;height:14px;flex-shrink:0;margin-top:3px}
/* Creators */
.creator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.creator-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:22px;position:relative}.creator-top{display:flex;align-items:flex-start;gap:17px;margin-bottom:17px;padding-right:18px}.creator-image{width:90px;height:112px;flex-shrink:0;object-fit:cover;border-radius:8px;background:#edf1e7}.creator-image.avatar-image{width:70px;height:70px;border-radius:50%;object-fit:cover}.creator-intro{min-width:0}.creator-intro h3{font-size:16px;margin:0 0 6px}.creator-intro p{font-size:11px;line-height:1.9;color:#7f8b75;margin-bottom:8px}.creator-card .save-button{top:18px;right:16px;background:#f6f8f1;box-shadow:none}.creator-work{border-top:1px solid #edf0e8;padding-top:13px}.creator-work>span,.learn-box>span{font-size:10px;color:#9aa38f;display:block;margin-bottom:6px}.creator-work a,.creator-work p{font-size:12px;line-height:1.8;display:block;margin:0}.learn-box{background:#f7f9f1;border-radius:8px;padding:12px 14px;margin-top:14px}.learn-box p{font-size:11px;color:#687c59;line-height:1.9;margin:0}.creator-foot{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#a0aa94;margin-top:15px}.creator-foot a{font-size:11px}.section-group{margin-bottom:32px}.group-title{font-size:16px;display:flex;align-items:center;gap:10px;margin-bottom:15px}.group-title span{font-size:11px;color:#97a18c;font-weight:400}
/* Tools */
.tool-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:26px}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:22px}.panel-title .panel-icon{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:10px;background:#edf3e5;color:#6b8952}.panel-title h2{font-size:15px;margin:0}.panel-title p{font-size:10px;color:#99a08e;margin:2px 0 0}.side-panel{background:#eef2e6;border:1px solid #e4ead9;border-radius:12px;padding:23px}.side-panel h3{font-size:14px;margin-bottom:17px}.step{display:flex;align-items:flex-start;gap:11px;margin-bottom:20px}.step:last-child{margin-bottom:0}.step>span{width:23px;height:23px;background:#e1e9d4;border-radius:7px;font-size:10px;display:flex;align-items:center;justify-content:center;color:#708d53;flex-shrink:0}.step strong{font-size:11px;display:block;margin-bottom:4px}.step p{font-size:11px;color:#839171;margin:0;line-height:1.9}.usage-card{margin-top:16px;border:1px solid var(--line);border-radius:12px;padding:19px 22px;background:#fff}.usage-card strong{font-size:12px}.usage-card small{font-size:10px;color:#8e9c7d}.usage-bar{height:5px;border-radius:4px;background:#edf1e7;margin:10px 0 6px;overflow:hidden}.usage-bar span{display:block;height:100%;border-radius:4px;background:#adc58d}.form-actions{display:flex;align-items:center;gap:12px;margin-top:22px}.form-actions small{color:#929e87;font-size:10px}.type-options{display:flex;gap:8px;flex-wrap:wrap}.type-options label{font-weight:400;border:1px solid var(--line);border-radius:7px;padding:7px 11px;margin:0;font-size:11px;color:#81916f;cursor:pointer}.type-options label:has(input:checked){background:#edf3e5;color:#4c6d37;border-color:#b8cea5}.type-options input{appearance:none;position:absolute;width:0;height:0;opacity:0;padding:0}.example-topics{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.example-topics button{font-size:10px;border-radius:5px;background:#f4f7ee;padding:4px 8px;color:#8a9a78}.job-list{margin-top:23px}.job-list .section-row h2{font-size:13px}.job{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:#fff;gap:10px;margin-top:8px}.job strong{display:block;font-size:11px;margin-bottom:2px}.job small{font-size:10px;color:#99a48e}.job-state{display:flex;align-items:center;gap:8px;flex-shrink:0}.result-section{margin-top:28px}.variant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.variant{border:1px solid var(--line);border-radius:12px;background:#fff;padding:19px;min-width:0}.variant-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.variant-label strong{font-size:10px;color:#9aa48f;font-weight:400}.cover-copy{background:#edf2e4;border:1px solid #e4ead9;border-radius:9px;padding:20px 15px;font-size:20px;color:#466036;line-height:1.7;font-weight:650;min-height:130px;display:flex;align-items:center;margin-bottom:19px}.variant .field{margin-bottom:14px}.variant label{font-size:10px;color:#929e85;font-weight:500}.variant input,.variant textarea{font-size:11px;padding:9px;line-height:1.9;border-color:#e7ece1;background:#fcfdf9}.variant textarea{height:178px}.variant .btn{flex:1;padding:8px 10px;font-size:11px}.variant-actions{display:flex;gap:7px;margin-top:16px}.result-banner{display:flex;align-items:center;gap:9px;background:#edf3e6;color:#66804c;font-size:12px;padding:13px 16px;border-radius:9px;margin-bottom:18px}.result-banner .icon{width:18px;height:18px}.tools-note{margin-top:18px;font-size:10px;color:#9ea893;line-height:1.9}.doc-list{display:flex;flex-direction:column;gap:10px}.doc-row{display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:10px;min-width:0}.doc-row .doc-icon{width:38px;height:44px;border-radius:8px;background:#edf3e5;color:#8fa775;display:flex;align-items:center;justify-content:center;flex-shrink:0}.doc-row .doc-info{flex:1;min-width:0}.doc-row strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-row small{display:block;font-size:10px;color:#9aa38e;margin-top:5px}.doc-row .btn{font-size:11px;padding:7px 11px}.saved-tabs{margin-bottom:23px;border-bottom:1px solid var(--line);display:flex;gap:28px}.saved-tabs button{padding:0 0 13px;font-size:12px;color:#91a07f;position:relative}.saved-tabs button.active{color:var(--green);font-weight:650}.saved-tabs button.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--green)}
/* Dialog */
.modal-backdrop{position:fixed;inset:0;z-index:100;background:#15352c70;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:28px;overflow:auto}.modal{background:#fff;border-radius:16px;width:min(910px,100%);max-height:90vh;overflow:auto;box-shadow:0 30px 100px #06291f33;position:relative}.modal.wide{width:min(1100px,100%)}.modal-close{position:absolute;right:15px;top:15px;border:1px solid #e5eadf;background:#fffffff2;z-index:2}.modal-header{padding:25px 30px 19px;border-bottom:1px solid var(--line);padding-right:65px}.modal-header h2{font-size:18px;margin-bottom:4px}.modal-header p{font-size:11px;color:#91a07e;margin:0}.modal-body{padding:25px 30px}.case-detail{display:grid;grid-template-columns:290px minmax(0,1fr);gap:28px}.detail-cover{width:100%;border-radius:9px;max-height:520px;object-fit:contain;background:#f4f6ee}.detail-title{font-size:22px;line-height:1.6;margin:10px 0}.detail-block{margin:22px 0}.detail-block h3{font-size:12px;color:#6d8456}.detail-block p,.detail-block li{font-size:12px;line-height:2;color:#798b66;white-space:pre-wrap;overflow-wrap:anywhere}.detail-block ul{padding-left:18px;margin:0}.detail-block pre{font:inherit;font-size:12px;line-height:1.9;white-space:pre-wrap;background:#f6f8f1;border-radius:8px;padding:14px;max-height:250px;overflow:auto;word-break:break-word;color:#6d7f5c}.detail-metrics{display:flex;gap:24px;margin:18px 0}.detail-metrics strong{font-size:21px;display:block}.detail-metrics small{font-size:10px;color:#99a48c}.doc-editor{min-height:350px;font-size:13px;line-height:2}.editor-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 4px}.original-box{margin-top:22px;font-size:12px}.original-box summary{cursor:pointer;color:#93a07f}.original-box pre{white-space:pre-wrap;max-height:240px;overflow:auto;padding:15px;border-radius:8px;background:#f8f9f3;font:inherit;color:#899779}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-fields .field{margin-bottom:15px}.modal-fields input,.modal-fields select{font-size:12px}.modal-fields label{font-size:11px}.modal-fields textarea{font-size:12px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}.admin-stat{border-radius:11px;border:1px solid var(--line);background:#fff;padding:19px 22px}.admin-stat small{display:block;font-size:11px;color:#91a17f}.admin-stat strong{display:block;font-size:26px;margin-top:5px;color:#4e6b3e}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:11px}.table{border-collapse:collapse;width:100%;font-size:11px}.table th,.table td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.table th{background:#f9faf5;color:#8e9d7c;font-weight:500}.table td{color:#6d805b}.table tr:last-child td{border-bottom:0}.table .wrap-cell{white-space:normal;max-width:350px;min-width:150px}.admin-toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:15px}.admin-toolbar h2{font-size:16px;margin:0}.admin-config{max-width:750px}.provider-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.invite-codes{font-family:ui-monospace,monospace;white-space:pre-wrap;background:#eff4e7;padding:16px;border-radius:8px;color:#547443;max-height:300px;overflow:auto}.mobile-menu{display:none}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);max-width:90vw;background:#193d35;color:#fff;padding:11px 22px;border-radius:9px;box-shadow:0 10px 30px #163e3525;z-index:200;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:12px}#toast.show{opacity:1;transform:translate(-50%,0)}button:focus-visible,a:focus-visible{outline:2px solid #8caf6b;outline-offset:3px}.fade-in{animation:fade .25s ease-out}@keyframes fade{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1200px){.content{padding:28px 25px 45px}.topbar{padding:0 25px}.grid{gap:15px}.sidebar{width:200px;padding-left:12px;padding-right:12px}.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar .brand{padding:0 8px}.hero{padding:22px}.hero-stats{gap:20px}.hero-stat strong{font-size:27px}.hero h2{font-size:20px}.creator-card{padding:18px}.tool-layout{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr)}.variant-grid{gap:12px}.variant{padding:15px}.auth-story{padding:40px}.auth-story h1{font-size:35px}.story-card{width:140px}.story-card img{height:150px}}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.creator-grid{grid-template-columns:1fr}.hero-stats{display:none}.variant-grid{grid-template-columns:1fr}.variant{padding:22px}.variant textarea{height:120px}.cover-copy{min-height:80px;font-size:20px;padding:16px}.tool-layout{grid-template-columns:1fr}.tool-aside{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.usage-card{margin-top:0}.topbar-note{display:none}.auth-story h1{font-size:29px}.auth-story{padding:35px 28px}.story-card{width:120px}.story-card img{height:140px}.story-card:nth-child(3){left:58%}.auth-panel{padding:35px}.case-detail{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:700px){.auth{grid-template-columns:1fr;background:#f7f9f2}.auth-story{display:none}.auth-panel{min-height:100vh;padding:35px 26px;align-items:center}.auth-box{max-width:380px}.auth-brand-mobile{display:flex;margin-bottom:40px}.auth-box h2{font-size:27px}.shell{display:block}.sidebar{left:-240px;transition:left .2s;width:222px;box-shadow:10px 0 30px #183a3315}.sidebar.open{left:0}.sidebar-scrim{position:fixed;inset:0;background:#15362a50;z-index:19}.topbar{height:65px;padding:0 20px;background:#fff}.breadcrumb{display:none}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650}.mobile-brand .logo{width:29px;height:29px}.mobile-menu{display:flex}.topbar-right{gap:9px}.content{padding:25px 18px 35px}.page-head{margin-bottom:20px;gap:10px}.page-head h1{font-size:23px}.page-head .description{font-size:11px}.page-head-right{display:none}.hero{padding:20px;margin-bottom:23px}.hero h2{font-size:20px;margin-top:9px;max-width:270px}.hero p{font-size:11px;line-height:1.8}.hero .pill{font-size:9px}.filter-box{padding:13px 12px;margin-bottom:15px}.filter-top{gap:8px;margin-bottom:12px}.search{max-width:none}.search input{font-size:11px}.sort-select{width:104px;font-size:10px;padding:9px 5px}.filter-tabs{gap:3px}.filter-tabs button{font-size:10px;padding:6px 8px}.grid{gap:11px}.card-body{padding:11px}.card-title{font-size:12px;line-height:1.7;margin-bottom:7px}.card-author{font-size:9px;margin-bottom:9px}.metrics{gap:9px;font-size:9px;padding-top:9px}.metrics .icon{width:11px;height:11px}.card-date{font-size:8px}.cover-button{aspect-ratio:3/3.9}.cover-button .tag{left:8px;top:8px;padding:2px 5px;font-size:9px}.save-button{top:7px;right:7px;width:26px;height:26px}.result-meta{font-size:10px;line-height:1.8}.result-meta span:last-child{max-width:170px;text-align:right}.panel{padding:21px 18px}.panel-title{margin-bottom:20px}.tool-aside{display:block}.usage-card{margin-top:14px}.side-panel{padding:20px}.form-actions{align-items:flex-start;flex-direction:column;gap:9px}.form-actions .btn{width:100%}.form-actions small{font-size:10px}.variant{padding:20px}.result-section{margin-top:22px}.modal-backdrop{padding:12px}.modal{border-radius:12px;max-height:94vh}.modal-header{padding:21px 20px 17px;padding-right:55px}.modal-header h2{font-size:16px}.modal-body{padding:20px}.case-detail{grid-template-columns:1fr;gap:18px}.detail-cover{max-height:320px;width:100%;object-fit:contain}.detail-title{font-size:20px}.detail-block{margin:18px 0}.two-fields{grid-template-columns:1fr;gap:0}.doc-row{padding:15px 12px;gap:10px}.doc-row strong{font-size:12px}.doc-row .doc-icon{width:32px;height:39px}.doc-row .btn{font-size:10px;padding:7px 8px}.saved-tabs{gap:21px}.saved-tabs button{font-size:11px}.creator-card{padding:19px}.creator-top{gap:14px}.creator-image{width:76px;height:100px}.creator-intro h3{font-size:15px}.admin-stats{gap:9px}.admin-stat{padding:13px 11px}.admin-stat strong{font-size:23px}.admin-stat small{font-size:10px}.admin-toolbar{align-items:flex-start;gap:10px}.admin-toolbar>.btn{font-size:10px}.admin-toolbar form{flex-wrap:wrap}.table th,.table td{padding:11px 13px}.hint-line{font-size:10px}.tools-note{font-size:10px}.doc-editor{min-height:260px}.job{padding:12px}.job .btn{font-size:10px;padding:6px 8px}.section-row small{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Preserve source-cover text and give grouped creators the same readable rhythm. */
.cover-button{aspect-ratio:3/4}
.cover-button img,.creator-image:not(.avatar-image){object-fit:contain}

.saved-tabs{overflow-x:auto;scrollbar-width:none}.saved-tabs button{flex-shrink:0}.search,.filter-top>input{min-width:0}

.template-filter{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;min-width:0}.template-filter>span{font-size:11px;color:var(--muted);flex-shrink:0}.template-filter .filter-tabs{min-width:0;flex:1}.starter-badge{font-size:9px;margin-left:5px;background:#edf2e3;color:#708758}.check-row{display:flex;align-items:center;gap:9px;cursor:pointer}.check-row input[type=checkbox]{width:16px;height:16px;min-width:16px;padding:0;accent-color:var(--green)}

/* Course reference hub */
.sidebar{overflow-y:auto}.resource-purpose{display:flex;align-items:flex-start;gap:10px;border:1px solid #dfe7d7;background:#f0f5e9;border-radius:10px;padding:13px 17px;margin-bottom:22px;color:#6d8458}.resource-purpose .icon{width:18px;height:18px;margin-top:2px}.resource-purpose p{font-size:12px;line-height:1.9;margin:0}.course-overview{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid var(--line);background:white;border-radius:12px;padding:21px 24px;margin-bottom:24px}.course-overview strong{display:block;font-size:18px;color:#385e3b}.course-overview span{display:block;font-size:11px;color:#8c9b7d;margin-top:4px}.course-overview p{font-size:11px;color:var(--muted);margin:0}.course-grid,.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.course-card,.resource-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;min-width:0}.course-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.course-number{font-size:25px;line-height:1;font-weight:600;letter-spacing:-1px;color:#a7bc94}.course-card h2,.resource-card h2{font-size:17px;line-height:1.7;margin-bottom:9px}.course-goal{color:#788b68;font-size:12px;line-height:2;margin-bottom:18px}.resource-info-block{border-top:1px solid #eef1e8;padding-top:14px;margin-top:14px}.resource-info-block h3,.resource-details h3{font-size:11px;font-weight:600;color:#799066;margin-bottom:7px}.resource-info-block ul{padding-left:17px;margin:0;color:#748369;font-size:12px;line-height:2}.resource-info-block p{font-size:12px;color:#88957c;margin:0}.practice-note{display:flex;gap:7px;background:#f6f8f0;border-radius:8px;padding:12px 13px;font-size:11px;line-height:1.9;color:#7e8f6f;margin:18px 0}.practice-note .icon{width:14px;height:14px;flex-shrink:0;margin-top:4px}.resource-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:15px}.resource-card>p{font-size:12px;line-height:1.95;color:#7c8d6d;margin-bottom:15px}.resource-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#eff4e7;color:#78945f;margin-bottom:13px}.resource-icon .icon{width:20px;height:20px}.skill-card .section-row .resource-icon{margin:0}.skill-card .section-row{margin-bottom:15px}.resource-details{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.resource-details summary{font-size:11px;color:#789160;cursor:pointer}.resource-details h3{margin-top:17px}.resource-prompt{background:#f7f9f2;border:1px solid #eaf0e0;border-radius:8px;padding:14px;font:12px/1.95 ui-monospace,SFMono-Regular,Menlo,monospace;color:#657d50;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto}.tool-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sample-intro{display:flex;align-items:flex-start;gap:17px;margin-bottom:18px}.sample-intro img{width:90px;height:120px;object-fit:contain;background:#f1f4eb;border-radius:8px;flex-shrink:0}.sample-intro>div{min-width:0}.sample-intro .tag{font-size:10px;white-space:normal}.sample-intro h2{font-size:15px;margin:8px 0 5px;line-height:1.8}.sample-evidence{font-size:11px!important;border-top:1px solid var(--line);padding-top:12px;color:#92a180!important}.saved-reference{min-width:0;display:flex;flex-direction:column}.saved-reference .case-card{flex:1}.favorite-note{border:1px solid var(--line);border-radius:8px;background:#fafbf6;padding:10px 12px;margin-top:8px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.favorite-note p{font-size:11px;color:#81946e;margin:0;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.favorite-note .btn{padding:4px 8px;font-size:10px;flex-shrink:0}.export-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;border:1px solid var(--line);border-radius:11px;padding:19px 22px;margin-bottom:25px}.export-toolbar strong{font-size:13px}.export-toolbar p{font-size:11px;color:#91a17d;margin:5px 0 0;line-height:1.8}.export-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.export-controls select{width:150px;font-size:11px;padding:9px}.export-controls .btn{font-size:11px;padding:9px 12px}.unavailable-reference{background:white;border:1px dashed #dce3d2;border-radius:10px;padding:24px;flex:1}.unavailable-reference h3{font-size:14px;margin:14px 0 10px}.unavailable-reference p{font-size:11px;color:#91a17e;line-height:1.9}.link-like{font-size:11px;color:#708c59;padding:0;text-decoration:underline;text-underline-offset:3px}.admin-filter{display:grid;grid-template-columns:2fr 1.3fr 1fr auto;gap:10px;margin-bottom:15px}.admin-filter input,.admin-filter select{min-width:0;font-size:11px}.admin-batch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;padding:13px 15px;background:white;margin-bottom:13px;font-size:11px;color:#81936e}.admin-batch select{width:155px;font-size:11px;padding:8px;min-width:0}.admin-batch small{font-size:10px;color:#a0ad91}.table-checkbox{width:16px;height:16px;min-width:16px;padding:0;accent-color:var(--green)}.admin-discovery{margin:0 0 16px}.admin-discovery>summary{cursor:pointer;font-size:11px;color:#92a27c}.admin-discovery form{margin-top:12px;padding:17px}.admin-discovery .filter-top{margin-bottom:0}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(115px,1fr))}#admin-feedback-state{max-width:160px;font-size:12px}.creator-foot{flex-wrap:wrap;gap:8px}
@media(max-width:1100px){.tool-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-toolbar{align-items:flex-start;flex-direction:column}.export-controls{flex-shrink:1}.course-overview{flex-wrap:wrap}.admin-filter{grid-template-columns:2fr 1.3fr 1fr}.admin-filter .btn{grid-column:1/-1}}
@media(max-width:800px){.course-grid,.skill-grid{grid-template-columns:1fr}.resource-card,.course-card{padding:21px}.course-overview{padding:19px}.course-overview p{font-size:11px}.resource-purpose{padding:12px 14px}.resource-purpose p{font-size:11px}}
@media(max-width:700px){.course-grid,.skill-grid{gap:15px}.course-card h2{font-size:17px}.course-overview{display:block}.course-overview p{margin:12px 0}.course-overview strong{font-size:17px}.tool-resource-grid{grid-template-columns:1fr}.resource-actions .btn{font-size:10px;padding:8px 10px}.sample-intro{gap:13px}.sample-intro img{width:75px;height:100px}.sample-intro h2{font-size:14px}.sample-intro .tag{font-size:9px}.export-toolbar{padding:17px 16px;gap:14px}.export-controls{width:100%;display:grid;grid-template-columns:1fr 1fr}.export-controls select{width:100%;grid-column:1/-1}.export-controls .btn{font-size:10px;padding:9px}.admin-filter{grid-template-columns:1fr 1fr}.admin-filter input{grid-column:1/-1}.admin-filter .btn{grid-column:1/-1}.admin-batch select{max-width:100%;flex:1;min-width:125px}.admin-batch .btn{width:100%}.resource-prompt{font-size:11px;padding:12px}.course-info-block p{font-size:11px}}
