*{box-sizing:border-box}
:root{--pink:#ff70ad;--deep:#d92d82;--blue:#69caff;--line:#ffc6df;--ink:#303544;--muted:#687080;--card:rgba(255,255,255,.95);--yellow:#ffd84d;--shadow:0 14px 34px rgba(255,113,173,.17)}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Hiragino Sans","Yu Gothic",Meiryo,system-ui,sans-serif;color:var(--ink);background:#fff3a6;background-image:linear-gradient(rgba(255,255,255,.43),rgba(255,255,255,.43)),url("../../assets/bg/main-bg.jpg");background-size:cover;background-position:center top;background-attachment:fixed;overflow-x:hidden}
button,input{font:inherit}
.wikiNav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:3px solid var(--line);box-shadow:0 5px 16px rgba(0,0,0,.08)}
.wikiNavIn{max-width:1160px;margin:auto;display:flex;gap:8px;align-items:center;padding:10px 12px}.wikiNavLinks{display:flex;gap:8px;overflow:auto;scrollbar-width:none}.wikiNavLinks::-webkit-scrollbar{display:none}
.wikiNav a{white-space:nowrap;text-decoration:none;color:var(--deep);font-weight:900;border-radius:999px;padding:8px 12px}.wikiNav a.current,.wikiNav a:hover{background:#ffe7f3}
.wikiNavSearch{margin-left:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;flex:0 1 330px;min-width:220px;max-width:330px}.wikiNavSearch input{width:auto;min-width:0;border:2px solid var(--line);border-radius:999px;padding:9px 12px}.wikiNavSearch button{flex:none;min-width:64px;white-space:nowrap;border:0;border-radius:999px;background:var(--pink);color:#fff;font-weight:900;padding:9px 13px;cursor:pointer}
.wrap{max-width:940px;margin:auto;padding:22px 14px 60px}.hero,.panel{background:var(--card);border:3px solid var(--line);border-radius:26px;padding:20px;box-shadow:var(--shadow);margin-bottom:16px}
.badge{display:inline-block;background:#fff0f7;border:2px solid #ffc6df;color:var(--deep);border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:900;margin-bottom:8px}
h1{margin:0 0 10px;color:var(--deep);font-size:clamp(1.85rem,5vw,2.65rem);line-height:1.2;word-break:keep-all;overflow-wrap:normal}h2{margin:0 0 12px;color:var(--deep);font-size:1.25rem}.hero>p{margin:0;color:#5b6270;line-height:1.75;font-weight:700}
.formula{margin-top:16px;padding:15px 18px;background:linear-gradient(135deg,#fff9df,#fff);border:2px solid #f3cd58;border-radius:18px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:clamp(1rem,3.2vw,1.35rem);font-weight:900;overflow-wrap:anywhere}.formula b{color:var(--deep)}
.field{display:block}.field>span{display:block;font-weight:900;color:#454b59;margin-bottom:7px}.field input{width:100%;border:3px solid #bee8ff;border-radius:18px;background:#fff;padding:15px 16px;font-size:clamp(1.1rem,4vw,1.45rem);font-weight:900;color:#2f3542;outline:none}.field input:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(255,112,173,.13)}
.presets{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.presets button{border:2px solid #bee8ff;background:#f3fbff;border-radius:999px;padding:7px 11px;color:#24739b;font-weight:900;cursor:pointer}.presets button:hover{background:#dff5ff}
.calcBtn{width:100%;border:0;border-radius:18px;padding:15px 18px;background:linear-gradient(135deg,var(--pink),var(--blue));color:#fff;font-size:1.08rem;font-weight:900;cursor:pointer;box-shadow:0 9px 19px rgba(217,45,130,.23)}.calcBtn:active{transform:translateY(1px)}
.errorBox{margin:14px 0 0;padding:12px 14px;border:2px solid #ff9e9e;background:#fff0f0;color:#b52020;border-radius:15px;font-weight:900}
.resultPanel{position:relative;overflow:hidden}.resultPanel:before{content:"";position:absolute;right:-70px;top:-85px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(105,202,255,.23),transparent 68%);pointer-events:none}.resultLabel{position:relative;margin:0;text-align:center;color:#616878;font-weight:900}.bigResult{position:relative;display:flex;align-items:baseline;justify-content:center;gap:10px;flex-wrap:wrap;margin:7px 0 17px}.bigResult strong{color:var(--deep);font-size:clamp(2.7rem,10vw,5.7rem);line-height:1;overflow-wrap:anywhere}.bigResult span{font-size:1.15rem;font-weight:900}.scoreBig strong{font-size:clamp(2rem,7vw,4.2rem)}
.scoreCompact{position:relative;margin:-8px 0 18px;text-align:center;color:var(--muted);font-size:.9rem;font-weight:900;letter-spacing:.02em}
.resultGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.resultGrid>div{background:#fff;border:2px solid #bee8ff;border-radius:17px;padding:11px;text-align:center;min-width:0}.resultGrid span{display:block;color:var(--muted);font-size:.82rem;font-weight:800;margin-bottom:4px}.resultGrid b{display:block;color:#2f617c;font-size:1.06rem;overflow-wrap:anywhere}.twoCol{grid-template-columns:repeat(2,minmax(0,1fr))}
.steps{margin-top:16px;background:#fffbe6;border:2px dashed #f0bd35;border-radius:18px;padding:14px}.steps h2{font-size:1.05rem}.steps p{margin:7px 0;line-height:1.65;overflow-wrap:anywhere}.copyBtn{display:block;margin:14px auto 0;border:2px solid var(--line);background:#fff;color:var(--deep);border-radius:999px;padding:9px 16px;font-weight:900;cursor:pointer}.copyBtn.copied{background:#eafbea;color:#23833b;border-color:#90daa0}
.infoPanel ul{margin:0;padding-left:1.35rem;line-height:1.8}.infoPanel li+li{margin-top:4px}
[hidden]{display:none!important}
@media(max-width:760px){
body{background-attachment:scroll;background-size:auto 100%}
.wikiNavIn{display:block;padding:8px 10px}
.wikiNavLinks{width:100%;gap:5px;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.wikiNav a{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;font-size:14px;line-height:1.2}
.wikiNavSearch{width:100%;max-width:none;min-width:0;margin:5px 0 0;grid-template-columns:minmax(0,1fr) 68px}
.wikiNavSearch input{height:44px;padding:8px 14px}
.wikiNavSearch button{height:44px;min-width:68px;padding:8px 12px;line-height:1;writing-mode:horizontal-tb}
.wrap{padding:14px max(12px,env(safe-area-inset-left)) 48px max(12px,env(safe-area-inset-right))}
.hero,.panel{padding:16px;border-radius:21px}
h1{font-size:28px;line-height:1.25;letter-spacing:0;word-break:keep-all}
.hero>p{font-size:15px;line-height:1.7}
.resultGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.twoCol{grid-template-columns:1fr}
.formula{padding:13px 10px;font-size:15px;gap:7px}
.bigResult strong{font-size:clamp(2.35rem,15vw,4.5rem)}
}
@media(max-width:360px){h1{font-size:25px}.wikiNav a{padding:7px 9px;font-size:13px}.formula{font-size:14px}.resultGrid{grid-template-columns:1fr}}
