:root{--bg:#f5f4ee;--surface:#fffefa;--text:#22251f;--muted:#666960;--line:#d9dbd1;--accent:#d2ed7b;--radius:18px;font-family:Inter,"Segoe UI","Noto Sans JP",system-ui,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #487021;outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}p{color:var(--muted)}.container{width:min(1160px,calc(100% - 80px));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.nav-row{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:25px;letter-spacing:-1.3px;font-weight:800}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--text);color:var(--accent);font-size:27px;line-height:1;padding-bottom:7px;letter-spacing:-3px;padding-right:3px}.brand-dot{font-size:8px;color:#658626;align-self:flex-start;margin-top:11px;margin-left:-7px}.nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}.nav>a{padding:12px 0}.nav a:hover,.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.lang-switch{display:flex;gap:2px;border:1px solid var(--line);border-radius:8px;padding:3px;font-size:11px}.lang-switch a{padding:6px 10px;border-radius:5px;color:var(--muted)}.lang-switch [aria-current],.lang-switch .active{background:var(--text);color:white}.skip-link{position:fixed;top:-100px;left:16px;background:var(--text);color:white;padding:12px;z-index:99}.skip-link:focus-visible{top:12px}
.directory-hero{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:70px 0 55px}.eyebrow{font:600 11px/1.5 ui-monospace,monospace;letter-spacing:2px;color:var(--muted);margin-bottom:24px;display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:#699735}.directory-hero h1{font-size:clamp(42px,5.1vw,70px);font-weight:650;margin:0 0 24px}.hero-description{font-size:16px;line-height:1.8;margin-bottom:0}.hero-stamp{width:142px;height:142px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(12deg);margin-right:24px;background:var(--accent)}.hero-stamp span{font:10px ui-monospace,monospace;letter-spacing:2px}.hero-stamp b{font-size:66px;line-height:1.2;font-weight:400}.collection-nav{display:flex;align-items:center;gap:35px;padding:22px 0;border-block:1px solid var(--line);font-size:12px;color:var(--muted)}.collection-nav>div{display:flex;gap:10px}.collection-nav a{display:block;padding:8px 18px;border-radius:24px;background:#e9eadf;color:var(--text);font-weight:600}.collection-nav a:hover{background:var(--accent)}sup{font-size:9px;margin-left:7px;color:var(--muted)}.collection-note{margin-left:auto;font:11px ui-monospace,monospace}.product-section{padding-top:48px;scroll-margin-top:12px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:24px}.section-heading>div{display:flex;align-items:center;gap:17px}.section-number{font:12px ui-monospace,monospace;color:#74786d}.section-heading h1,.section-heading h2{font-size:32px;font-weight:600;margin:0}.count{vertical-align:top;font:10px ui-monospace,monospace;color:var(--muted);margin-left:10px}.section-heading p{font-size:13px;margin:0}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.product-card{min-width:0}.product-art{height:272px;border-radius:14px;overflow:hidden;position:relative;display:grid;place-items:center;isolation:isolate}.diff-art{background:#e3e9dc}.studio-art{background:#eee1d7}.art-corner{position:absolute;right:14px;top:14px;width:32px;height:32px;border-radius:50%;background:#ffffffa8;display:grid;place-items:center;font-size:19px;transition:transform .2s}.product-art:hover .art-corner{transform:rotate(45deg)}.mock-window{width:70%;background:#fffefa;box-shadow:0 14px 24px #33432615;border:1px solid #c6cfbc;border-radius:9px;transform:rotate(-4deg);position:relative}.mock-toolbar{display:flex;align-items:center;gap:9px;padding:12px 16px;border-bottom:1px solid #e0e2d7;font-size:10px;font-weight:650}.mini-mark{font-size:15px}.mock-toolbar i{font-size:6px;letter-spacing:3px;margin-left:auto;color:#bdc7af}.diff-sheet{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 17px 26px}.diff-sheet>div+div{border-left:1px solid #eee;padding-left:14px}.diff-sheet small{font:7px ui-monospace,monospace;letter-spacing:1px;color:#8b8d84}.line{display:block;height:6px;border-radius:2px;margin-top:10px;width:95%;background:#e4e4dc}.line.medium{width:72%}.line.short{width:45%}.line.removed{background:#eec2b5;width:83%}.line.added{background:#c6dc9b}.diff-badge{position:absolute;right:-25px;bottom:-14px;font:10px ui-monospace,monospace;background:var(--accent);padding:10px 17px;box-shadow:0 3px 5px #0000000a;transform:rotate(7deg);border-radius:5px}.motion-board{width:71%;background:#fff9f1;border:1px solid #d2b9a6;border-radius:9px;transform:rotate(4deg);box-shadow:0 14px 24px #684a3414}.motion-header{display:flex;justify-content:space-between;font-size:9px;padding:11px 15px;border-bottom:1px solid #e5d7c9}.motion-header span+span{font-size:7px;color:#b25c40}.motion-scene{height:132px;position:relative;background-image:radial-gradient(#d8c4ad 1px,transparent 1px);background-size:13px 13px;margin:0 12px}.shape-one{position:absolute;width:68px;height:68px;border-radius:50%;background:#ef936d;left:22%;top:27px}.shape-two{position:absolute;width:64px;height:64px;border-radius:10px;background:#665f89;left:48%;top:32px;transform:rotate(20deg)}.shape-three{position:absolute;width:29px;height:29px;border:7px solid #b0c488;border-radius:50%;left:67%;top:70px}.motion-cross{position:absolute;left:15%;top:66px;font-size:28px;color:#bbab93}.timeline{display:flex;align-items:center;gap:7px;padding:11px 12px;border-top:1px solid #e5d7c9}.timeline span{font:8px ui-monospace,monospace}.timeline i{height:10px;background:#e5b596;flex:1;border-radius:2px}.timeline i:nth-of-type(3){background:#ba9ec8}.timeline b{font-size:10px;color:#735d4e}.product-info{padding:22px 2px 10px}.product-meta{display:flex;justify-content:space-between;font:9px ui-monospace,monospace;letter-spacing:1.5px;color:var(--muted);margin-bottom:13px}.product-info h3{font-size:29px;font-weight:600;margin:0 0 12px}.product-info h3 a{display:flex;justify-content:space-between}.product-info h3 span{font-size:22px}.product-info p{font-size:14px;max-width:440px;min-height:47px;margin-bottom:19px}.product-links{display:flex;gap:24px;align-items:center;font-size:12px;font-weight:600}.product-links a{border-bottom:1px solid var(--text);padding-bottom:3px}.product-links span{margin-left:20px}.product-links .subtle{font-weight:400;color:var(--muted);border-color:var(--line)}.games-section{padding-bottom:46px}.game-feature{display:grid;grid-template-columns:1.15fr 1fr;background:#202c2e;color:#f5f7ef;border-radius:16px;overflow:hidden}.game-cover{position:relative;align-self:stretch;display:flex;align-items:center;background:#102330;overflow:hidden}.game-cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.game-cover:hover img{transform:scale(1.025)}.game-art-label{position:absolute;left:20px;bottom:15px;color:#d8e9d5;font:9px ui-monospace,monospace;letter-spacing:1px;background:#13212ae6;padding:6px 10px;border-radius:4px}.game-feature-info{padding:36px 38px}.tag{display:inline-block;border:1px solid #ffffff30;color:#d2ed7b;padding:4px 9px;border-radius:4px;font:9px ui-monospace,monospace;letter-spacing:.7px;margin-bottom:20px}.game-feature h2,.game-feature h3{font-size:42px;margin-bottom:18px}.game-feature h2 span,.game-feature h3 span{display:block;font-size:18px;font-weight:400;letter-spacing:0;margin-top:6px;color:#becbc5}.game-feature p{color:#becbc5;font-size:14px;margin-bottom:18px}.game-facts{display:flex;flex-wrap:wrap;gap:8px 16px;color:#bdcac4;font:10px ui-monospace,monospace;margin-bottom:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:13px 23px;border-radius:7px;font-weight:600;font-size:13px;min-height:48px;transition:background .2s,transform .2s}.btn.primary{background:var(--accent);color:#243016}.btn:hover{background:#c1df69;transform:translateY(-2px)}.btn.tertiary,.btn.secondary{border:1px solid var(--line)}.end-note{border-top:1px solid var(--line);display:flex;align-items:center;gap:15px;padding:24px 0 46px}.end-note>span{font-size:32px;color:#738455}.end-note p{font-size:13px;margin:0}.end-note a{font-size:11px;color:var(--muted);margin-left:auto}.site-footer{border-top:1px solid var(--line);padding:32px 0}.footer-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.footer-brand{font-size:22px;font-weight:750;letter-spacing:-1px}.footer-brand span{color:#87a34d}.footer-row p{font-size:11px;margin:0}.footer-links{display:flex;gap:20px;margin-left:auto;font-size:11px;color:var(--muted)}.footer-row small{font-size:10px;color:var(--muted)}
.breadcrumbs{display:flex;gap:12px;font-size:11px;color:var(--muted);padding:25px 0}.breadcrumbs a:hover{text-decoration:underline}.game-intro{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:50px;padding:30px 0 55px}.game-intro h1{font-size:64px;margin:0 0 22px}.game-intro h1 span{display:block;font-size:24px;letter-spacing:-.5px;font-weight:400;margin-top:6px}.game-intro .eyebrow{font-size:10px}.game-hook{font-size:21px;color:var(--text);margin-bottom:12px}.game-description{font-size:14px}.intro-cover{border-radius:14px;box-shadow:15px 15px 0 #e1e4d6}.play-note{font-size:11px;margin:10px 0 0}.detail-facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:25px 0}.detail-facts>div{display:flex;flex-direction:column;align-items:center;gap:5px;border-right:1px solid var(--line)}.detail-facts>div:last-child{border:0}.detail-facts b{font-size:26px;letter-spacing:-1px;font-weight:600}.detail-facts span{font-size:11px;color:var(--muted)}.game-details{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;padding:65px 0}.game-details h2{font-size:36px}.instructions article{display:flex;gap:24px;padding:0 0 24px;margin-bottom:22px;border-bottom:1px solid var(--line)}.instructions article:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.instructions article>span{font:11px ui-monospace,monospace;padding-top:5px;color:#6b813d}.instructions h3{font-size:20px;margin-bottom:9px;letter-spacing:-.02em}.instructions p{font-size:14px;margin:0}.controls-panel{display:grid;grid-template-columns:1fr 1fr;gap:55px;background:#e7eadf;padding:35px;border-radius:12px}.controls-panel h2{font-size:26px}.controls-panel h3{font-size:15px;margin-bottom:6px;letter-spacing:0}.controls-panel p{font-size:14px}.controls-panel p:last-child{margin:0}.faq-section{padding:60px 0;max-width:780px;margin:auto}.faq-section h2{font-size:30px;margin-bottom:30px}.faq-section details{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 0;font-size:15px;font-weight:600;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:22px;font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;padding-bottom:15px;max-width:660px}.play-again{border-top:1px solid var(--line);padding:35px 0 55px;display:flex;justify-content:space-between;align-items:center}.play-again p{font-size:27px;font-weight:600;color:var(--text);margin:0}
/* Existing guides and policy pages share the new site shell. */
.page-hero{padding:55px 0 25px}.page-hero h1{font-size:clamp(32px,5vw,52px)}.content{padding-bottom:60px}.content>.container{max-width:850px}.content section{margin-bottom:35px}.content h2{font-size:24px}.content h3{font-size:18px}.content a:not(.btn){text-decoration:underline;text-underline-offset:3px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.card{border:1px solid var(--line);border-radius:12px;padding:22px;background:var(--surface)}.card .tag{color:#486329;border-color:var(--line)}.callout{background:#e7eadf;padding:20px 25px;border-radius:10px}.callout p{margin:0}.cta-row{display:flex;gap:15px;flex-wrap:wrap}.content p,.content li{font-size:15px}
@media(min-width:1400px){.directory-hero{padding-block:85px 65px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.nav-row{min-height:78px}.nav{gap:19px}.brand{font-size:22px}.directory-hero{padding:48px 0 35px}.hero-stamp{width:110px;height:110px;margin-right:0}.hero-stamp b{font-size:48px}.hero-stamp span{font-size:8px}.collection-nav{gap:20px}.collection-note{display:none}.product-art{height:230px}.mock-window,.motion-board{width:80%}.game-feature{grid-template-columns:1fr 1fr}.game-feature-info{padding:26px}.game-feature h2,.game-feature h3{font-size:35px}.game-cover img{object-fit:contain}.footer-row p{display:none}.game-intro{gap:30px}.game-intro h1{font-size:50px}.game-details{gap:35px}.detail-facts b{font-size:22px}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.nav-row{min-height:76px;gap:12px}.brand{font-size:20px;gap:7px}.brand-mark{width:30px;height:30px;font-size:24px;border-radius:8px}.brand-dot{display:none}.nav{gap:14px;font-size:12px}.lang-switch{font-size:9px}.lang-switch a{padding:6px}.directory-hero{padding:40px 0 32px}.directory-hero h1{font-size:40px;letter-spacing:-.045em;line-height:1.16}.hero-stamp{display:none}.eyebrow{font-size:9px;margin-bottom:20px;letter-spacing:1.5px}.hero-description{font-size:14px}.collection-nav{justify-content:space-between;gap:8px;font-size:10px;padding:16px 0}.collection-nav a{padding:8px 14px}.collection-nav>div{gap:5px}.section-heading{align-items:flex-end;gap:10px}.section-heading>div{gap:10px}.section-heading h1,.section-heading h2{font-size:29px}.section-heading p{font-size:11px;max-width:160px;text-align:right}.product-section{padding-top:34px}.tool-grid{grid-template-columns:1fr;gap:30px}.product-art{height:240px}.mock-window,.motion-board{width:72%;max-width:320px}.product-info{padding-top:18px}.product-info p{min-height:0;margin-bottom:15px}.product-info h3{font-size:27px}.product-meta{font-size:9px}.product-links a{min-height:34px;padding-block:5px}.game-feature{grid-template-columns:1fr}.game-cover img{height:auto;object-fit:contain;aspect-ratio:16/9}.game-art-label{left:12px;bottom:10px;font-size:8px}.game-feature-info{padding:25px}.game-feature h2,.game-feature h3{font-size:38px}.game-feature-info .tag{margin-bottom:15px}.game-feature .btn{width:100%;justify-content:space-between}.end-note{padding-bottom:28px;gap:10px}.end-note p{font-size:11px}.end-note a{font-size:10px}.footer-row{gap:17px;justify-content:space-between}.footer-links{order:3;flex-basis:100%;margin-left:0;gap:22px}.game-intro{grid-template-columns:1fr;padding:15px 0 30px;gap:30px}.intro-cover{box-shadow:7px 7px 0 #e1e4d6}.game-intro h1{font-size:55px}.game-intro h1 span{font-size:23px}.game-intro .play-link{width:100%}.detail-facts{grid-template-columns:1fr 1fr;gap:23px;padding:25px 0}.detail-facts>div:nth-child(2){border:0}.game-details{grid-template-columns:1fr;gap:20px;padding:40px 0}.game-details h2{font-size:31px;margin-bottom:8px}.controls-panel{grid-template-columns:1fr;gap:25px;padding:25px}.controls-panel h2{margin-bottom:15px}.faq-section{padding:40px 0}summary{font-size:14px}.play-again{gap:15px}.play-again p{font-size:20px}.play-again .btn{padding:12px 20px}.breadcrumbs{font-size:10px}.site-footer{padding-block:24px}.page-hero{padding-top:35px}}
@media(max-width:360px){.brand{font-size:18px}.nav{gap:9px}.brand-mark{display:none}.directory-hero h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.tools-section{padding-bottom:56px}.tool-feature{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fffefb}.diffboard-art{display:flex;flex-direction:column;justify-content:center;gap:20px;background:#e9eddf;padding:40px;min-height:260px}.tool-counter{display:flex;align-items:baseline;gap:12px}.tool-counter strong{font-size:56px;letter-spacing:-2px}.tool-counter span{color:var(--muted);font-size:14px}.tool-meter{height:6px;border-radius:10px;background:linear-gradient(to right,#809a4e 64%,#d2d8c8 64%)}.sample-diff{display:grid;gap:5px;font-size:13px;line-height:1.6}.sample-diff span{padding:5px 10px}.sample-diff span:first-child{background:#f4ded7;color:#874439}.sample-diff span:last-child{background:#dcecd3;color:#405e32}.tool-feature-info{padding:40px;align-self:center}.tool-feature-info h3{font-size:34px;margin:0 0 16px}.tool-feature-info p{font-size:15px;line-height:1.8;margin-bottom:24px}@media(max-width:600px){.tool-feature{grid-template-columns:1fr}.diffboard-art,.tool-feature-info{padding:25px}.diffboard-art{min-height:220px}.tool-feature-info h3{font-size:28px}}

.tool-feature-info h3{display:flex;align-items:center;gap:12px;margin-bottom:8px}.tool-brand-icon{flex:none;border-radius:9px}.tool-feature-info .tool-subtitle{font-size:13px;font-weight:600;color:var(--text);margin:0 0 18px}
main[tabindex="-1"]:focus{outline:none}
