/* Shared visual language with the Niwatoko Lab homepage. */
:root,.dark{--background:#faf9f5;--foreground:#281632;--card:#fffdf8;--primary:#281632;--primary-foreground:#faf9f5;--secondary:#edebf4;--muted:#efedf0;--muted-foreground:#706575;--accent:#c4e87b;--border:#c8c1cc;--ring:#7c4d95;--radius:10px;color-scheme:light}
body{color:#281632;background-color:#faf9f5;background-image:linear-gradient(#28163208 1px,transparent 1px),linear-gradient(90deg,#28163208 1px,transparent 1px);background-size:22px 22px;font-family:'Yu Gothic',YuGothic,'Hiragino Kaku Gothic ProN',Meiryo,system-ui,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}
.page{background:none;padding:0 16px}.page .game-shell{max-width:680px;min-height:100dvh;background:#faf9f5;background-image:none;border:0;border-inline:1px solid #28163212;box-shadow:none;padding:28px 32px 100px}.en-page .game-shell{max-width:680px}
.page .topbar{border:0;border-bottom:1px solid #c8c1cc;padding-bottom:20px;gap:14px}.page .mini-logo{font-size:22px;letter-spacing:.025em;line-height:1.5;white-space:normal;font-weight:850}.home-logo{text-decoration:none}.page .lab-link,.page .topbar>a{font-size:12px;color:#706575}.head-button{border-radius:50%;border:1px solid #c8c1cc;background:transparent;box-shadow:none;color:#281632}
.page .language-switch{margin:16px 0 26px;gap:6px}.page .language-switch button{border:1px solid #c8c1cc;border-radius:6px;font-size:12px;padding:7px 12px;background:transparent}.page .language-switch button[aria-pressed=true]{background:#281632;border-color:#281632;color:#faf9f5}
.page .site-intro{margin:24px 0 30px}.page .site-intro .site-intro-lead{font-size:clamp(26px,6.8vw,36px);font-weight:850;letter-spacing:0;line-height:1.6;margin-bottom:20px}.site-intro-lead span,.field-marker{background:linear-gradient(transparent 72%,#c4e87b 72%,#c4e87b 94%,transparent 94%);box-decoration-break:clone;-webkit-box-decoration-break:clone}.page .site-intro>p:not(.site-intro-lead){font-size:14px;line-height:1.95;color:#706575;margin-top:12px}.field-eyebrow{font:10px/1.6 monospace;letter-spacing:.2em;margin-bottom:16px}.field-demo{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-underline-offset:5px;font-weight:700}
.page .paper,.page .intro-card,.page .en-catalog .paper{background:#fffdf8;border:1px solid #c8c1cc;box-shadow:none;border-radius:12px}.page .paper{padding:22px}.page .entrance{background:#eaf0e3;margin:0 0 32px;padding:24px}.page .entrance h2{font-size:21px;font-weight:800;line-height:1.6;letter-spacing:0;margin-bottom:20px}.page .entrance .fine{margin-top:14px}.page .helper,.page .fine{color:#706575}.page .fine{font-size:12px;line-height:1.8}
.page .primary,.page .outline-button{border:1px solid #281632;border-radius:8px;box-shadow:none;min-height:48px;padding:12px 16px;font-weight:750;letter-spacing:0}.page .primary{background:#281632;color:#fffdf8}.page .outline-button{background:#fffdf8;color:#281632}.page .primary:hover:not(:disabled){background:#493354}.page button:active:not(:disabled){transform:translateY(1px);box-shadow:none}.page input:not([type=radio]):not([type=checkbox]),.page textarea,.page select{border:1px solid #b7aebb;border-radius:8px;background:#fffdf8;color:#281632;font:inherit;min-height:46px}.page [role=tablist]{border:1px solid #b7aebb;border-radius:8px;background:#f8faf3;overflow:hidden}.page [role=tab]{border-radius:6px;color:#281632}.page [role=tab][data-state=active]{background:#281632;color:#fffdf8}
.page .badge{border:1px solid #c8c1cc;background:#f2efed;color:#493c51;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:650}.page .small-title{font-size:clamp(25px,6vw,32px);letter-spacing:0;line-height:1.5;margin-block:24px}.page h1 span{-webkit-text-stroke:0}.page .catalog-label{font-size:12px;letter-spacing:.08em;color:#706575;margin:24px 0 12px}.page .intro-card:has(>.catalog-art){border-radius:12px;box-shadow:none}.page .intro-card>.catalog-art{border-radius:11px 11px 0 0}.page .catalog-description,.page .catalog-summary{padding:14px 18px}.page .catalog-description{gap:10px;align-items:center}.page .catalog-description p,.page .catalog-summary p{font-size:13px;line-height:1.9}.page .catalog-summary{border-top:1px solid #e6e0e9;background:transparent}.page .catalog-guide{color:#493c51;font-size:12px;min-height:44px;padding:12px 4px;text-underline-offset:5px;margin-bottom:20px}.page .game-descriptions{margin-top:34px}.page .game-descriptions h2{line-height:1.7}.page .game-descriptions article{border-color:#e0dbe3}.page .create-room-fab{border:1px solid #281632;border-radius:30px;background:#281632;color:#fffdf8;box-shadow:0 4px 16px #28163220;font-size:14px}
.page .invite,.page .waiting,.page .turn-band{background:#edebf4;border:1px solid #c8c1cc;border-radius:10px;box-shadow:none;color:#281632}.page .member{border:1px solid #d9d2dd;border-radius:10px;background:#fffdf8;box-shadow:none}.page .member.current{border-color:#776681;background:#f1f5e7}.page .avatar{border:1px solid #776681;border-radius:50%;color:#281632}.page .comic-panel{border:1px solid #b7aebb;border-radius:10px;box-shadow:none;background:#eaf0e3;transform:none}.page .comic-panel.two{background:#edebf4}.page .comic-panel.three{background:#f3e9df}.page .comic-panel h2{letter-spacing:0}.page .panel-label{font-size:11px;color:#706575}.page .en-topics section{background:#eaf0e3;border:1px solid #c8c1cc;border-radius:10px}.page .best3-topic{background:#eaf0e3}.page .best3-option{border-width:1px;box-shadow:none}.page .best3-option[aria-pressed=true],.page .detective button[aria-pressed=true]{background:#e2edca;border-color:#6d8054;box-shadow:none}.page .info-links{border-color:#c8c1cc;gap:12px;flex-wrap:wrap}.page footer{margin-top:32px;font-size:12px;color:#706575}.page .text-button{text-underline-offset:4px}.page :focus-visible{outline:3px solid #7c4d95;outline-offset:4px}
/* Static guides, contact and policy pages use the same paper and typography. */
body>main:not(.page){max-width:760px;background:#faf9f5;border:1px solid #e2dce5;border-radius:0;box-shadow:none;margin:0 auto;min-height:100vh;padding:28px 30px;color:#281632}body>main:not(.page)>header{border-bottom:1px solid #c8c1cc;font-size:13px;padding-bottom:20px}body>main:not(.page)>h1{font-size:clamp(25px,6vw,34px);line-height:1.6;letter-spacing:0}body>main:not(.page) h2{font-size:21px;line-height:1.7}body>main:not(.page) .back{background:#281632;color:#fffdf8;border:1px solid #281632;border-radius:8px;padding:12px 18px}body>main:not(.page) .game-links{border-color:#c8c1cc;border-radius:10px}body>main:not(.page) .game-hero{border-radius:10px}body>main:not(.page) footer{border-color:#c8c1cc}body>main:not(.page) a{text-underline-offset:4px}
@media(max-width:600px){.page{padding:0}.page .game-shell{padding:22px 20px 100px;border:0}.page .topbar{gap:8px}.page .mini-logo{font-size:20px}.page .paper{padding:19px}.page .entrance{padding:20px}.page .site-intro .site-intro-lead{font-size:29px}.page .site-intro>p:not(.site-intro-lead){font-size:13px}.page .language-switch{margin-bottom:20px}body>main:not(.page){padding:22px 20px;border:0}.page .create-room-fab{bottom:calc(18px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.page *{scroll-behavior:auto!important;transition:none!important}}
