:root{--bg:#f2f5fb;--navy:#1e2a5e;--dim:#1e2a5e59;--line:#1e2a5e2e;--accent:#f97316;--ink:#232c4e;--ink-sub:#5f6a8a;--panel:#fff;--panel-soft:#f8fafd;--hard:4px 4px 0 #1e2a5e24;--cut:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));--font:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", "Consolas", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:radial-gradient(ellipse 90% 50% at 50% -10%, #2563eb14, transparent 70%), linear-gradient(#1e2a5e0d 1px, transparent 1px), linear-gradient(90deg, #1e2a5e0d 1px, transparent 1px), var(--bg);-webkit-font-smoothing:antialiased;background-size:auto,44px 44px,44px 44px,auto;font-size:13px;line-height:1.8}body:after{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(#0000 0 2px,#1e2a5e06 2px 3px);position:fixed;inset:0}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}body{overflow:hidden}.oz-hub{flex-direction:column;justify-content:space-evenly;align-items:center;gap:4px;height:100dvh;padding:10px 12px;display:flex}.hub-head{text-align:center;animation:.6s ease-out both hudIn}.hub-head .kicker{font-family:var(--mono);color:var(--accent);letter-spacing:.24em;font-size:10px;font-weight:700}.hub-head h1{color:var(--navy);letter-spacing:.06em;font-size:clamp(17px,4.4vw,26px);font-weight:800;line-height:1.4}.hub-head .demo-note{font-family:var(--mono);color:var(--navy);border:2px solid var(--dim);background:var(--panel);letter-spacing:.14em;margin-top:6px;padding:2px 10px;font-size:9.5px;display:inline-block;box-shadow:3px 3px #1e2a5e24}.hub-head .demo-note:before{content:"●";color:var(--accent);margin-right:6px;animation:1.6s steps(2,start) infinite blink}@keyframes blink{to{opacity:.15}}@keyframes hudIn{0%{opacity:0;filter:blur(4px);transform:translateY(-8px)}to{opacity:1;filter:blur();transform:translateY(0)}}.oz{aspect-ratio:1;flex:none;width:min(96vw,64dvh,560px);position:relative}.edges{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.edges line{stroke:#1e2a5e4d;stroke-width:1.4px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;animation:edgeDraw .7s ease-out var(--d,0s) forwards}.edges line.side{stroke:#1e2a5e1f;stroke-width:1px}@keyframes edgeDraw{to{stroke-dashoffset:0}}.core{aspect-ratio:1;background:var(--navy);color:#fff;z-index:2;-webkit-tap-highlight-color:transparent;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:25%;transition:filter .15s ease-out;animation:.5s both materialize;display:flex;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 0 0 7px #1e2a5e1a,0 0 0 14px #1e2a5e0a,0 10px 24px #1e2a5e59}.core:hover,.core:focus-visible{filter:brightness(1.25)drop-shadow(0 0 14px #1e2a5e80)}.core:active{filter:brightness(.9)}.core-logo{letter-spacing:.1em;font-size:clamp(13px,3vmin,21px);font-weight:800}.core-count{color:#ffffffbf;font-size:clamp(8px,1.5vmin,10px)}.core-play{color:#fff;background:var(--accent);white-space:nowrap;margin-top:3px;padding:1px 8px;font-size:clamp(8px,1.5vmin,10px);font-weight:800}.hex{left:var(--x);top:var(--y);aspect-ratio:1/1.08;z-index:1;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:color-mix(in srgb, var(--c) 10%, #fff);width:18%;color:var(--ink);animation:materialize .5s calc(var(--i,0) * 60ms) both, hexfloat 5.5s ease-in-out calc(var(--i,0) * .22s + .7s) infinite alternate;-webkit-tap-highlight-color:transparent;transition:filter .15s ease-out;position:absolute;overflow:hidden;translate:-50% -50%}@keyframes materialize{0%{opacity:0;filter:blur(6px);transform:translateY(18px)scale(.7)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes hexfloat{0%{transform:translateY(-2px)}to{transform:translateY(2px)}}.hex:hover,.hex:focus-visible{filter:saturate(1.25) drop-shadow(0 6px 14px color-mix(in srgb, var(--c) 45%, transparent))}.hex:active{filter:brightness(.95)}.hex:before{content:"";clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%,50% 0%,50% 3%,3% 26.4%,3% 73.6%,50% 97%,97% 73.6%,97% 26.4%,50% 3%);background:var(--c);pointer-events:none;position:absolute;inset:0}.hex .theme{background:var(--c);color:#fff;letter-spacing:.02em;text-align:center;white-space:nowrap;padding:2px;font-size:clamp(7px,1.5vmin,9px);font-weight:800;position:absolute;top:15%;left:0;right:0;overflow:hidden}.hex .icon{border:2px solid var(--c);width:clamp(28px,5.6vmin,44px);height:clamp(28px,5.6vmin,44px);box-shadow:0 3px 8px color-mix(in srgb, var(--c) 30%, transparent);background:#fff;border-radius:50%;place-items:center;font-size:clamp(15px,3vmin,23px);display:grid;position:absolute;top:27%;left:50%;translate:-50%}.hex .name{text-align:center;letter-spacing:.02em;color:var(--navy);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(8.5px,1.9vmin,12px);font-weight:800;position:absolute;top:64%;left:4%;right:4%;overflow:hidden}.keyhole{background:color-mix(in srgb, var(--c) 55%, transparent);border-radius:50%;width:7px;height:7px;position:absolute;top:80%;left:50%;translate:-50%}.keyhole:after{content:"";border-left:3px solid #0000;border-right:3px solid #0000;border-bottom:6px solid color-mix(in srgb, var(--c) 55%, transparent);position:absolute;top:5px;left:50%;transform:translate(-50%)}.hub-foot{border-top:1px solid var(--line);width:min(96vw,700px);font-family:var(--mono);color:var(--ink-sub);letter-spacing:.08em;flex-wrap:wrap;justify-content:space-between;gap:4px;padding-top:8px;font-size:9.5px;display:flex}.viewer{z-index:10;-webkit-backdrop-filter:blur(4px);background:#1e2a5e66;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.viewer.open{display:flex}.card{background:var(--panel);border:2px solid var(--c);flex-direction:column;width:min(520px,100vw);height:min(840px,100dvh);animation:.5s ease-out holoOpen;display:flex;position:relative;box-shadow:8px 8px #1e2a5e2e,0 24px 60px #1e2a5e40}@keyframes holoOpen{0%{opacity:0;transform:scaleY(.04)scaleX(.55)}40%{opacity:1;transform:scaleY(1.04)scaleX(1)}55%{opacity:.55}70%{opacity:1;transform:scale(1)}82%{opacity:.85}to{opacity:1;transform:scale(1)}}.card:before,.card:after{content:"";pointer-events:none;z-index:2;width:20px;height:20px;position:absolute}.card:before{border-top:4px solid var(--accent);border-left:4px solid var(--accent);top:-2px;left:-2px}.card:after{border-bottom:4px solid var(--accent);border-right:4px solid var(--accent);bottom:-2px;right:-2px}@media (width<=560px),(height<=860px){.card{width:100vw;height:100dvh}}.card-band{border-bottom:2px solid var(--c);background:color-mix(in srgb, var(--c) 8%, #fff);align-items:center;gap:10px;padding:10px 14px;display:flex}.card-band .case-no{font-family:var(--mono);letter-spacing:.18em;color:#fff;background:var(--c);white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:800;transform:skew(-8deg);box-shadow:3px 3px #1e2a5e2e}.card-band .case-title{color:var(--navy);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:800;overflow:hidden}.card-band .case-theme{color:var(--c);border:1px solid color-mix(in srgb, var(--c) 55%, transparent);letter-spacing:.12em;white-space:nowrap;background:#fff;padding:2px 8px;font-size:10px}.close{width:30px;height:30px;color:var(--c);border:2px solid var(--c);background:#fff;place-items:center;margin-left:auto;font-size:14px;font-weight:700;display:grid;box-shadow:2px 2px #1e2a5e24}.close:hover{background:color-mix(in srgb, var(--c) 12%, #fff)}.progress{gap:4px;padding:8px 14px 0;display:flex}.progress i{border:1px solid var(--line);background:#e6eaf4;flex:1;height:5px;transition:background .2s;transform:skew(-20deg)}.progress i.done{background:var(--c);border-color:var(--c)}.slide{flex-direction:column;flex:1;padding:10px 18px 20px;display:flex;position:relative;overflow-y:auto}.ctx{flex-direction:column;gap:6px;display:flex}.ctx-item{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--c);align-items:center;gap:10px;padding:6px 10px;display:flex;overflow:hidden;box-shadow:3px 3px #1e2a5e1a}.ctx-item.pro{border-left-color:var(--accent)}.ctx-ico{background:var(--panel-soft);border:2px solid var(--c);flex:none;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.ctx-item.pro .ctx-ico{border-color:var(--accent);border-radius:50%}.ctx-main{flex-direction:column;min-width:0;line-height:1.4;display:flex}.ctx-main b{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:800;overflow:hidden}.ctx-main small{color:var(--ink-sub);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.seq{animation:.42s cubic-bezier(.2,.8,.3,1) both seqpop;animation-delay:var(--d,0s)}@keyframes seqpop{0%{opacity:0;filter:blur(4px);transform:translateY(18px)scale(.85)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.hero-label{font-family:var(--mono);letter-spacing:.3em;color:#fff;background:var(--c);box-shadow:var(--hard);padding:3px 14px;font-size:11px;font-weight:800;transform:skew(-8deg)}.hero-label.alert{background:var(--accent)}.chiprow{flex-wrap:wrap;justify-content:center;gap:6px;list-style:none;display:flex}.chiprow span,.chiprow li{color:var(--c);border:1px solid color-mix(in srgb, var(--c) 55%, transparent);background:#fff;padding:2px 10px;font-size:11px;font-weight:700}.ba-panel{text-align:left;width:100%;max-width:420px;box-shadow:var(--hard);clip-path:var(--cut);border:2px solid;padding:10px 14px}.ba-panel h4{font-family:var(--mono);letter-spacing:.3em;margin-bottom:4px;font-size:10px}.ba-panel p{font-size:12.5px;line-height:1.75}.ba-panel.before{color:var(--ink-sub);background:#eef1f7;border-color:#5f6a8a66}.ba-panel.before h4{color:var(--ink-sub)}.ba-panel.after{border-color:var(--c);background:color-mix(in srgb, var(--c) 6%, #fff);color:var(--ink)}.ba-panel.after h4{color:var(--c)}.ba-arrow{color:var(--c);font-size:18px;line-height:1}.careerlist{counter-reset:cr;flex-direction:column;gap:8px;width:100%;max-width:420px;list-style:none;display:flex}.careerlist li{counter-increment:cr;text-align:left;border:1px solid var(--line);border-left:4px solid var(--c);background:var(--panel-soft);padding:8px 12px;font-size:12.5px;line-height:1.7;box-shadow:2px 2px #1e2a5e14}.careerlist li:before{content:"0" counter(cr);font-family:var(--mono);color:var(--c);margin-right:8px;font-weight:800}.pro-quote{border:2px solid color-mix(in srgb, var(--c) 40%, transparent);background:var(--panel);max-width:40em;box-shadow:var(--hard);clip-path:var(--cut);padding:10px 14px;font-size:12.5px;line-height:1.8}.result-banner{font-family:var(--mono);letter-spacing:.34em;color:#fff;background:var(--c);padding:4px 26px 4px 34px;font-size:clamp(24px,7vw,32px);font-weight:800;transform:skew(-8deg);box-shadow:6px 6px #1e2a5e2e}.reslist{flex-direction:column;gap:8px;width:100%;max-width:430px;display:flex}.res-row{border:2px solid color-mix(in srgb, var(--c) 45%, transparent);background:var(--panel);box-shadow:var(--hard);clip-path:var(--cut);justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;display:flex}.res-row .res-label{text-align:left;font-size:12px;font-weight:700}.res-row .res-vals{white-space:nowrap;align-items:baseline;gap:8px;display:flex}.res-row s{font-family:var(--mono);color:var(--ink-sub);font-size:11px}.res-row b{font-family:var(--mono);color:var(--c);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.res-row i{color:var(--c);font-size:12px;font-style:normal;font-weight:800}.res-summary{max-width:40em;color:var(--navy);font-size:12.5px;font-weight:700;line-height:1.8}.res-voice{border:2px solid var(--line);background:var(--panel-soft);max-width:40em;box-shadow:var(--hard);clip-path:var(--cut);padding:9px 14px;font-size:12px;line-height:1.75}.res-voice span{letter-spacing:.14em;color:var(--accent);margin-bottom:3px;font-size:10px;font-weight:800;display:block}.next-case{letter-spacing:.18em;color:#fff;background:var(--c);width:100%;max-width:430px;box-shadow:var(--hard);clip-path:var(--cut);text-align:center;padding:13px;font-size:14px;font-weight:800;transition:filter .15s ease-out}.next-case:hover{filter:brightness(1.12)}.card-foot{border-top:1px solid var(--line);background:var(--panel-soft);text-align:center;font-family:var(--mono);letter-spacing:.12em;color:var(--ink-sub);padding:6px 14px;font-size:10px}.slide .ctx{z-index:5;background:#fffffff2;padding:4px 0 6px;position:sticky;top:0}.tree{flex-direction:column;width:100%;max-width:460px;margin:0 auto;padding-bottom:30px;display:flex}.tnode{margin-top:18px;position:relative}.tnode.hid{display:none}.tree>.tnode:first-child{margin-top:8px}.tree>.tnode:first-child:before{display:none}.tnode:before{content:"";background:var(--dim);transform-origin:top;width:2px;height:18px;position:absolute;top:-18px;left:24px}.tnode.shown:before{animation:.22s ease-out both growLineY}.tnode.shown>.ncard{animation:.38s cubic-bezier(.2,.8,.3,1) .15s both nodePop}@keyframes growLineY{0%{transform:scaleY(0)}}@keyframes nodePop{0%{opacity:0;filter:blur(5px);transform:scale(.65)translateY(8px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}.ncard{background:var(--panel);border:2px solid color-mix(in srgb, var(--c) 45%, transparent);box-shadow:var(--hard);clip-path:var(--cut);text-align:left;flex-direction:column;gap:8px;padding:10px 14px;display:flex}.ncard.head-only{background:color-mix(in srgb, var(--c) 6%, #fff)}.nhead{align-items:center;gap:10px;display:flex}.nhead h3{color:var(--navy);font-size:14.5px;font-weight:800;line-height:1.4}.nhead small{color:var(--ink-sub);font-size:10.5px;line-height:1.5;display:block}.nhead small.acc{color:var(--c);font-weight:700}.nico{background:var(--panel-soft);border:2px solid var(--c);flex:none;place-items:center;width:44px;height:44px;font-size:24px;display:grid}.nico.round{border-color:var(--accent);border-radius:50%}.nno{font-style:normal;font-family:var(--mono);color:#fff;background:var(--accent);flex:none;place-items:center;min-width:26px;height:26px;padding:0 4px;font-size:12px;font-weight:800;display:grid;transform:skew(-8deg)}.nno.alt{background:var(--c)}.nperiod{font-style:normal;font-family:var(--mono);color:var(--c);border:1px solid color-mix(in srgb, var(--c) 55%, transparent);white-space:nowrap;background:#fff;margin-left:auto;padding:0 6px;font-size:10px}.ntitle{color:var(--navy);font-size:16px;font-weight:800;line-height:1.45}.chiprow.left{justify-content:flex-start}.exp{flex-direction:column;gap:8px;display:none}.tnode.open>.ncard>.exp{animation:.32s ease-out seqpop;display:flex}.exp .ba-arrow{align-self:center}.ndesc{color:var(--ink);text-align:justify;font-size:12px;line-height:1.75}.deliv{color:#fff;background:var(--accent);align-self:flex-start;padding:1px 8px;font-size:10.5px;font-weight:700}.branches{flex-direction:column;margin-left:30px;display:flex;position:relative}.branches:before{content:"";background:var(--dim);width:2px;position:absolute;top:-6px;bottom:28px;left:-14px}.tnode.branch{margin-top:12px}.tnode.branch:before{transform-origin:0;width:14px;height:2px;top:22px;left:-14px}.tnode.branch.shown:before{animation:.2s ease-out both growLineX}@keyframes growLineX{0%{transform:scaleX(0)}}.ncard .result-banner{letter-spacing:.28em;align-self:flex-start;padding:2px 18px 2px 24px;font-size:clamp(17px,4.6vw,23px)}.ncard .reslist,.ncard .next-case{width:100%;max-width:none}.ncard .res-summary,.ncard .res-voice{max-width:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
