:root{--bg:#f9f9f9;--surface:#f1f1f1;--line:#aeaeae;--text:#171717;--note:#5c5c5c;--muted:#fbfbfb;--accent:#005aff;--alert:#ff0000;--max:42rem}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;line-height:1.9;font-size:16px;-webkit-font-smoothing:antialiased}main{max-width:var(--max);margin:0 auto;padding:3rem 1.25rem 5rem}h1{font-size:1.6rem;letter-spacing:.08em;margin:0 0 .4rem;font-weight:600}.brand-title{--brand-icon-w:1.25em;--brand-icon-stroke:1.25px;display:flex;align-items:center;gap:.5rem}.brand-title .brand-icon{width:var(--brand-icon-w);height:calc(var(--brand-icon-w) * 267 / 286);margin-top:calc(var(--brand-icon-w) * -.1);flex-shrink:0;overflow:visible;stroke-width:var(--brand-icon-stroke)}h2{font-size:1.05rem;margin:2.6rem 0 1rem;border-bottom:1px solid var(--line)}h2,h3{letter-spacing:.06em;font-weight:600}h3{font-size:1rem;margin:1rem 0}p{margin:0 0 1.2rem}.tagline{color:var(--accent);letter-spacing:.14em;font-size:.82rem;text-transform:uppercase;margin:0 0 2.4rem}.lead{color:var(--text);margin-bottom:2.6rem}.form{margin:0 auto;background:var(--surface);padding:2.4rem 2.2rem;border-radius:8px}.field{margin-bottom:1.8rem}.field>label{display:block;font-size:.9rem;margin-bottom:.5rem}.badge{font-size:.68rem;letter-spacing:.08em;padding:.1rem .45rem;border:1px solid var(--accent);border-radius:3px;color:var(--accent);margin-left:.5rem;vertical-align:.1rem}.row{display:flex;gap:.5rem}input[type=date],input[type=number],input[type=time],select{width:100%;padding:.7rem .8rem;background:var(--muted);border:1px solid var(--line);border-radius:4px;color:var(--text);font-size:1rem;font-family:inherit}input:focus,select:focus{outline:1px solid var(--accent)}.hint{color:var(--note)}.hint,.intro{font-size:.8rem;margin-top:.45rem;line-height:1.7}.intro{color:var(--text)}.check{display:flex;align-items:center;gap:.5rem;margin-top:.6rem;font-size:.88rem}.check input{width:auto}button[type=submit]{display:inline-block;padding:.75rem 1.6rem;margin-top:1rem;background:var(--accent);color:#fff;border:0;border-radius:999px;font-size:1rem;font-weight:600;letter-spacing:.06em;font-family:inherit;cursor:pointer}button[type=submit]:disabled{opacity:.5;cursor:default}button[type=submit].center{display:block;margin-left:auto;margin-right:auto}.error{color:var(--alert);font-size:.88rem;margin-top:1rem}.oneline{font-size:1.3rem;line-height:1.8;margin:1.2rem 0 0}.archetype-name{color:var(--accent);font-size:.9rem;letter-spacing:.06em}.body-text{white-space:pre-wrap}.note{font-size:.84rem;background:var(--surface);padding:.9rem 1rem;margin:1.6rem 0;line-height:1.8}.locked,.note{color:var(--text);border-radius:8px}.locked{margin-top:3rem;padding:2rem 1.4rem;text-align:center;border:1px solid var(--line)}.locked h2{margin-top:0}.locked .locked-lead{font-size:.88rem;line-height:1.9;margin-bottom:1.2rem}.locked .items{font-size:.85rem;font-weight:600;color:var(--text);line-height:2}.traits{margin:.6rem 0 1.2rem;padding-left:1.2rem}.traits li{margin-bottom:.5rem}.note .traits{margin:.6rem 0}.roles{margin:.6rem 0 1.6rem}.roles>div{margin-bottom:1rem;padding-left:.9rem;border-left:2px solid var(--line)}.roles dt{font-weight:600;margin-bottom:.25rem}.roles dd{margin:0;color:var(--note);font-size:.92rem;line-height:1.85}.keywords{display:flex;flex-wrap:wrap;gap:.5rem}.keywords span{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:.25rem .9rem;font-size:.88rem}.symbol{margin-top:2rem;padding-left:1rem;border-left:2px solid var(--accent)}.locked .tagline{margin:1.6rem 0 .8rem}.locked .prepare{font-size:.85rem;color:var(--text);margin:0}.compat-cta{margin-top:2.5rem;padding:1.5rem 1.2rem;text-align:center}.compat-cta .intro{margin:0 0 1rem}.secondary-btn{display:inline-block;padding:.75rem 1.6rem;border:1px solid var(--accent);border-radius:999px;color:var(--accent);text-decoration:none;font-size:.95rem;letter-spacing:.04em}.disclaimer{margin-top:4rem;padding-top:1.6rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--text);line-height:1.9}footer{max-width:var(--max);margin:0 auto;padding:0 1.25rem 3rem;font-size:.78rem;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}footer a{color:var(--text);margin-right:1.2rem}a{color:var(--accent)}.back{display:inline-block;margin-top:2.5rem;font-size:.85rem}