:root{--washi:#f5f1e6;--washi-deep:#ede7d6;--sumi:#23272b;--ai:#1c3a5e;--ai-deep:#12263f;--ai-night:#0c1a2c;--shu:#b5402f;--shu-deep:#973528;--hai:#8a8f94;--kin:#b98d2f;--kin-soft:#d8c294;--card:#fffdf8;--line:#ddd5c2;--mono:ui-monospace, "Cascadia Code", "Consolas", monospace;--serif:"Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;--sans:"Zen Kaku Gothic New", "Yu Gothic UI", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;--shadow-1:0 1px 2px #23272b0f, 0 4px 16px #23272b0f;--shadow-2:0 2px 4px #23272b14, 0 12px 32px #23272b1a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--washi);color:var(--sumi);font-family:var(--sans);font-feature-settings:"palt";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");line-height:1.85}.wrap{max-width:1020px;margin:0 auto;padding:0 24px}::selection{background:var(--shu);color:#fff}.site-header{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f5f1e6e0;border-bottom:1px solid #12263f24;position:sticky;top:0}.header-inner{align-items:center;gap:14px;max-width:1020px;margin:0 auto;padding:12px 24px;display:flex}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.seal-mark{background:var(--shu);color:#fff;width:40px;height:40px;font-family:var(--serif);border-radius:9px;flex:none;place-items:center;font-size:22px;font-weight:700;display:grid;transform:rotate(-3deg);box-shadow:0 2px 6px #b5402f59}.site-title{font-family:var(--serif);letter-spacing:.14em;color:var(--ai-deep);font-size:21px;font-weight:700;line-height:1.15}.site-title small{letter-spacing:.3em;color:var(--hai);font-size:10.5px;font-weight:500;display:block}.header-nav{letter-spacing:.06em;gap:26px;margin-left:auto;font-size:13.5px;display:flex}.header-nav a{color:var(--ai-deep);padding:4px 0;text-decoration:none;position:relative}.header-nav a:after{content:"";background:var(--shu);transform-origin:100%;width:100%;height:2px;transition:transform .25s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.header-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.hero-band{background:radial-gradient(1100px 500px at 80% -10%, #1c3a5ed9, transparent 60%), linear-gradient(165deg, var(--ai-night) 0%, var(--ai-deep) 55%, #16324f 100%);color:#eef1f4;position:relative;overflow:hidden}.hero{z-index:2;padding:92px 24px 110px;position:relative}.hero-eyebrow{letter-spacing:.32em;color:var(--kin-soft);margin-bottom:26px;font-size:12px;font-weight:500}.hero h1{font-family:var(--serif);letter-spacing:.05em;color:#f7f4ec;text-shadow:0 2px 30px #00000059;font-size:clamp(30px,5.4vw,54px);font-weight:800;line-height:1.42}.hero h1 .shu{color:#e5604c;text-shadow:0 0 40px #e5604c59}.hero p.lead{color:#c3cdd8;max-width:620px;margin-top:26px;font-size:15px}.hero p.lead b{color:#f0e9d8;font-weight:700}.hero .kata{flex-wrap:wrap;gap:10px;margin-top:30px;font-size:12.5px;display:flex}.hero .kata span{color:var(--kin-soft);letter-spacing:.04em;background:#0c1a2c66;border:1px solid #d8c29473;border-radius:999px;padding:5px 16px}.hero-motto{font-family:var(--serif);letter-spacing:.16em;color:var(--kin-soft);margin-top:26px;font-size:17px;font-weight:600}.hero-actions{align-items:center;gap:20px;margin-top:18px}.hero-proof{color:#9fb2c6;border-bottom:1px dashed #9fb2c680;max-width:460px;font-size:12.5px;line-height:1.7;text-decoration:none;transition:color .2s,border-color .2s}.hero-proof:hover{color:var(--kin-soft);border-color:var(--kin-soft)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.theater{background:linear-gradient(165deg, var(--ai-night), var(--ai-deep));color:#dfe6ee;border:1px solid #24405f;border-radius:12px;margin-top:18px;padding:18px 22px}.theater-row{opacity:.45;align-items:baseline;gap:10px;padding:5px 0;font-size:13.5px;transition:opacity .3s;display:flex}.theater-row.done{opacity:.8}.theater-row.active{opacity:1}.theater-row.active .theater-mark{color:var(--kin-soft);animation:1.1s ease-in-out infinite pulse}.theater-row.done .theater-mark{color:#8fbf9f}.theater-mark{flex:none;width:16px}.theater-agent{font-family:var(--serif);letter-spacing:.12em;color:#cdd9e5}.theater-row.active .theater-agent{color:#fff}.theater-text{color:#9fb2c6}.hero-watermark{z-index:1;font-family:var(--serif);color:#0000;-webkit-text-stroke:2px #e5604c2e;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:380px;font-weight:800;line-height:1;position:absolute;top:46%;right:-30px;transform:translateY(-50%)rotate(-4deg)}.hero-vertical{z-index:2;writing-mode:vertical-rl;letter-spacing:.42em;font-family:var(--serif);color:#d8c294bf;pointer-events:none;border-right:1px solid #d8c29459;padding-right:12px;font-size:13px;position:absolute;top:84px;right:42px}.hero-wave{z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60' viewBox='0 0 120 60'%3E%3Cg fill='none' stroke='%23d8c294' stroke-opacity='0.22'%3E%3Cg stroke-width='1.4'%3E%3Ccircle cx='30' cy='62' r='28'/%3E%3Ccircle cx='30' cy='62' r='21'/%3E%3Ccircle cx='30' cy='62' r='14'/%3E%3Ccircle cx='30' cy='62' r='7'/%3E%3Ccircle cx='90' cy='62' r='28'/%3E%3Ccircle cx='90' cy='62' r='21'/%3E%3Ccircle cx='90' cy='62' r='14'/%3E%3Ccircle cx='90' cy='62' r='7'/%3E%3Ccircle cx='0' cy='34' r='28'/%3E%3Ccircle cx='0' cy='34' r='21'/%3E%3Ccircle cx='0' cy='34' r='14'/%3E%3Ccircle cx='0' cy='34' r='7'/%3E%3Ccircle cx='60' cy='34' r='28'/%3E%3Ccircle cx='60' cy='34' r='21'/%3E%3Ccircle cx='60' cy='34' r='14'/%3E%3Ccircle cx='60' cy='34' r='7'/%3E%3Ccircle cx='120' cy='34' r='28'/%3E%3Ccircle cx='120' cy='34' r='21'/%3E%3Ccircle cx='120' cy='34' r='14'/%3E%3Ccircle cx='120' cy='34' r='7'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-size:120px 60px;height:84px;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 70%);mask-image:linear-gradient(#0000,#000 70%)}.section{margin-top:64px}.section-title{font-family:var(--serif);color:var(--ai-deep);letter-spacing:.08em;align-items:center;gap:14px;margin-bottom:20px;font-size:24px;font-weight:700;display:flex}.section-title .step{background:var(--shu);color:#fff;width:40px;height:40px;font-size:19px;font-family:var(--serif);border-radius:9px;flex:none;place-items:center;font-weight:700;display:grid;transform:rotate(-3deg);box-shadow:0 2px 8px #b5402f4d}.section-sub{font-family:var(--sans);color:var(--hai);letter-spacing:.04em;border-left:1px solid var(--line);margin-left:4px;padding-left:16px;font-size:13px;font-weight:500}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-1);border-radius:14px;padding:26px}textarea,input[type=text]{border:1px solid var(--line);width:100%;color:var(--sumi);font-size:14px;font-family:var(--sans);background:#fff;border-radius:9px;padding:11px 14px;transition:border-color .2s,box-shadow .2s}textarea{font-family:var(--mono);resize:vertical;min-height:200px;font-size:12.5px;line-height:1.6}textarea:focus,input:focus{border-color:var(--shu);outline:none;box-shadow:0 0 0 3px #b5402f24}label.fld{color:#6b7075;letter-spacing:.05em;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.grid3{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px;display:grid}@media (max-width:640px){.grid3{grid-template-columns:1fr}}.btn{cursor:pointer;font-size:14.5px;font-family:var(--sans);letter-spacing:.04em;border:none;border-radius:9px;align-items:center;gap:8px;padding:12px 26px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--shu);color:#fff;box-shadow:0 3px 10px #b5402f52}.btn-primary:hover{background:var(--shu-deep);transform:translateY(-1px);box-shadow:0 5px 16px #b5402f66}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;background:#b9afa3;transform:none}.btn-ghost{color:var(--ai-deep);border:1.5px solid var(--ai-deep);background:0 0}.btn-ghost:hover{background:#12263f0f}.btn-shu{background:linear-gradient(160deg, #c34a37, var(--shu-deep));color:#fff;font-family:var(--serif);letter-spacing:.14em;padding:14px 34px;font-size:16px;box-shadow:0 4px 14px #97352866}.btn-shu:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #9735287a}.btn-shu:disabled{box-shadow:none;cursor:not-allowed;background:#c8a49d}.btn-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.challenge{border-left:4px solid var(--shu);margin-bottom:18px;transition:box-shadow .2s;animation:.45s both rise}.challenge:hover{box-shadow:var(--shadow-2)}.challenge.decided{border-left-color:#4a7c59}.challenge:nth-child(2){animation-delay:50ms}.challenge:nth-child(3){animation-delay:.1s}.challenge:nth-child(4){animation-delay:.15s}.challenge:nth-child(5){animation-delay:.2s}.chip{letter-spacing:.14em;background:var(--ai-deep);color:#f0e9d8;border-radius:4px;margin-bottom:10px;padding:3px 10px;font-size:10.5px;font-weight:700;display:inline-block}.claim{color:var(--sumi);font-size:15.5px;font-weight:700;line-height:1.7}.anchor{color:#e8e6df;font-family:var(--mono);white-space:pre;background:#10161d;border:1px solid #263242;border-radius:8px;margin-top:12px;padding:12px 14px;font-size:12px;overflow-x:auto}.anchor .loc{color:#8ab4f8}.why{color:#5a5f64;margin-top:12px;font-size:13.5px}.why:before{content:"なぜ見るべきか — ";color:var(--shu);font-weight:700}.judge{border-top:1px dashed var(--line);margin-top:16px;padding-top:14px}.judge-options{flex-wrap:wrap;gap:8px;display:flex}.judge-options button{border:1px solid var(--line);cursor:pointer;color:#4a4f54;font-size:13px;font-family:var(--sans);background:#fff;border-radius:999px;padding:7px 18px;font-weight:500;transition:all .15s}.judge-options button:hover{border-color:var(--hai);transform:translateY(-1px)}.judge-options button.sel-addressed{color:#fff;background:#2e5e41;border-color:#2e5e41;box-shadow:0 2px 8px #2e5e4159}.judge-options button.sel-accepted{background:var(--kin);color:#fff;border-color:var(--kin);box-shadow:0 2px 8px #b98d2f59}.judge-options button.sel-refuted{background:var(--hai);color:#fff;border-color:var(--hai);box-shadow:0 2px 8px #8a8f9459}.judge textarea{min-height:54px;font-family:var(--sans);margin-top:12px;font-size:13.5px}.grey-box{background:linear-gradient(175deg,#eceade,#e6e3d4);border:1px solid #d3cfbd;border-radius:14px;padding:22px 26px;animation:.45s .2s both rise}.grey-box h3{font-family:var(--serif);color:#565b60;letter-spacing:.08em;margin-bottom:10px;font-size:16.5px}.grey-box li{color:#5f6468;margin-bottom:2px;margin-left:20px;font-size:13.5px}.grey-note{color:var(--hai);margin-top:12px;font-size:12px}@keyframes stamp{0%{opacity:0;transform:rotate(-6deg)scale(2.2)}55%{opacity:1;transform:rotate(-6deg)scale(.94)}to{opacity:.92;transform:rotate(-6deg)scale(1)}}.tegata{border:2px solid var(--kin);outline-offset:5px;box-shadow:var(--shadow-2);background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E"),linear-gradient(160deg,#fffdf4,#f7efdb);border-radius:12px;outline:1px solid #b98d2f66;padding:30px;animation:.5s both rise;position:relative;overflow:hidden}.tegata h3{font-family:var(--serif);letter-spacing:.28em;color:var(--ai-deep);font-size:24px;font-weight:800}.tegata .hanko{border:3.5px solid var(--shu);width:68px;height:68px;color:var(--shu);font-family:var(--serif);border-radius:10px;place-items:center;font-size:32px;font-weight:800;animation:.55s cubic-bezier(.2,1.4,.4,1) .25s both stamp;display:grid;position:absolute;top:22px;right:26px}.tegata dl{grid-template-columns:132px 1fr;gap:8px 14px;margin-top:18px;font-size:13.5px;display:grid}.tegata dt{color:#8a7b58;letter-spacing:.05em;font-weight:500}.tegata dd{font-family:var(--mono);word-break:break-all;color:#3a3f44;font-size:12.5px}.progress{color:#5a5f64;font-size:13.5px}.progress b{color:var(--shu);font-size:18px;font-family:var(--serif)}.err{color:var(--shu);margin-top:10px;font-size:13.5px;font-weight:500}.src-note{color:var(--hai);font-size:12px}.trace-box{background:radial-gradient(700px 200px at 100% 0%, #1c3a5eb3, transparent 65%), linear-gradient(165deg, var(--ai-night), var(--ai-deep));color:#dfe6ee;border:1px solid #24405f;border-radius:14px;margin-bottom:20px;padding:22px 26px;animation:.45s both rise}.trace-box h3{font-family:var(--serif);letter-spacing:.18em;color:var(--kin-soft);margin-bottom:12px;font-size:15px;font-weight:600}.trace-box ol{margin-left:4px;font-size:13.5px;list-style:none}.trace-box li{margin-bottom:8px;padding-left:22px;position:relative}.trace-box li:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:7px;height:7px;position:absolute;top:10px;left:6px}.trace-box li:not(:last-child):after{content:"";background:#d8c29440;width:1px;position:absolute;top:20px;bottom:-10px;left:9px}.agent-name{font-family:var(--serif);letter-spacing:.12em;margin-right:4px;font-weight:700}.agent-0{color:#9fc3ef}.agent-1{color:#efb6a8}.agent-2{color:#b8d8b8}.agent-3{color:#e8d49a}.trace-ms{color:#7d93ab;font-size:11px;font-family:var(--mono);margin-left:10px}.dropped{border-top:1px dashed #3a5474;margin-top:14px;padding-top:12px}.dropped-title{color:var(--kin-soft);letter-spacing:.06em;margin-bottom:6px;font-size:12.5px}.dropped ul{color:#a9b6c4;margin-left:0;font-size:12.5px;list-style:none}.dropped ul li:after{display:none}.philosophy{border-top:2px solid var(--ai-deep);grid-template-columns:repeat(2,1fr);gap:34px 44px;margin-top:84px;padding-top:40px;padding-bottom:30px;display:grid;position:relative}.philosophy:before{content:"所";background:var(--ai-deep);color:var(--kin-soft);font-family:var(--serif);border-radius:8px;place-items:center;width:40px;height:40px;font-size:16px;display:grid;position:absolute;top:-21px;left:0}@media (max-width:720px){.philosophy{grid-template-columns:1fr}}.philosophy h4{font-family:var(--serif);color:var(--ai-deep);letter-spacing:.06em;border-left:3px solid var(--kin);margin-bottom:8px;padding-left:14px;font-size:17px;font-weight:700}.philosophy p{color:#55595e;font-size:13.5px}.site-footer{background:linear-gradient(165deg, var(--ai-night), var(--ai-deep));margin-top:90px;position:relative;overflow:hidden}.site-footer:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60' viewBox='0 0 120 60'%3E%3Cg fill='none' stroke='%23d8c294' stroke-opacity='0.12' stroke-width='1.4'%3E%3Ccircle cx='30' cy='62' r='28'/%3E%3Ccircle cx='30' cy='62' r='21'/%3E%3Ccircle cx='30' cy='62' r='14'/%3E%3Ccircle cx='90' cy='62' r='28'/%3E%3Ccircle cx='90' cy='62' r='21'/%3E%3Ccircle cx='90' cy='62' r='14'/%3E%3Ccircle cx='0' cy='34' r='28'/%3E%3Ccircle cx='0' cy='34' r='21'/%3E%3Ccircle cx='60' cy='34' r='28'/%3E%3Ccircle cx='60' cy='34' r='21'/%3E%3Ccircle cx='120' cy='34' r='28'/%3E%3Ccircle cx='120' cy='34' r='21'/%3E%3C/g%3E%3C/svg%3E");background-size:120px 60px;position:absolute;inset:0}.footer-inner{color:#a9b6c4;flex-wrap:wrap;justify-content:space-between;gap:10px;max-width:1020px;margin:0 auto;padding:34px 24px;font-size:12.5px;display:flex;position:relative}.footer-motto{font-family:var(--serif);color:var(--kin-soft);letter-spacing:.12em}.page-head{padding:60px 0 10px}.page-head h1{font-family:var(--serif);color:var(--ai-deep);letter-spacing:.1em;font-size:clamp(26px,4vw,38px);font-weight:800}.page-head p.lead{color:#55595e;max-width:720px;margin-top:14px;font-size:14.5px}.ledger-item{margin-bottom:16px;animation:.4s both rise}.ledger-item summary{cursor:pointer;font-size:14px}.ledger-item summary code{font-family:var(--mono);color:var(--ai);font-size:12px}.ledger-detail{margin-top:12px;font-size:13px}.ledger-detail pre{color:#e8e6df;background:#10161d;border:1px solid #263242;border-radius:8px;padding:14px;font-size:11.5px;overflow-x:auto}.ok-badge{color:#2e5e41;font-weight:700}.ng-badge{color:var(--shu);font-weight:700}
