*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0}button,a,input{ -webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #1574e8;outline-offset:5px}img{max-width:100%;height:auto}button:disabled{cursor:default}::selection{background:#cded80;color:#172114}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-70px;left:16px;z-index:1000;background:#fff;color:#111;padding:14px 20px;text-decoration:none;border:1px solid}.skip-link:focus{top:12px}body.dialog-open{overflow:hidden}
.case-dialog{--case-bg:#faf9f4;--case-ink:#22271e;--case-line:#dbded4;--case-accent:#d5f19b;border:none;border-radius:16px;padding:0;max-width:940px;width:calc(100% - 32px);max-height:88dvh;color:var(--case-ink);background:var(--case-bg);font:16px/1.8 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;box-shadow:0 25px 110px #0005}.case-dialog::backdrop{background:#0b122a99;backdrop-filter:blur(7px)}[data-theme=desk] .case-dialog{--case-bg:#f2f5f8;--case-ink:#182c40;--case-accent:#f2cfaf;--case-line:#d3dfe6}[data-theme=gallery] .case-dialog{--case-bg:#f5f3ed;--case-ink:#181b1e;--case-accent:#ff744c;border-radius:0}.case-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--case-line);background:var(--case-bg)}.case-toolbar span{font-size:11px;letter-spacing:.14em}.case-close{display:flex;align-items:center;gap:10px;padding:7px 12px;background:none;color:inherit;border:1px solid var(--case-line);border-radius:3px}.case-close b{font-size:21px;font-weight:400}.case-body{padding:38px 48px 45px}.case-kind{font-size:12px;letter-spacing:.12em;margin:0 0 14px}.case-body h2{font-size:clamp(26px,5vw,43px);line-height:1.2;letter-spacing:-.035em;margin:0 0 20px}.case-lead{font-size:18px;color:#4a5249;max-width:680px;margin-bottom:25px}.case-tags{display:flex;flex-wrap:wrap;gap:8px}.case-tags span{font-size:12px;border:1px solid var(--case-line);padding:4px 10px;border-radius:3px}.case-section{margin-top:32px;padding-top:26px;border-top:1px solid var(--case-line)}.case-section h3{font-size:15px;margin:0 0 10px}.case-section p{margin:0;color:#4a5249}.case-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;list-style:none;padding:0;margin:18px 0 0;counter-reset:steps}.case-flow li{font-size:13px;padding:13px 11px;border:1px solid var(--case-line);background:#fff8;counter-increment:steps}.case-flow li::before{content:'0' counter(steps);display:block;font-size:10px;opacity:.6;margin-bottom:8px}.case-features{display:grid;gap:18px;margin:0}.case-features dt{font-size:15px;font-weight:650;margin-bottom:3px}.case-features dd{margin:0;font-size:14px;color:#4a5249}.case-body figure{margin:26px 0}.case-body figure img{display:block;border:1px solid var(--case-line)}.case-body figcaption{font-size:11px;color:#66705f;margin-top:8px}.case-boundary{font-size:13px}.case-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.case-actions a{font-size:14px;text-decoration:none;border:1px solid var(--case-ink);padding:10px 17px;border-radius:3px}.case-actions a:first-child{background:var(--case-ink);color:#fff}.copy-notice{position:fixed;z-index:250;left:50%;bottom:85px;transform:translateX(-50%);max-width:calc(100% - 30px);padding:11px 20px;background:#22271e;color:#fff;font:13px/1.5 -apple-system,sans-serif;border-radius:6px;box-shadow:0 3px 20px #0003}.copy-notice:empty{display:none}
@media(max-width:600px){.case-body{padding:28px 22px}.case-toolbar{padding:12px 18px}.case-flow{grid-template-columns:1fr 1fr}.case-lead{font-size:16px}.case-dialog{width:calc(100% - 16px);max-height:92dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
