:root{--paper:#faf8f3;--ink:#263e35;--green:#31594b;--line:#dfdfd3;--muted:#657169;--rose:#eee1d9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:15px;line-height:1.8}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:transparent;color:inherit;border:1px solid var(--line);border-radius:8px;padding:8px 16px}button:hover{background:#e9eee7}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b67d55;outline-offset:3px}a{color:inherit}header{max-width:1240px;margin:auto;padding:24px 36px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;line-height:1.5}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500}.brand-mark{display:grid;place-items:center;background:var(--green);color:white;width:39px;height:39px;border-radius:50%;font:30px Georgia,serif}.edition{margin-left:auto;border:1px solid #becbbf;border-radius:30px;padding:3px 12px;font-size:12px}main{max-width:1168px;margin:auto;padding:0 28px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:60px 0 50px}.eyebrow{font-size:12px;letter-spacing:1.7px;color:var(--muted);font-weight:600}h1{font-family:"Yu Mincho",serif;font-weight:500;font-size:48px;letter-spacing:3px;line-height:1.55;margin:18px 0}h2{font-size:24px;font-weight:600;line-height:1.6;margin:8px 0 20px}.intro{color:var(--muted);margin-bottom:26px}.primary{display:inline-flex;justify-content:center;align-items:center;gap:24px;border:0;background:var(--green);color:white;padding:13px 24px;border-radius:7px;text-decoration:none;font-weight:600}.primary:hover{background:#234337}.micro{font-size:11px;color:var(--muted)}.hero-art{position:relative;padding:0 20px 15px 0}.hero-art img{width:100%;display:block;border-radius:48% 48% 8px 8px;aspect-ratio:1;object-fit:cover}.hero-art span{position:absolute;right:0;bottom:0;background:#e7eddf;border:6px solid var(--paper);border-radius:50%;width:120px;height:120px;display:grid;place-content:center;text-align:center;font-size:14px;transform:rotate(7deg)}.steps{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 54px;padding:14px 0;font-size:13px}.steps b{font-family:Georgia,serif;font-size:20px;margin-right:12px;color:#8a9b82}.section-heading{display:flex;align-items:end;justify-content:space-between}.section-heading h2{margin:8px 0 22px}#count{padding-bottom:22px;color:var(--muted)}.categories{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.categories button{border-radius:30px;background:#fffdf8;font-size:13px}.categories button span{margin-left:8px;font-size:11px}.categories .active,#favorites[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.filters{display:flex;align-items:center;gap:12px;margin-bottom:28px}.search{display:flex;align-items:center;gap:14px;flex:1}.search span{font-size:12px;white-space:nowrap}input,select,textarea{border:1px solid #cdd4c9;background:#fffefa;color:var(--ink);border-radius:6px;padding:10px 12px;width:100%;min-width:0}input[type=search]{max-width:400px}.quiet{border:0;text-decoration:underline;text-underline-offset:4px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.card{position:relative;min-width:0}.open-card{text-align:left;width:100%;padding:0;border:0;background:transparent!important}.open-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:#e7e4db;transition:filter .2s}.open-card:hover img{filter:brightness(.95)}.card .tag{display:block;font-size:10px;color:var(--muted);letter-spacing:1px;margin:14px 0 5px}.card h3{margin:0;font-size:15px;font-weight:600;padding-right:18px}.card .use{display:block;font-size:11px;margin-top:8px;color:var(--muted)}.heart{position:absolute;top:10px;right:10px;background:#fffef8ed;border:0;border-radius:50%;width:36px;height:36px;padding:0;font-size:22px;line-height:1}.heart[aria-pressed=true]{color:#a04c4c}.empty{grid-column:1/-1;text-align:center;padding:50px;background:#eee; border-radius:12px}.library-note{font-size:12px;color:var(--muted);margin:32px 0 60px;max-width:780px}.guide{border-top:1px solid var(--line);padding:34px 0 45px}.guide h2{font-family:"Yu Mincho",serif;font-size:24px}.guide>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.guide p{font-size:13px;color:var(--muted)}.guide b{display:inline-block;color:var(--ink);margin-bottom:8px}footer{max-width:1168px;margin:auto;border-top:1px solid var(--line);padding:24px 28px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}dialog{border:0;border-radius:16px;padding:24px;width:min(1000px,94vw);max-height:92vh;overflow:auto;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#162b24aa}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.dialog-top button{border:0;font-size:20px;padding:0 8px}.editor-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:30px}.reference img{width:100%;border-radius:8px}.reference p{font-size:11px;color:var(--muted)}.editor-controls h2{font-size:23px}.editor-controls label{display:block;font-size:13px;margin:12px 0 4px}.editor-controls label input,.editor-controls label select{display:block;margin-top:5px}.editor-controls label small{font-size:10px;font-weight:400;color:var(--muted)}#tip{font-size:12px;color:var(--muted)}textarea{font-size:13px;line-height:1.8;resize:vertical;display:block}#copy{width:100%;margin-top:14px}#toast{position:fixed;z-index:99;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:8px;background:#203e32;color:white;max-width:90vw;width:max-content;font-size:13px}body:has(dialog[open]){overflow:hidden}@media(max-width:720px){header{padding:16px 20px}.hero{gap:20px;padding:32px 0}.hero h1{font-size:32px;letter-spacing:1px}.hero .eyebrow{font-size:10px}.intro{font-size:12px}.hero-art span{display:none}.hero-art{padding:0}.primary{font-size:13px;padding:12px 16px}.steps{font-size:11px;gap:12px;margin-bottom:32px}.steps b{display:block}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.filters{flex-wrap:wrap}.search{flex-basis:100%}.search input{max-width:none}.filters button{font-size:12px}.editor-layout{grid-template-columns:1fr}.reference img{max-height:250px;object-fit:contain}.guide>div{grid-template-columns:1fr;gap:0}footer{display:block}footer span{display:block}.card h3{font-size:13px}.categories{gap:7px}.categories button{padding:7px 12px;font-size:12px}}@media(max-width:420px){main{padding:0 18px}.hero{grid-template-columns:1fr}.hero-art{display:none}h1 br{display:none}.hero h1{font-size:30px}.intro br{display:none}.steps{gap:10px}.steps p{flex:1}.section-heading h2{font-size:20px}.brand{font-size:13px}.edition{font-size:10px}.card .tag{font-size:9px}.editor-controls h2{font-size:21px}dialog{padding:18px}}
.open-card img{height:auto}
