
:root{--navy:#06346b;--cobalt:#0577dc;--sky:#05a6e5;--ink:#102e4f;--line:#a3d6f0;--pale:#e8f7ff;--paper:#fff;--sub:#486b86}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:15px/1.7 system-ui,-apple-system,'Hiragino Sans','Yu Gothic',Meiryo,sans-serif;background:linear-gradient(#b9ebfc,#eaf9ff 380px,#f4fcff)}a{color:#065a9c}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}:focus-visible{outline:3px solid #e3a725;outline-offset:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;z-index:80;padding:8px}
.top{position:relative;background:linear-gradient(95deg,#129fef,#0871cc);border-bottom:4px solid #05336c;color:#fff}.head{max-width:1150px;margin:auto;min-height:76px;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{color:white;text-decoration:none;line-height:1.1;text-shadow:2px 2px #09336a;font-weight:1000;font-size:clamp(21px,4vw,32px);letter-spacing:-.04em;white-space:nowrap}.brand em{color:#ffe039;font-style:normal}.brand small{font-size:10px;letter-spacing:.12em;display:block;color:#fff;font-weight:800;margin-top:6px}.actions{display:flex;align-items:center;gap:8px}.actions a,.menu{color:#fff;background:#084478;border:2px solid #c4efff;border-radius:9px;padding:9px 12px;text-decoration:none;font-weight:900;min-height:44px}.menu{font-size:21px;width:50px}.menu-panel{display:none;padding:10px 15px 17px;max-width:1150px;margin:auto;gap:9px;flex-wrap:wrap}.menu-panel.open{display:flex}.menu-panel a{color:#052c56;background:#fff;padding:9px 13px;border-radius:9px;text-decoration:none;font-weight:800}
.wrap{max-width:1080px;width:min(100% - 26px,1080px);margin:auto}.hero{padding:33px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.hero h1{font-size:clamp(27px,4vw,43px);line-height:1.25;margin:5px 0;color:#053d7a}.hero p{font-size:14px;color:#426982;max-width:710px}.spark{font-size:clamp(40px,7vw,76px)}.eyebrow{font-size:11px;color:#036caa;letter-spacing:.13em;font-weight:1000}.notice{background:#fff7d7;color:#79571c;border:1px solid #e9cb7b;border-radius:11px;padding:11px 15px;font-size:12px;margin-bottom:16px}
.filter{display:flex;flex-wrap:wrap;gap:7px;border:2px solid #b7ddeb;background:white;border-radius:15px;padding:12px}.filter input{flex:1 0 100%;min-width:0;padding:12px;border:2px solid #c8dfe7;border-radius:9px}.chip{border-radius:99px;border:1px solid #a3cbe3;color:#246291;background:#e7f5ff;padding:8px 13px;font-weight:850;font-size:12px;min-height:44px}.chip[aria-pressed=true]{color:#fff;background:#07599b}.count{font-size:12px;color:#58748b;margin:11px 2px}.feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:40px}.post{background:#fff;border:2px solid #aedbeb;border-radius:16px;overflow:hidden;box-shadow:0 5px #c4e2ee,0 10px 20px #054b8a12;min-width:0}.banner{height:89px;background:linear-gradient(125deg,#005db6,#17b9ed);color:white;display:flex;align-items:center;gap:15px;padding:12px 17px}.banner .ico{font-size:48px}.banner b{font-size:14px}.post:nth-child(2) .banner{background:linear-gradient(120deg,#8147c7,#26a0dc)}.post:nth-child(3) .banner{background:linear-gradient(120deg,#0c7f87,#22bb7d)}.post:nth-child(4) .banner{background:linear-gradient(120deg,#ed8427,#f9c13e)}.body{padding:16px}.meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:#53748c;font-size:11px;font-weight:800}.label{color:#00618f;background:#e0f6ff;border-radius:80px;padding:2px 8px}.pending{background:#fff0d1;color:#785319;border-radius:80px;padding:2px 9px}.post h2{line-height:1.4;font-size:19px;margin:10px 0}.post p{font-size:13px;color:#3b6382;margin:0 0 14px}.post .tags{font-size:11px;color:#24639c;margin-bottom:16px}.share{border:2px solid #0f72b3;background:#0874c9;border-radius:9px;padding:9px 12px;color:white;font-weight:900;font-size:12px}.share:disabled{opacity:.6;cursor:not-allowed}.tip{font-size:11px;color:#58748d;margin:7px 0 0}.foot{background:#06396f;color:#d5f2ff;text-align:center;padding:19px 12px;font-size:12px}.empty{padding:44px 22px;background:white;border:1px solid #b5d9e9;border-radius:12px;grid-column:1/-1;text-align:center}.summary{padding:20px;border:2px solid #b6d6ed;border-radius:16px;background:#fff;margin-bottom:35px}.summary h2{margin:0 0 4px;font-size:20px}.summary p{font-size:13px;color:#47667e;margin:0}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:700px){.feed{grid-template-columns:1fr}.actions>a{display:none}.hero{padding:23px 0}.hero h1{font-size:clamp(27px,7vw,34px)}.spark{font-size:43px}.brand{font-size:21px}.brand small{font-size:8px}.head{min-height:68px}.banner{height:83px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v3: keyboard, layout stability, share controls */
.post .share-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.post .share-row button,.post .share-row a{background:#0864ae;color:white;border:2px solid #07528c;border-radius:9px;min-height:44px;padding:8px 12px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.post .share-row button:hover,.post .share-row a:hover{background:#004d90}.post .share-row button:focus-visible,.post .share-row a:focus-visible{outline:3px solid #ffd43d;outline-offset:2px}.post .copy-status{font-size:12px;color:#1b7350;min-height:1.7em;margin-top:3px}.brand{min-width:0}.head a{min-width:0}.post time{font-variant-numeric:tabular-nums}.social-note{padding:12px 14px;margin-bottom:22px;background:#fff;border-radius:12px;border:1px solid #b8dcec;font-size:13px;color:#345574}@media(max-width:460px){.head{gap:5px}.brand{font-size:clamp(17px,5vw,21px)}.actions{flex-shrink:0}.head .actions>a{display:none}.menu{width:46px}.chip{padding:9px 12px}}

/* Official brand artwork reused from published website (unaltered assets) */
.brand-official{display:block;text-shadow:none;flex-shrink:1}.brand-official img{display:block;width:min(100%,245px);height:auto;object-fit:contain;max-height:57px}.head{background:linear-gradient(100deg,#089fe9,#0570c6)}.spark-cat{width:clamp(80px,13vw,148px);height:auto;image-rendering:auto;flex-shrink:0;align-self:center;filter:drop-shadow(2px 4px 0 #6ac0ed)}@media(max-width:460px){.brand-official img{max-width:210px}.spark-cat{width:82px}}
