.kh-page-content .kh-tool-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.kh-tool-list .kh-content-card{position:relative;min-width:0;margin:0;padding:18px;list-style:none}
.kh-tool-list .kh-card-cover{display:block;margin:-18px -18px 16px;background:#fff9ee;overflow:hidden;aspect-ratio:16/9}
.kh-tool-list .kh-card-cover a{display:flex;height:100%;align-items:center;justify-content:center}
.kh-tool-list .kh-card-cover img{display:block;width:100%;height:100%;padding:18px;object-fit:contain;box-sizing:border-box}
.kh-tool-list h3{margin:0 0 10px;font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-size:20px;font-weight:700;text-shadow:none}
.kh-tool-list .kh-card-link{color:inherit;text-decoration:none}
.kh-tool-list .kh-card-link:after{content:"";position:absolute;inset:0}
.kh-tool-list .kh-content-card:hover{box-shadow:0 5px 15px #34291c30}
.kh-tool-list .kh-card-link:focus-visible{outline:3px solid #315e91;outline-offset:4px}
.kh-tool-list p{margin:0;line-height:1.8;font-size:14px}
.kh-tool-stage h2{margin-top:0}
.kh-tool-screen{overflow:hidden;border:1px solid #ccc6b9;border-radius:6px;background:#fff}
.kh-tool-launch{width:100%;min-height:300px;aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;cursor:pointer;border:0;background:linear-gradient(135deg,#fffbf0,#eef0fb);color:#26334a;font:inherit}
.kh-tool-launch img{width:128px;height:128px;object-fit:contain}
.kh-tool-launch strong{font-size:clamp(20px,3vw,32px)}
.kh-tool-launch span{display:block;padding:10px 24px;border-radius:6px;background:#465bb5;color:white;font-weight:700}
.kh-tool-launch:hover span{background:#344995}
.kh-page-content a.kh-tool-launch{box-sizing:border-box;color:#26334a;text-decoration:none}
.kh-tool-launch:focus-visible{outline:3px solid #315e91;outline-offset:-5px}
.kh-tool-stage [hidden]{display:none!important}
.kh-tool-app-frame{display:block;width:100%;border:0;background:#fff;max-height:calc(100dvh - 24px);min-height:420px}
.kh-tool-app-frame:fullscreen{height:100dvh!important;max-height:none;min-height:0}
.kh-tool-runtime-actions{display:flex;gap:12px;margin-top:10px}
.kh-tool-runtime-actions button{font:inherit;padding:8px 16px;background:#fff;border:1px solid #9ba6b8;border-radius:4px;cursor:pointer}
.kh-tool-back{margin:20px 0}
@media(max-width:1199px){.kh-page-content .kh-tool-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:899px){.kh-page-content .kh-tool-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.kh-page-content .kh-tool-list{grid-template-columns:minmax(0,1fr)}.kh-tool-launch{min-height:300px}.kh-tool-app-frame{min-height:480px}}
.kh-tool-viewport-ancestor{transform:none!important;filter:none!important;perspective:none!important;contain:none!important;content-visibility:visible!important;will-change:auto!important;z-index:auto!important}
.kh-page-content .kh-tool-stage.is-browser-fullscreen{position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;box-sizing:border-box;width:100%;max-width:none;height:100vh;height:100dvh;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:#fff;color:#26334a;box-shadow:none}
.kh-tool-stage.is-browser-fullscreen:before,.kh-tool-stage.is-browser-fullscreen:after,.kh-tool-stage.is-browser-fullscreen>h2{display:none}
.kh-tool-viewport-bar{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;min-height:44px;padding:6px 12px;border-bottom:1px solid #e3e7ef;background:#f7f8fc;font:14px/1.5 "Yu Gothic",sans-serif}
.kh-tool-viewport-bar button{flex:none;min-height:32px;padding:4px 14px;border:1px solid #cbd2e3;border-radius:5px;background:#fff;color:#26334a;font:inherit;cursor:pointer}
.kh-tool-viewport-bar button:focus-visible{outline:3px solid #465bb5;outline-offset:2px}
.kh-tool-stage.is-browser-fullscreen .kh-tool-screen{flex:1;min-height:0;border:0;border-radius:0}
.kh-tool-stage.is-browser-fullscreen .kh-tool-app-frame{width:100%;height:100%!important;max-height:none;min-height:0}
.kh-tool-stage.is-browser-fullscreen [data-kh-tool-status]{flex:none;margin:0;padding:8px 12px;font:14px/1.5 "Yu Gothic",sans-serif}
.kh-tool-stage.is-browser-fullscreen .kh-tool-runtime-actions{flex:none;margin:0}
.kh-tool-stage.is-browser-fullscreen [data-kh-tool-retry]{margin:8px 12px}
.kh-tool-stage.is-browser-fullscreen [data-kh-tool-fullscreen]{display:none}
