:root{--ink:#17211d;--pine:#245344;--pine-deep:#173f34;--paper:#f2eee4;--rice:#fcfaf4;--muted:#5f6962;--line:rgba(23,33,29,.16);--red:#ad5142;--gold:#aa8248;--serif:"Noto Serif SC","Source Han Serif SC","STSong","Songti SC",serif;--sans:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",system-ui,sans-serif;--shadow:0 24px 65px rgba(28,45,37,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.65;-webkit-font-smoothing:auto}body:before{position:fixed;z-index:-2;inset:0;content:"";pointer-events:none;background:radial-gradient(ellipse at 84% 5%,rgba(170,130,72,.12),transparent 28%),radial-gradient(ellipse at 0 45%,rgba(36,83,68,.09),transparent 30%)}body:after{position:fixed;z-index:-1;inset:0;content:"";pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg width='180' height='180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}a,button,input{font:inherit}.shell{width:min(1240px,100%);margin:auto;padding-left:clamp(22px,5vw,68px);padding-right:clamp(22px,5vw,68px)}button{cursor:pointer}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark,.login-seal{display:grid;place-items:center;border:1px solid rgba(173,81,66,.62);border-radius:50%;color:var(--red);font-family:var(--serif);font-weight:800}.brand-mark{width:36px;height:36px;font-size:18px}.brand strong{display:block;font-family:var(--serif);font-size:21px;font-weight:800;line-height:1}.brand small{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.14em}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav>a{color:var(--muted);font-size:13px;font-weight:700;text-decoration:none}.site-header nav>a:hover{color:var(--pine)}.admin-trigger{padding:9px 16px;border:1px solid var(--pine);border-radius:999px;color:var(--pine-deep);background:transparent;font-size:13px;font-weight:800;transition:background .2s,color .2s,transform .2s}.admin-trigger:hover{color:var(--rice);background:var(--pine-deep);transform:translateY(-1px)}.hero{position:relative;min-height:610px;display:flex;align-items:center;flex-direction:column;justify-content:center;overflow:hidden;padding-top:92px;padding-bottom:95px;text-align:center}.hero-badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;color:var(--pine-deep);background:rgba(252,250,244,.68);font-size:12px;font-weight:800}.hero-badge span{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(173,81,66,.12)}.hero h1{position:relative;z-index:1;margin:0;font-family:var(--serif);font-size:clamp(52px,7.3vw,92px);font-weight:800;line-height:1.12;letter-spacing:-.055em}.hero h1 em{color:var(--pine);font-style:normal}.hero-copy{position:relative;z-index:1;max-width:690px;margin:26px auto 0;color:#4e5a53;font-size:16px;font-weight:600;line-height:1.9}.hero-actions{position:relative;z-index:1;display:flex;align-items:center;gap:24px;margin-top:31px}.primary-link{display:inline-flex;align-items:center;gap:30px;padding:12px 18px;border-radius:6px 20px 6px 20px;color:var(--rice);background:var(--pine-deep);font-size:13px;font-weight:800;text-decoration:none;box-shadow:0 10px 24px rgba(23,63,52,.16);transition:transform .2s,box-shadow .2s}.primary-link:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(23,63,52,.22)}.primary-link span{color:#e1c78e;font-size:17px}.hero-actions p{margin:0;color:var(--muted);font-size:12px;font-weight:600}.hero-actions p b{color:var(--ink);font-weight:800}.ink-orbit{position:absolute;right:6%;top:78px;width:210px;height:210px;border:1px solid rgba(36,83,68,.18);border-radius:46% 54% 63% 37%/53% 42% 58% 47%;transform:rotate(18deg);animation:drift 10s ease-in-out infinite}.ink-orbit:before,.ink-orbit:after{position:absolute;border:1px solid rgba(173,81,66,.18);border-radius:58% 42% 48% 52%/44% 61% 39% 56%;content:""}.ink-orbit:before{inset:26px;transform:rotate(32deg)}.ink-orbit:after{inset:59px;border-color:rgba(170,130,72,.28);transform:rotate(-24deg)}.ink-orbit span{position:absolute;left:42%;top:45%;color:rgba(173,81,66,.7);font-family:var(--serif);font-size:13px;font-weight:800;transform:rotate(-18deg)}@keyframes drift{50%{transform:rotate(12deg) translateY(8px)}}.works{padding-bottom:92px}.works-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:27px 0 25px;border-top:2px solid var(--ink)}.eyebrow{margin:0 0 6px;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.18em}.works-heading h2{margin:0;font-family:var(--serif);font-size:39px;font-weight:800;line-height:1.15}.works-heading>p{max-width:340px;margin:0;color:var(--muted);font-size:13px;font-weight:600;text-align:right}.catalog-tools{position:sticky;z-index:4;top:10px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(252,250,244,.88);box-shadow:0 10px 30px rgba(31,47,40,.06);backdrop-filter:blur(14px)}.search-box{min-width:270px;display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--muted)}.search-box>span{font-family:var(--serif);font-size:21px;font-weight:800;line-height:1}.search-box input{width:100%;padding:8px 0;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px;font-weight:700}.search-box input::placeholder{color:#788079;font-weight:600}.filters{display:flex;flex-wrap:wrap;gap:7px}.filter{padding:8px 11px;border:1px solid transparent;border-radius:999px;color:var(--muted);background:transparent;font-size:12px;font-weight:800}.filter span{margin-left:5px;color:#8c938e;font-size:10px}.filter:hover{border-color:var(--line)}.filter.active{color:var(--rice);background:var(--pine-deep)}.filter.active span{color:#d9c38f}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.work-card{min-width:0;display:flex;flex-direction:column;padding:10px 10px 18px;border:1px solid var(--line);border-radius:10px 27px 10px 27px;color:inherit;background:rgba(252,250,244,.8);text-decoration:none;transition:transform .22s,border-color .22s,box-shadow .22s}.work-card:hover{transform:translateY(-5px);border-color:rgba(36,83,68,.45);box-shadow:0 18px 42px rgba(29,46,38,.12)}.work-card[hidden]{display:none}.card-preview{position:relative;height:192px;display:grid;place-items:center;overflow:hidden;border-radius:6px 21px 6px 21px;background:var(--card-bg,#274f43);color:var(--card-fg,#f4eedf)}.card-preview:before{position:absolute;width:160px;height:160px;border:1px solid currentColor;border-radius:61% 39% 52% 48%/43% 55% 45% 57%;opacity:.28;content:"";transform:rotate(20deg)}.card-preview:after{position:absolute;width:100px;height:100px;border:1px solid currentColor;border-radius:43% 57% 34% 66%/55% 38% 62% 45%;opacity:.2;content:"";transform:rotate(-25deg)}.preview-mark{position:relative;z-index:1;font-family:var(--serif);font-size:48px;font-weight:800;text-shadow:0 5px 20px rgba(0,0,0,.12)}.card-preview i{position:absolute;left:18%;right:18%;bottom:28px;height:1px;background:currentColor;opacity:.35}.card-preview small{position:absolute;right:16px;bottom:10px;font-size:10px;font-weight:800;letter-spacing:.14em;opacity:.75}.tone-pine{--card-bg:#264f43;--card-fg:#f5edda}.tone-gold{--card-bg:#ac8b55;--card-fg:#fff9e9}.tone-ink{--card-bg:#25312d;--card-fg:#f1eadb}.tone-water{--card-bg:#668083;--card-fg:#f8f4e8}.tone-red{--card-bg:#a65748;--card-fg:#fff4e5}.tone-amber{--card-bg:#c08a44;--card-fg:#fff8e8}.tone-paper{--card-bg:#d9d0bd;--card-fg:#314139}.tone-sprout{--card-bg:#668053;--card-fg:#f8f3df}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 6px 0;color:var(--red);font-size:10px;font-weight:800;letter-spacing:.08em}.card-meta code{overflow:hidden;color:#7b837d;font-family:ui-monospace,"Cascadia Mono",monospace;font-size:10px;font-weight:600;letter-spacing:0;text-overflow:ellipsis}.work-card h3{margin:7px 6px 0;font-family:var(--serif);font-size:25px;font-weight:800;line-height:1.3}.work-card>p{min-height:48px;margin:6px 6px 0;color:#58635c;font-size:12px;font-weight:600;line-height:1.7}.work-card>b{display:flex;align-items:center;justify-content:space-between;margin:17px 6px 0;padding-top:12px;border-top:1px solid var(--line);color:var(--pine);font-size:12px;font-weight:800}.work-card>b span{font-size:16px;transition:transform .2s}.work-card:hover>b span{transform:translate(2px,-2px)}.empty-state{padding:70px 20px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);background:rgba(252,250,244,.55);font-size:14px;font-weight:700;text-align:center}footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:26px;padding-bottom:34px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:600}footer b{color:var(--ink);font-family:var(--serif);font-weight:800}footer a{color:inherit;text-decoration:none}footer a:hover{text-decoration:underline}.hidden{display:none!important}.modal{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:20px}.modal-shade{position:absolute;inset:0;background:rgba(22,31,27,.6);backdrop-filter:blur(6px)}.login-card{position:relative;width:min(430px,100%);padding:40px 36px 30px;border:1px solid rgba(255,255,255,.72);border-radius:8px 30px 8px 30px;background:var(--rice);box-shadow:var(--shadow)}.modal-close{position:absolute;right:15px;top:8px;border:0;background:transparent;color:var(--muted);font-size:28px;line-height:1}.login-seal{width:40px;height:40px;margin-bottom:18px;font-size:19px}.login-card h2{margin:0;font-family:var(--serif);font-size:33px;font-weight:800}.login-intro{margin:9px 0 23px;color:var(--muted);font-size:13px;font-weight:600}.login-card form{display:grid;gap:15px}.login-card label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.login-card input{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;outline:none;color:var(--ink);background:#fff;font-weight:600}.login-card input:focus,.search-box:focus-within{border-color:var(--pine);box-shadow:0 0 0 3px rgba(36,83,68,.13)}.login-submit{margin-top:2px;padding:12px 16px;border:0;border-radius:999px;color:#fff;background:var(--pine-deep);font-size:14px;font-weight:800}.login-submit:disabled{cursor:wait;opacity:.6}.login-message{min-height:20px;margin:0;color:var(--red);font-size:12px;font-weight:700}.no-register{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:600}@media(max-width:920px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-tools{position:static;align-items:stretch;flex-direction:column}.search-box{min-width:0;border-bottom:1px solid var(--line)}.ink-orbit{right:-60px;top:55px}}@media(max-width:620px){.site-header{height:68px}.site-header nav>a{display:none}.site-header nav{gap:0}.brand strong{font-size:19px}.admin-trigger{padding:8px 12px;font-size:12px}.hero{min-height:520px;padding-top:68px;padding-bottom:70px}.hero h1{font-size:51px}.hero-copy{font-size:14px;line-height:1.8}.hero-actions{align-items:stretch;flex-direction:column;gap:15px}.ink-orbit{width:150px;height:150px;right:-54px}.works-heading{display:block}.works-heading>p{margin-top:8px;text-align:left}.filters{display:grid;grid-template-columns:1fr 1fr}.filter{text-align:left}.work-grid{grid-template-columns:1fr}.card-preview{height:180px}.work-card>p{min-height:0}footer{display:grid;gap:4px}.login-card{padding:34px 24px 26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ink-orbit{animation:none}.work-card,.primary-link,.admin-trigger,.work-card>b span{transition:none}}
:root .hero-copy strong,:root .hero-copy span{display:block}:root .hero-copy strong{color:var(--ink);font-family:var(--serif);font-size:22px;font-weight:800}:root .hero-copy span{margin-top:3px}
body .hero{min-height:auto;align-items:flex-start;justify-content:flex-start;overflow:visible;padding-top:clamp(72px,9vw,112px);padding-bottom:clamp(64px,8vw,92px);text-align:left}body .hero-copy{max-width:none;margin:0}body .hero .hero-copy strong{font-size:clamp(42px,5.8vw,68px);line-height:1.2;letter-spacing:-.04em}body .hero .hero-copy span{margin-top:12px;color:var(--muted);font-size:16px;font-weight:600}
