@font-face{font-family:NotoJP;src:url('fonts/noto-jp-0.woff2') format('truetype');font-weight:100 900;font-display:swap}
:root{font-family:NotoJP,'Hiragino Kaku Gothic ProN',sans-serif;color:#073b59;background:#e3f4f7;--navy:#043f7c;--teal:#00afa6;--line:#acdfe6;--ink:#063959}*{box-sizing:border-box}body{margin:0;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #f1aa27;outline-offset:3px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;padding:12px 24px;box-shadow:0 3px 22px #064d6020;z-index:3;border-bottom:1px solid #c8e4e9}.brand{color:#009e98;font-weight:800;font-size:22px;letter-spacing:5px;white-space:nowrap}.brand span{display:block;font-size:9px;letter-spacing:4px;color:#06447b;margin-left:22px}.toolbar nav{display:flex;gap:4px;align-items:center}.toolbar nav a{font-size:13px;font-weight:700;border-radius:9px;padding:10px 13px;white-space:nowrap}.toolbar nav a[aria-current]{background:#e1f8f6;color:#008f8b;box-shadow:inset 0 -2px #00afa6}.toolbar nav a:hover{background:#effafa}.tools{display:flex;gap:6px}button,.actions a{border:1px solid #b9dce4;border-radius:9px;background:#fff;color:#08456a;padding:9px 13px;font-size:13px;white-space:nowrap}.tools button{padding:8px 10px}#stage{position:relative;min-height:0;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#f8ffff,#d8edf2);outline:none}.canvas{position:absolute;width:1920px;height:1080px;transform-origin:top left;box-shadow:0 16px 80px #00324c20;overflow:hidden;background:#ecfbfd}.canvas>img{width:1920px;height:1080px;object-fit:fill;display:block}.slide-entry{animation:slide-in .55s cubic-bezier(.19,1,.22,1) both}@keyframes slide-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.controls{position:relative;background:#fff;padding:13px 24px 15px;display:flex;gap:15px;align-items:center;justify-content:space-between;border-top:1px solid #c8e4e9;z-index:3}.slide-info{display:flex;gap:12px;align-items:center;min-width:0;font-size:12px}.slide-info #section{font-weight:700;white-space:nowrap}.slide-info #position{font-variant-numeric:tabular-nums;color:#009d9c;white-space:nowrap}#title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:460px;color:#567486}.actions{display:flex;align-items:center;gap:7px}.primary{background:linear-gradient(110deg,#00bda5,#007cad)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 3px 12px #009b9b24}.progress{position:absolute;bottom:0;left:0;height:3px;width:100%;background:#e3f4f5}.progress i{display:block;height:100%;background:linear-gradient(90deg,#00c9a9,#008ed1);transition:width .3s}.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;z-index:20;background:white;padding:10px}.load{position:absolute;background:#fff;padding:14px 24px;border-radius:12px;box-shadow:0 6px 30px #0e4e6822}dialog{border:1px solid #b9dfe6;border-radius:18px;width:min(1000px,calc(100% - 24px));max-height:85dvh;color:#063c5c;padding:24px;box-shadow:0 22px 100px #00384945}dialog::backdrop{background:#022b4699;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.dialog-head h2{margin:0;font-size:22px}.thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.thumbs a{border:1px solid #c2e2e7;border-radius:10px;overflow:hidden;font-size:12px;background:#f4fcfd}.thumbs a img{width:100%;aspect-ratio:16/9;display:block}.thumbs a span{display:block;padding:8px 10px}.thumbs a[aria-current]{border:2px solid #00b8a9}.pdf-list{display:grid;gap:12px}.pdf-list a{display:block;padding:20px;border:1px solid #a8dfe3;border-radius:12px;background:linear-gradient(120deg,#f0fffb,#eff8ff)}.pdf-list small{display:block;margin-top:6px;color:#557c8c}.note-text{line-height:1.9;font-size:17px}.note-text p{margin:8px 0 18px}.notice{border-left:3px solid #00aea4;background:#effafa;padding:12px 18px;font-size:13px;color:#547482}.rect{position:absolute;box-sizing:border-box}.patch-card{background:#fff;border:2px solid #bce4ee;border-radius:24px;color:#03467f;overflow:hidden;padding:26px 28px}.patch-card .heading{display:flex;gap:20px;align-items:center;font-size:32px;font-weight:750;line-height:1.25;margin:0 0 19px}.patch-card .symbol{display:flex;align-items:center;justify-content:center;flex:none;width:62px;height:62px;border-radius:50%;border:1.5px solid #93e2db;background:#e0fbf5;color:#00b4a5;font-size:31px;line-height:1}.patch-card p{font-size:26px;line-height:1.5;margin:0;color:#184b70}.patch-card .tags{display:flex;gap:14px;position:absolute;left:28px;right:28px;bottom:22px}.tags span{background:#edfaff;border:1px solid #bbe5ef;border-radius:18px;font-size:23px;font-weight:650;flex:1;padding:16px 6px;text-align:center}.text-patch{color:#043f7c;line-height:1.45}.bullet{font-size:29px;line-height:1.5;display:flex;align-items:flex-start;gap:18px}.bullet:before{content:'';width:18px;height:18px;border-radius:50%;background:var(--bullet,#00afa6);flex:none;margin-top:13px}.photo-patch{border-radius:25px;background:#fff;border:1px solid #b9e4ed;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-patch img{width:100%;height:100%;object-fit:contain}.repair-mask{background:#fff}.closing{background:#ffffff;padding:64px;border:1px solid #d8f2f6;border-radius:32px;color:#03427a;box-shadow:0 12px 50px #00455811}.closing h2{font-size:60px;line-height:1.35;margin:0 0 34px}.closing p{font-size:34px;line-height:1.5;margin:0 0 26px}.closing .kicker{font-size:45px;font-weight:750;color:#00afa6;margin-bottom:20px}.closing small{font-size:25px;color:#426786}.example-label{background:#edfffa;border:1.5px solid #94e1d8;border-radius:16px;color:#087981;font-size:21px;padding:12px 22px;line-height:1.35}.home-hotspot{border:2px solid transparent;border-radius:18px;background:transparent;position:absolute;cursor:pointer}.home-hotspot:hover,.home-hotspot:focus-visible{border-color:#00bfa9;background:#bffff433;box-shadow:0 0 30px #4bdbd655}.lift{animation:lift-in .7s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--delay,0ms)}@keyframes lift-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.diagram-stroke{stroke-dasharray:1400;animation:draw 1.6s ease both}@keyframes draw{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}.paused *{animation:none!important;transition:none!important}body.export{height:1080px;width:1920px;display:block;background:white}body.export .toolbar,body.export .controls,body.export .skip{display:none}body.export #stage{height:1080px;width:1920px}body.export .canvas{box-shadow:none;left:0!important;top:0!important;transform:none!important}body.export *{animation:none!important;transition:none!important}[hidden]{display:none!important}
.tags span{font-size:18px;white-space:nowrap;padding:16px 3px}.patch-card .tags{gap:11px}
.toolbar{gap:12px;min-width:0;width:100%}
.toolbar nav{min-width:0;max-width:100%}
.nav-project{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}
.toolbar nav a[data-deck]{border:1px solid #91badb;background:#edf5ff;color:#07477d;box-shadow:0 2px 5px #07477d10}
.toolbar nav a[data-deck][aria-current]{background:#07477d;color:white;border-color:#07477d;box-shadow:0 2px 8px #07477d24}
.toolbar nav a[data-deck]:hover{background:#dcecff}
.toolbar nav a[data-deck][aria-current]:hover{background:#105b97}
.toolbar nav .nav-demo{font-size:10px;padding:6px 8px;border:1px solid #b9dce4;background:#f3fbfc;border-radius:7px;color:#008f8b}
.toolbar nav .nav-demo.current-demo{background:linear-gradient(110deg,#00bda5,#007cad);color:white;border-color:transparent}
/* Keep the canvas scale controlled by ResizeObserver, including during transitions. */
@keyframes slide-in{from{opacity:0}to{opacity:1}}
@media(max-width:1100px){.toolbar{padding:10px 15px;gap:9px}.toolbar nav a{padding:10px 8px;font-size:12px}.brand{font-size:18px}#title{max-width:230px}.controls{padding:11px 15px 14px}}@media(max-width:760px){body{grid-template-rows:auto minmax(0,1fr) auto}.toolbar{flex-wrap:wrap;gap:8px;padding:10px 12px}.brand{font-size:17px}.toolbar nav{order:3;width:100%;overflow-x:auto;justify-content:space-between}.toolbar nav a{padding:10px 7px;font-size:11px}.tools{margin-left:auto}.tools button{font-size:11px;padding:7px 9px}.controls{flex-direction:column;gap:10px;padding:9px 10px 12px}.slide-info{width:100%;font-size:11px}#title{max-width:none;flex:1}.actions{width:100%;justify-content:center;gap:5px}.actions button,.actions a{font-size:11px;padding:10px 9px}.thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.note-text{font-size:15px}dialog{padding:17px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media print{.toolbar,.controls,dialog{display:none}body,#stage{width:100%;height:auto}.canvas{position:relative;transform:none;box-shadow:none}}
