:root{--bg: #fffdf9;--bg-deep: #faf3ea;--surface: #ffffff;--surface-2: #fdf7ef;--line: #f0e2d0;--text: #4d4046;--text-soft: #705f60;--text-dim: #a5968f;--gold: #9c7c2c;--gold-soft: #b3944e;--gold-pale: #e9d9ae;--lav: #e8a06a;--cta: #e8794f;--cta-deep: #d55f38;--peach: #f6b78d;--peach-pale: #fbe8d6;--grad-banner: linear-gradient(135deg, #f6a55c 0%, #e8794f 55%, #d55338 100%);--shadow-soft: 0 2px 14px rgba(120, 82, 52, .08);--shadow-lift: 0 10px 30px rgba(120, 82, 52, .14);--font-display: "Shippori Mincho", "Hiragino Mincho ProN", serif;--font-body: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;--radius: 16px;--maxw: 1060px;--maxw-narrow: 740px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:#f1ede7;color:var(--text);line-height:1.85;font-size:15px;-webkit-font-smoothing:antialiased}.app{max-width:520px;margin:0 auto;min-height:100vh;background:#fff;box-shadow:0 0 32px #78523414;display:flex;flex-direction:column}.app>main{flex:1}.app-header{display:grid;place-items:center;padding:12px 16px 10px;background:#fff}.app-logo{font-family:var(--font-display);font-size:23px;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:.06em}.app-logo .moon{color:var(--cta);margin-right:5px}.tabnav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:26px;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);font-size:13.5px;overflow-x:auto;scrollbar-width:none}.tabnav::-webkit-scrollbar{display:none}.tabnav a{color:var(--text-soft);text-decoration:none;padding:10px 2px 9px;border-bottom:2.5px solid transparent;white-space:nowrap;flex-shrink:0;font-weight:500}.tabnav a.on{color:var(--cta-deep);border-bottom-color:var(--cta);font-weight:700}.tabnav a:hover{color:var(--cta-deep)}h1,h2,h3,.display{font-family:var(--font-display);font-weight:600;letter-spacing:.04em}a{color:var(--gold);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s}a:hover{color:var(--cta-deep)}img{max-width:100%;height:auto}::selection{background:var(--gold-pale);color:var(--text)}:focus-visible{outline:2px solid var(--cta);outline-offset:2px;border-radius:4px}.wrap{margin:0 auto;padding:0 16px;width:100%;box-sizing:border-box}.pr-note{background:var(--bg-deep);color:var(--text-dim);font-size:11px;text-align:center;padding:4px 8px;letter-spacing:.06em}.site-header{position:sticky;top:0;z-index:20;padding:14px 0 12px;background:#fffdf9e0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.logo{font-family:var(--font-display);font-size:25px;color:var(--text);text-decoration:none}.logo .moon{color:var(--gold-soft);margin-right:6px}.logo small{display:block;font-size:10px;color:var(--text-dim);letter-spacing:.3em;font-family:var(--font-body)}.gnav{display:flex;gap:18px;font-size:13px}.gnav a{color:var(--text-soft);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent}.gnav a:hover{color:var(--gold);border-bottom-color:var(--gold-pale)}.site-footer{margin-top:90px;border-top:1px solid var(--line);background:linear-gradient(180deg,transparent,rgba(251,232,214,.45));padding:40px 0 52px;font-size:12px;color:var(--text-dim)}.site-footer nav{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px}.foot-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin-bottom:20px}.foot-col{display:grid;gap:7px;align-content:start}.foot-col .foot-h{font-weight:700;color:var(--gold);font-size:12px;letter-spacing:.1em;margin-bottom:2px}.foot-col a{color:var(--text-dim);text-decoration:none;font-size:12.5px}.foot-col a:hover{color:var(--cta-deep)}@media(min-width:900px){.foot-cols{grid-template-columns:1fr 1fr 1fr}}.site-footer a{color:var(--text-dim)}.site-footer a:hover{color:var(--gold)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;box-shadow:var(--shadow-soft)}.btn-cta{display:block;text-align:center;background:linear-gradient(180deg,var(--cta),var(--cta-deep));color:#fff;font-weight:700;text-decoration:none;border-radius:999px;padding:15px 24px;font-size:15px;letter-spacing:.04em;box-shadow:0 8px 22px #d55f3847,inset 0 1px #ffffff59;transition:transform .15s ease,box-shadow .15s ease}.btn-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px #d55f3861,inset 0 1px #ffffff59;color:#fff}.btn-ghost{display:inline-block;border:1px solid var(--gold-soft);color:var(--gold);background:var(--surface);border-radius:999px;padding:11px 24px;font-size:14px;text-decoration:none;transition:background .15s,box-shadow .15s}.btn-ghost:hover{background:#fffdf6;box-shadow:var(--shadow-soft)}.service-card{display:grid;gap:10px}.service-card h3{color:var(--text);font-size:18px}.service-card .tagline{color:var(--text-soft);font-size:14px}.service-card ul{list-style:none;font-size:13.5px;color:var(--text-soft)}.service-card ul li:before{content:"☾ ";color:var(--gold-soft)}.service-card .note{font-size:11px;color:var(--text-dim)}.badge{display:inline-block;font-size:11px;border:1px solid var(--gold-pale);background:linear-gradient(180deg,#fffdf6,#faf4e4);color:var(--gold);border-radius:999px;padding:3px 12px;letter-spacing:.08em}.sec-title{position:relative}.sec-title:before{content:"☾ ";color:var(--gold-soft);font-size:.85em}.prose{max-width:var(--maxw-narrow);margin-inline:auto}.prose h1{font-size:26px;line-height:1.5;margin:8px 0 16px}.prose h2{font-size:20px;margin:46px 0 14px;padding:9px 0 9px 15px;border-left:3px solid var(--gold-soft);background:linear-gradient(90deg,rgba(179,148,78,.08),transparent);border-radius:0 8px 8px 0}.prose h3{font-size:17px;margin:28px 0 10px;color:var(--gold)}.prose p{margin:14px 0;color:var(--text-soft)}.prose li{margin:6px 0 6px 1.2em;color:var(--text-soft)}.prose strong{color:var(--text)}.prose blockquote{border-left:3px solid var(--line);padding-left:14px;color:var(--text-dim);margin:16px 0}.prose .table-scroll,.prose table{margin:18px 0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px;background:var(--surface)}th,td{border:1px solid var(--line);padding:9px 12px;text-align:left}th{background:var(--surface-2);color:var(--gold);white-space:nowrap}td{color:var(--text-soft)}.quiz-progress{height:6px;background:var(--bg-deep);border-radius:999px;overflow:hidden;margin:18px 0}.quiz-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-soft),var(--cta));border-radius:999px;transition:width .3s ease}.quiz-q{font-family:var(--font-display);font-size:19px;margin:18px 0 20px;min-height:3em}.quiz-opts{display:grid;gap:12px}.quiz-opt{background:var(--surface);border:1px solid var(--line);color:var(--text-soft);border-radius:14px;padding:15px 18px;font-size:15px;font-family:var(--font-body);text-align:left;cursor:pointer;box-shadow:var(--shadow-soft);transition:border-color .15s,transform .15s,box-shadow .15s}.quiz-opt:hover{border-color:var(--gold-soft);background:#fffdf6;transform:translate(4px);box-shadow:var(--shadow-lift);color:var(--text)}.sign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:20px 0}.sign-card{text-align:center;padding:16px 10px}.sign-card .glyph{font-size:26px;color:var(--cta);display:block}.sign-card .rank{font-size:11px;color:var(--text-dim)}.sign-card .name{font-family:var(--font-display)}.stars{color:var(--gold-soft);letter-spacing:2px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.rise{animation:rise .7s ease both}.rise-2{animation:rise .7s .15s ease both}.rise-3{animation:rise .7s .3s ease both}@media(prefers-reduced-motion:reduce){.rise,.rise-2,.rise-3{animation:none}}@media(max-width:600px){body{font-size:15px}.gnav{gap:14px;font-size:12px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;padding-bottom:2px}.gnav::-webkit-scrollbar{display:none}.gnav a{white-space:nowrap;flex-shrink:0}.logo{font-size:22px}}@media(min-width:900px){.app{max-width:1040px}.app>main.wrap{padding:0 48px}.tabnav{gap:40px;font-size:14.5px}.app-logo{font-size:26px}.sign-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:900px){.kumi-form,.kumi-result,.su-form,.su-result,.ask-form,.ask-done,.hm-form,.hm-result,.chat-card,#result .result-block,.quiz-progress,.quiz-q,.quiz-opts{max-width:640px;margin-inline:auto}}
