
*{box-sizing:border-box}body{margin:0;color:#1a1a1a;background:#f5f5f3;font:17px/1.8 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}main{max-width:1260px;margin:auto;padding:36px 32px}header{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #ddd;padding-bottom:22px;flex-wrap:wrap}
.house-links{display:flex;gap:12px;font-size:13px}
.house-links a{color:#666;text-decoration:none}
.house-links a:hover{color:#111}
a{color:inherit;text-underline-offset:5px}h1{font:500 42px/1.4 'Songti SC',SimSun,serif;margin:30px 0 12px}h2{font-size:24px;margin:12px 0}p{margin:12px 0}.muted{color:#666}.eyebrow{font-size:13px;letter-spacing:2px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.card{display:flex;flex-direction:column;border:1px solid #ddd;border-radius:16px;background:white;overflow:hidden;text-decoration:none}.card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.card .copy{padding:22px;display:flex;flex-direction:column;flex:1}.card .copy p{flex:1}.card .read{align-self:flex-start}.tag{font-size:14px;color:#666}.read{display:inline-block;margin-top:18px;border-bottom:1px solid #111}.notice{font-size:14px;color:#666;margin-top:24px}.toolbar{display:flex;gap:14px;flex-wrap:wrap;align-items:center}button,.btn{font:inherit;cursor:pointer;border:1px solid #ccc;background:#fff;padding:10px 18px;border-radius:9px;text-decoration:none;min-height:48px}.active{background:#191919;color:#fff}.reader{max-width:1080px;margin:auto}.intro{max-width:820px;margin:28px 0}.photos{display:grid;gap:32px}figure{margin:0}figure img{display:block;width:100%;height:auto;border-radius:12px;cursor:zoom-in}figcaption{font-size:14px;color:#666;padding-top:8px}.learn{background:#fff;border:1px solid #ddd;border-radius:14px;padding:24px;margin:32px 0}.learn li{margin:10px 0}.error{padding:24px;border:1px solid #ddd}.foot{border-top:1px solid #ddd;margin-top:40px;padding-top:20px;font-size:14px;color:#666}.saved{color:#35664c}dialog{max-width:96vw;max-height:96vh;border:0;padding:12px;background:white;border-radius:12px}dialog::backdrop{background:#000c}dialog img{display:block;max-width:90vw;max-height:80vh;object-fit:contain}dialog button{display:block;margin-left:auto;margin-bottom:8px}a:focus-visible,button:focus-visible{outline:3px solid #697d92;outline-offset:4px}@media(max-width:850px){.grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){main{padding:22px 16px}h1{font-size:32px}.grid{grid-template-columns:1fr}header{align-items:start;font-size:14px}.copy h2{font-size:24px}.learn{padding:18px}.toolbar>*{flex:1;text-align:center}}

nav{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}input,textarea{font:inherit;border:1px solid #ccc;border-radius:8px;padding:12px;width:100%}textarea{min-height:120px}label{display:block;margin:14px 0}#status{min-height:1.8em}.source-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.source{padding:24px;background:#fff;border:1px solid #ddd;border-radius:12px}.source h2{font-size:21px}button:disabled{opacity:.5;cursor:wait}
form.learn>button{margin:6px 10px 0 0}
select{font:inherit;border:1px solid #ccc;border-radius:8px;padding:12px;width:100%;max-width:100%;background:#fff}.learn .toolbar{padding:14px 0;border-bottom:1px solid #eee}.learn .toolbar span{flex:1;min-width:160px;overflow-wrap:anywhere}.learn input[type=file]{padding:10px}button{touch-action:manipulation}
[hidden]{display:none!important}

figcaption{overflow-wrap:anywhere}
