:root{color-scheme:dark;--bg:#101312;--surface:#191d1b;--raised:#202622;--text:#f0f2ed;--muted:#a1aaa4;--line:#303832;--accent:#c4edda;--accent-ink:#1b3527;--header:rgba(16,19,18,.94);--soft:#26382e;--shadow:0 30px 120px #0008}
:root[data-theme=light]{color-scheme:light;--bg:#f6f7f3;--surface:#fff;--raised:#eef1eb;--text:#202923;--muted:#637066;--line:#dce2d9;--accent:#264f3d;--accent-ink:#fff;--header:rgba(246,247,243,.96);--soft:#e5eee7;--shadow:0 30px 100px #24372b25}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}button svg{width:19px;height:19px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:560}button{background:transparent}.shell{width:min(1240px,calc(100% - 80px));margin:auto}.site-header{height:88px;border-bottom:1px solid var(--line);background:var(--header)}.header-inner{height:100%;width:min(1360px,calc(100% - 80px));margin:auto;display:flex;align-items:center;gap:60px}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap;font-size:19px;font-weight:650;letter-spacing:.02em}.brand svg{width:35px;height:35px;color:var(--accent)}.brand-dot{fill:var(--accent)}.brand small{display:block;font-size:8px;letter-spacing:.14em;font-weight:500;color:var(--muted);margin-top:-1px}.header-inner nav{display:flex;gap:30px;align-items:center;font-size:14px}.header-inner nav>a,.header-inner nav>button{padding:28px 0;white-space:nowrap;color:var(--muted)}.header-inner nav .current{color:var(--text);position:relative}.current:after{content:"";height:2px;position:absolute;bottom:0;left:0;right:0;background:var(--accent)}#saved-count{margin-left:3px;font-variant-numeric:tabular-nums;color:var(--muted)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:22px;white-space:nowrap}.quiet{font-size:13px;color:var(--muted);padding:10px 0}.quiet:hover{color:var(--text)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-size:25px;flex-shrink:0}.icon-button:hover{background:var(--raised)}.intro{padding:55px 0 36px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.eyebrow{font-size:11px;letter-spacing:.09em;font-weight:550;display:flex;align-items:center;gap:9px;color:var(--muted)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}h1{font-size:43px;line-height:1.3;letter-spacing:-.045em;margin:15px 0 12px}.intro-copy{font-size:15px;color:var(--muted)}.edition{text-align:right;display:grid;gap:4px;flex-shrink:0}.edition span{font-size:11px;color:var(--muted)}.edition strong{font-weight:500;font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:.03em}.opening{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(270px,1fr);gap:28px}.feature{position:relative;overflow:hidden;min-height:340px;border-radius:16px;background:#192d25;color:#f2f5eb;isolation:isolate;border:1px solid #355044}.feature-art{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.feature-art svg{height:100%;width:100%;stroke-width:1;opacity:.9}.feature-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#182c25 5%,#182c25eb 36%,#182c2500 85%)}.feature-content{position:relative;padding:30px 34px;max-width:68%;display:flex;align-items:flex-start;flex-direction:column;gap:15px}.feature .eyebrow{color:#c1dacb;font-size:10px}.feature h2{font-size:42px;letter-spacing:-.04em;line-height:1;margin-top:13px}.feature h3{font-size:20px;font-weight:500;line-height:1.6;max-width:310px}.feature-description{font-size:13px;color:#b8cec1;max-width:340px}.feature-actions{display:flex;align-items:center;gap:10px;margin-top:6px}.primary{background:var(--accent);color:var(--accent-ink);padding:11px 18px;border-radius:7px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:15px}.feature .primary{background:#d3ecdc;color:#203b2a}.primary:hover{filter:brightness(1.06)}.feature-save{color:#d8eadc;border-color:#63806e}.art-caption{position:absolute;bottom:21px;right:23px;font-size:9px;color:#a2bda9;letter-spacing:.08em}.editorial{padding:15px 0 7px 5px;display:flex;flex-direction:column;align-items:flex-start}.line{height:1px;background:var(--line);flex:1;min-width:40px}.editorial>.eyebrow{width:100%}.editorial h2{font-size:25px;line-height:1.55;letter-spacing:-.025em;margin:21px 0 13px}.editorial p{font-size:13px;color:var(--muted);line-height:1.85;margin-bottom:8px;max-width:300px}.text-link{font-size:12px;font-weight:550;display:inline-flex;align-items:center;gap:20px;padding:8px 0}.text-link:hover{color:var(--accent)}.text-link>span{font-size:17px}.editorial .text-link{margin-top:4px}.editorial-foot{border-top:1px solid var(--line);width:100%;margin-top:auto;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px}.editorial-foot svg{color:var(--accent)}.curated{margin:54px 0 65px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:23px}.section-heading .eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:8px}.section-heading h2{font-size:24px;letter-spacing:-.025em}.curated-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-card{overflow:hidden;min-width:0}.card-art{height:124px;border-radius:10px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#222b32;color:#bad0e2}.art-atelier{background:#252633;color:#b9b5d9}.art-crew,.art-standup{background:#282d26;color:#c9d3b8}.art-themes{background:#2b2c32;color:#cbc2dd}.card-art:after{content:"概念示意";position:absolute;right:14px;bottom:9px;font-size:9px;letter-spacing:.08em;opacity:.65}.card-art svg{width:220px;height:110px}.card-body{padding:19px 2px 0}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-top h3{font-size:22px;letter-spacing:-.035em}.card-top h3 button{padding:0;text-align:left;font-weight:inherit}.card-top h3 button:hover{color:var(--accent)}.card-save{border:0;width:30px;height:30px;color:var(--muted)}.save-button[aria-pressed=true]{color:var(--accent);background:var(--soft)}.card-description{color:var(--muted);font-size:13px;line-height:1.85;margin:8px 0 15px;min-height:48px}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:var(--muted)}.tiny-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--accent);margin-right:5px}.library{padding-top:40px;border-top:1px solid var(--line);scroll-margin-top:30px}.count{font-size:14px;color:var(--muted);font-weight:400;margin-left:10px;letter-spacing:0}.search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:10px 13px;width:320px}.search svg{width:17px;height:17px;flex-shrink:0;color:var(--muted)}.search input{min-width:0;width:100%;border:0;outline:none;background:transparent;color:var(--text);font-size:13px}.search input::placeholder{color:var(--muted)}.search:focus-within{outline:2px solid var(--accent);outline-offset:2px}.filters{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:7px 0 19px;border-bottom:1px solid var(--line)}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-buttons button{border:1px solid transparent;padding:8px 14px;border-radius:6px;font-size:12px;color:var(--muted)}.filter-buttons button[aria-pressed=true]{background:var(--soft);color:var(--accent);border-color:var(--line)}.filter-buttons button:hover{background:var(--raised)}.category-label{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}select{border:1px solid var(--line);padding:8px 30px 8px 10px;border-radius:6px;background:var(--surface);color:var(--text);font-size:12px;max-width:200px}.results-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);padding:14px 0 4px}.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.result{display:flex;gap:15px;padding:24px 0;border-bottom:1px solid var(--line);min-width:0}.initial{width:45px;height:45px;background:var(--raised);border:1px solid var(--line);border-radius:10px;display:flex;justify-content:center;align-items:center;flex-shrink:0;font-size:18px;font-weight:550;color:var(--accent)}.result-main{min-width:0;flex:1}.result-title{font-size:15px;font-weight:550;text-align:left;padding:0;overflow-wrap:anywhere;line-height:1.55}.result-title:hover{color:var(--accent)}.result p{font-size:12px;color:var(--muted);margin:7px 0 11px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.result-meta{display:flex;gap:10px;font-size:10px;color:var(--muted);flex-wrap:wrap}.result-meta span+span{border-left:1px solid var(--line);padding-left:10px}.result .save-button{align-self:flex-start}.pagination{display:flex;align-items:center;justify-content:center;gap:25px;margin:32px 0;font-size:12px;color:var(--muted)}.pagination button{border:1px solid var(--line);border-radius:6px;padding:9px 15px;color:var(--text)}.empty{padding:55px 20px;text-align:center;color:var(--muted);grid-column:1/-1}.empty h3{color:var(--text);font-size:19px;margin-bottom:10px}.empty button{margin-top:20px}.source-note{display:flex;align-items:center;gap:24px;padding:32px 0;border-top:1px solid var(--line);margin-top:45px}.source-mark{font-size:36px;font-weight:300;color:var(--muted)}.source-note h2{font-size:17px;margin-bottom:6px}.source-note p{color:var(--muted);font-size:12px;max-width:700px;line-height:1.85}.source-note .text-link{margin-left:auto;flex-shrink:0}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;padding-bottom:32px;font-size:11px;color:var(--muted)}.footer>span:first-child{color:var(--text)}.muted{color:var(--muted)}dialog{border:1px solid var(--line);border-radius:17px;background:var(--bg);color:var(--text);padding:0;width:min(900px,calc(100vw - 40px));max-height:90vh;box-shadow:var(--shadow)}dialog::backdrop{background:#0009;backdrop-filter:blur(7px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:21px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:2}.dialog-top .icon-button{width:32px;height:32px}.detail-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;padding:32px}.detail-main h2{font-size:31px;letter-spacing:-.03em;line-height:1.3;overflow-wrap:anywhere;margin:15px 0}.detail-main>p{font-size:14px;line-height:1.85;color:var(--muted)}.detail-main .eyebrow{letter-spacing:0}.detail-art{height:130px;border-radius:10px;overflow:hidden;background:#25352b;margin-bottom:24px}.detail-art svg{width:100%;height:100%}.detail-main .original-copy{margin-top:23px;border-top:1px solid var(--line);padding-top:20px;font-size:12px;overflow-wrap:anywhere}.detail-main .original-copy summary{cursor:pointer;color:var(--muted)}.detail-main .original-copy p{margin-top:10px}.detail-section{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.detail-section h3{font-size:13px;margin-bottom:12px}.detail-section p{font-size:12px;line-height:1.85;color:var(--muted)}.evidence-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.evidence-row span{color:var(--muted)}.evidence-row strong{font-weight:500;text-align:right;overflow-wrap:anywhere}.evidence-note{margin-top:12px!important}.detail-unknown{padding:16px;border-radius:8px;background:var(--raised)}.detail-unknown h3{font-size:12px;margin-bottom:8px}.detail-unknown p{font-size:12px;color:var(--muted);line-height:1.8}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.detail-actions .save-button{border:1px solid var(--line);padding:9px 15px;display:flex;align-items:center;gap:8px;border-radius:6px;font-size:12px}.source-link{display:block;font-size:12px;margin-top:12px;color:var(--accent);overflow-wrap:anywhere}.detail-date{font-size:10px;color:var(--muted);margin-top:20px}.method-content{padding:32px;max-width:700px;margin:auto}.method-content h2{font-size:33px;line-height:1.35;letter-spacing:-.03em;margin-bottom:22px}.method-content p,.method-content li{font-size:13px;line-height:1.9;color:var(--muted)}.method-content ul{padding-left:20px}.method-content h3{font-size:17px;margin-top:25px}.method-content dl{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0}.method-content dt{font-size:28px}.method-content dd{margin:4px 0 0;font-size:12px;color:var(--muted)}.method-content>.primary{margin-top:22px}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--accent);color:var(--accent-ink);padding:10px 18px}.skip:focus{top:10px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:12px 22px;background:var(--text);color:var(--bg);border-radius:8px;box-shadow:var(--shadow);font-size:12px;z-index:5;opacity:0;pointer-events:none;transition:opacity .15s;max-width:90vw}#toast.show{opacity:1}
@media(min-width:1700px){.shell{max-width:1320px}.feature{min-height:365px}.feature-content{padding:34px 40px}.feature h2{font-size:48px}.card-art{height:145px}}
@media(max-width:1050px){.shell,.header-inner{width:calc(100% - 48px)}.header-inner{gap:28px}.header-inner nav{gap:20px}.header-actions{gap:15px}.opening{grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr);gap:23px}.feature-content{max-width:83%;padding:27px}.feature-art:after{background:linear-gradient(90deg,#182c25 4%,#182c25d9 58%,#182c2511 100%)}h1{font-size:35px}.intro-copy{max-width:520px}.editorial h2{font-size:23px}.curated-grid{gap:20px}.card-description{font-size:12px}}
@media(max-width:760px){.shell,.header-inner{width:calc(100% - 40px)}.site-header{height:auto}.header-inner{flex-wrap:wrap;gap:0;padding-top:16px}.brand{font-size:17px}.brand small{font-size:7px}.brand svg{width:31px;height:31px}.header-actions{order:2;margin-left:auto;gap:15px}.header-actions .quiet{display:none}.header-inner nav{order:3;width:100%;justify-content:flex-start;gap:29px;margin-top:5px}.header-inner nav>a,.header-inner nav>button{padding:14px 0;font-size:12px}.intro{padding:32px 0 26px;display:block}.intro .eyebrow{font-size:10px}h1{font-size:30px;letter-spacing:-.05em;margin:13px 0 11px;line-height:1.35}.intro-copy{font-size:13px;max-width:300px;line-height:1.85}.edition{margin-top:17px;display:flex;text-align:left;align-items:center;gap:10px}.edition span{font-size:9px}.edition strong{font-size:11px}.opening{grid-template-columns:1fr;gap:27px}.feature{min-height:340px}.feature-content{max-width:90%;padding:25px;gap:14px}.feature h2{font-size:39px}.feature h3{font-size:19px;max-width:260px}.feature-description{max-width:230px;font-size:12px}.feature-art svg{width:155%;margin-left:-20%}.feature-art:after{background:linear-gradient(90deg,#182c25 2%,#182c25e0 45%,#182c2500 120%)}.art-caption{bottom:15px;right:16px;font-size:8px}.editorial{padding:15px 0;border-top:1px solid var(--line)}.editorial h2{font-size:23px;margin:17px 0 10px}.editorial h2 br{display:none}.editorial p{max-width:none}.editorial-foot{display:none}.curated{margin:30px 0 40px}.section-heading{gap:18px;align-items:flex-start}.section-heading h2{font-size:21px;line-height:1.5}.section-heading>.text-link{display:none}.curated-grid{grid-template-columns:1fr;gap:28px}.product-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:17px;border-bottom:1px solid var(--line);padding-bottom:22px}.card-art{height:132px;border-radius:8px}.card-art svg{min-width:170px;height:90px}.card-art:after{font-size:7px;right:8px;bottom:8px}.card-body{padding:0}.card-top h3{font-size:21px}.card-description{margin:7px 0 12px;min-height:0;font-size:12px;line-height:1.7}.card-meta{font-size:9px;gap:3px;flex-wrap:wrap;padding-top:9px}.library{padding-top:30px}.library .section-heading{display:block}.search{width:100%;margin-top:20px}.filters{display:block;padding-top:0}.filter-buttons{gap:4px}.filter-buttons button{padding:8px 10px;font-size:11px}.category-label{margin-top:18px;justify-content:flex-end}.results{grid-template-columns:1fr;gap:0}.result{padding:20px 0;gap:12px}.result-title{font-size:14px}.result p{font-size:12px}.source-note{align-items:flex-start;gap:12px;flex-wrap:wrap}.source-mark{font-size:28px}.source-note>div:nth-child(2){flex:1}.source-note p{font-size:11px}.source-note .text-link{width:auto;margin:2px 0 0}.footer{display:block;padding-bottom:30px}.footer>span{display:block;margin-bottom:8px}dialog{width:calc(100vw - 20px);max-height:94dvh;border-radius:12px}.dialog-top{padding:15px 20px}.detail-grid{grid-template-columns:1fr;padding:24px;gap:30px}.detail-main h2{font-size:27px}.detail-art{height:100px}.method-content{padding:25px}.method-content h2{font-size:28px}.method-content dl{gap:20px}.method-content dt{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

#detail-status:not(:empty){padding:12px 28px;background:var(--soft);color:var(--accent);font-size:12px}

/* Product media layout. Actual visual review status is recorded in evidence/. */
.feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:center;gap:24px;padding:32px;background:var(--surface);color:var(--text);border-color:var(--line);min-height:360px}
.feature-content{padding:0;max-width:none;gap:15px}.feature .eyebrow{color:var(--muted)}.feature h2{font-size:42px;margin-top:7px}.feature h3{font-size:22px;max-width:none;line-height:1.45;letter-spacing:0;text-wrap:balance}.feature-description{color:var(--muted);font-size:13px;line-height:1.85}.feature-signal{font-size:11px;color:var(--muted);line-height:1.7}.feature-signal span{margin:0 4px}.feature-save{color:var(--text);border-color:var(--line)}
.feature-media{min-width:0;text-align:left;padding:0;display:grid;gap:12px;align-content:center}.feature-media img{display:block;width:100%;border:1px solid #37333e;border-radius:8px;box-shadow:0 12px 30px #0003}.feature-media>span{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.feature-media:hover img{border-color:var(--accent)}
.card-art{width:100%;height:auto;aspect-ratio:1.65;display:block;padding:0;text-align:left;border:1px solid var(--line);background:#11131b}.card-art img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .2s}.card-art:hover img{transform:scale(1.025)}.card-art:after{content:none}.media-caption{position:absolute;bottom:9px;right:10px;background:#111b;color:#fff;padding:3px 6px;border-radius:3px;font-size:9px;pointer-events:none}
.detail-grid{grid-template-columns:1.15fr 1fr;gap:32px}.detail-art{display:block;height:auto;aspect-ratio:auto;margin-bottom:12px;background:transparent}.detail-art img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:8px}.media-credit{font-size:10px!important;line-height:1.6!important;color:var(--muted)}.media-credit a{text-decoration:underline;text-underline-offset:3px}.detail-section{padding-bottom:16px;margin-bottom:16px}.detail-section h3{font-size:14px}.detail-section p{font-size:13px}.detail-main .detail-date{font-size:11px}.detail-unknown p{font-size:13px}.detail-unknown h3{font-size:13px}
@media(max-width:1050px) and (min-width:761px){.feature{grid-template-columns:1fr;padding:25px;gap:20px}.feature-media img{max-height:200px;object-fit:contain}.feature-content{padding:0;max-width:none}.feature h2{font-size:36px}.feature-description{max-width:none}}
@media(max-width:760px){.feature{grid-template-columns:1fr;gap:23px;padding:24px;min-height:0}.feature-content{max-width:none;padding:0;gap:12px}.feature h2{font-size:36px}.feature h3{font-size:21px;max-width:none}.feature-description{max-width:none}.feature-media img{max-height:190px;object-fit:contain}.feature-media>span{font-size:9px}.product-card{display:block}.card-art{height:auto;aspect-ratio:1.65}.card-body{padding:16px 0 0}.card-description{font-size:13px}.card-meta{font-size:11px}.detail-grid{grid-template-columns:1fr;gap:22px}.detail-art{height:auto}.detail-section p,.detail-unknown p{font-size:13px}}

/* ---------- language switch, account, auth (added for the public site) ---------- */
.pill{font-size:12px;font-weight:600;letter-spacing:.04em;padding:8px 12px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--muted);line-height:1;transition:border-color .15s,color .15s}
.pill:hover{border-color:var(--accent);color:var(--text)}
.account-slot{display:flex;align-items:center}
.account-signin{background:var(--accent);color:var(--accent-ink);border-color:transparent;padding:10px 15px;font-size:13px;letter-spacing:0}
.account-signin:hover{color:var(--accent-ink);filter:brightness(1.06)}
.account-button{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--soft);border:1px solid var(--line)}
.account-button:hover{border-color:var(--accent)}
.avatar{font-size:13px;font-weight:650;color:var(--accent);line-height:1}
#saved-count.on{color:var(--accent)}

#auth,#account{width:min(440px,calc(100vw - 32px))}
.auth-content{padding:2px 30px 30px}
.auth-content h2{font-size:24px;letter-spacing:-.02em;line-height:1.3;margin:4px 0 10px}
.auth-content>div>p,.auth-content>p{font-size:13.5px;color:var(--muted);margin:0 0 20px}
#auth-step-link strong{color:var(--text);font-weight:600;word-break:break-all}
.field{display:block;margin-bottom:4px}
.field>span{display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.field input{width:100%;padding:12px 13px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:14px}
.field input::placeholder{color:var(--muted);opacity:.7}
.field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.auth-content>div>p.auth-hint{font-size:12.5px;line-height:1.75;color:var(--muted);margin:0 0 22px;padding-left:14px;border-left:2px solid var(--accent)}
.field-error{min-height:17px;font-size:12px;line-height:1.5;color:#e08b91;margin:3px 0 11px}
:root[data-theme=light] .field-error{color:#b23c45}
.auth-submit{width:100%;margin-top:2px;padding:12px 18px}
.auth-content>div>p.auth-fine,.auth-content>p.auth-fine{font-size:11.5px;line-height:1.65;color:var(--muted);margin:18px 0 0}
.auth-links{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}
.auth-links .text-link{font-size:12px;padding:4px 0;color:var(--muted)}
.auth-links .text-link:hover{color:var(--accent)}
.auth-links .text-link:disabled{opacity:.5;cursor:default}
.account-facts{margin:2px 0 16px}
.account-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.account-facts>div:first-child{border-top:1px solid var(--line)}
.account-facts dt{color:var(--muted);flex-shrink:0}
.account-facts dd{margin:0;font-weight:600;text-align:right;word-break:break-all}
@media(max-width:760px){#method-open{display:none}.header-actions{gap:12px}.auth-content{padding:2px 20px 24px}.auth-content h2{font-size:21px}}

/* detail: closing note spans the dialog so the two columns stay balanced */
.detail-after{padding:0 32px 32px}
.detail-after .detail-unknown{margin-bottom:4px}
.detail-after .source-link{margin-top:10px}
@media(max-width:760px){.detail-after{padding:0 20px 24px}}
/* keep the feature's one-liner from pushing the layout on long descriptions */
.feature h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:330px}
/* softer focus ring on form fields */
.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(196,237,218,.16)}
:root[data-theme=light] .field input:focus{box-shadow:0 0 0 3px rgba(38,79,61,.14)}
.detail-loading{padding:48px 32px;color:var(--muted);font-size:13px;text-align:center}

/* ---------- sign-in providers ---------- */
.auth-providers{display:grid;gap:9px;margin:0 0 2px}
.auth-provider{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;transition:border-color .15s,color .15s}
.auth-provider:hover{border-color:var(--accent);color:var(--accent)}
.auth-provider:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.auth-provider svg{width:16px;height:16px;flex:0 0 auto}
.auth-provider:disabled{opacity:.55;cursor:default}
.auth-or{display:flex;align-items:center;gap:12px;margin:18px 0 16px;color:var(--muted);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.auth-or::before,.auth-or::after{content:'';flex:1;height:1px;background:var(--line)}

/* ---------- locked teardown ---------- */
.detail-section.detail-locked{border:1px solid var(--line);border-radius:9px;padding:18px 16px 16px;background:var(--surface);margin-top:0}
.detail-locked h3{margin:0 0 10px;color:var(--text)}
.detail-locked p{font-size:12.5px;line-height:1.75;color:var(--muted);margin:0 0 14px}
.detail-locked .evidence-row{margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.detail-locked .lock-count{color:var(--accent);font-size:11.5px;font-variant-numeric:tabular-nums;letter-spacing:.01em;margin:0 0 12px}
.detail-locked .auth-submit{margin-top:2px}
.detail-locked .auth-fine{margin:10px 0 0}

/* ---------- guest limit band ---------- */
.guest-band{margin:20px 0 4px}
.guest-band-inner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:18px 20px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.guest-band-title{flex:1 1 200px;margin:0;font-size:13.5px;font-weight:600;letter-spacing:-.01em}
.guest-band-body{flex:1 1 260px;margin:0;font-size:12px;line-height:1.65;color:var(--muted)}
.guest-band .primary{flex:0 0 auto;white-space:nowrap}
@media(max-width:640px){.guest-band .primary{width:100%}}

/* author display rules (grid/flex) otherwise beat the UA [hidden] rule */
[hidden]{display:none!important}

/* ---------- two header entries: sign in (quiet) + sign up (primary) ---------- */
.account-slot{gap:14px}
.account-signin{background:none;border:0;color:var(--muted);padding:8px 0;font-size:12.5px;font-weight:550;letter-spacing:.02em;line-height:1}
.account-signin:hover{background:none;color:var(--text);filter:none;border:0}
.account-signup{font-size:12px;font-weight:600;letter-spacing:.04em;padding:9px 14px;border-radius:7px;border:1px solid transparent;background:var(--accent);color:var(--accent-ink);line-height:1;transition:filter .15s}
.account-signup:hover{filter:brightness(1.06)}
.account-signup:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:520px){.account-slot{gap:10px}.account-signin{font-size:12px}}

/* ---------- "already have an account?" switch ---------- */
.auth-content>div>p.auth-switch-line{margin:14px 0 0;font-size:12px}
.auth-switch-line .text-link{display:inline;gap:0;padding:0;font-size:12px;font-weight:500;color:var(--muted)}
.auth-switch-line .text-link:hover{color:var(--accent)}
