@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Noto+Sans+JP:wght@400;500;700&display=swap");:root{--bg:#f5f1e9;--panel:#fffdf9;--panel2:#f3eee4;--panel3:#fffefb;--panel4:#f6f2ea;--line:#e7e0d3;--line2:#f0e9dc;--line3:#ece4d4;--line-input:#d8cfbd;--text:#20201c;--text-strong:#1c1b18;--ink:#181712;--muted:#6a6256;--faint:#6f6759;--fainter:#777063;--placeholder:#a59c8b;--accent:#2f4858;--accent-ink:#27414f;--accent-2:#3a4f5a;--accent-soft:#e7edf1;--accent-soft-bd:#cdd9de;--go:#3f6f53;--warn:#875c12;--crit:#a8432f;--info:#2f4858;--jp:"Noto Sans JP",system-ui,sans-serif;--head:"Zen Kaku Gothic New",system-ui,sans-serif;--num:"Plus Jakarta Sans","Noto Sans JP",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;background:radial-gradient(1100px 520px at 78% -8%,#eef2ec 0,transparent 60%),var(--bg);color:var(--text);font-family:var(--jp);line-height:1.7;-webkit-font-smoothing:antialiased}.bench{padding:22px 16px 140px}.wrap{max-width:880px;margin:0 auto}.kicker{font-family:var(--num);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--go);margin:0 0 10px}.h1,.kicker{font-weight:700}.h1{font-family:var(--head);font-size:clamp(24px,5vw,34px);margin:0 0 6px;letter-spacing:.01em;line-height:1.3;color:var(--ink)}.sub{color:var(--muted);font-size:14px;margin:0 0 26px}.gauge{display:flex;align-items:center;gap:24px;margin:0 0 16px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px 24px;box-shadow:0 3px 12px rgba(40,35,25,.05)}.ring{flex:0 0 auto}.ring .num{font-weight:700;font-size:25px}.ring .lab,.ring .num{font-family:var(--num)}.ring .lab{font-size:9px;letter-spacing:.18em;fill:var(--faint)}.meta{flex:1 1;min-width:0}.meta .row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);padding:7px 0;border-bottom:1px solid var(--line2)}.meta .row:last-child{border-bottom:0}.meta .row b{font-family:var(--head);color:var(--text);font-weight:700}.state-go{color:var(--go)}.state-warn{color:var(--warn)}.state-crit{color:var(--crit)}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:0 0 16px;box-shadow:0 3px 12px rgba(40,35,25,.05)}.card .hd{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card .hd .t{font-family:var(--head);font-weight:700;font-size:15px;color:var(--text)}.card .hd .tag{font-family:var(--num);font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--muted);background:#f0ebe0;border-radius:999px;padding:4px 11px}.card .bd{padding:0 22px 20px;border-top:1px solid var(--line2)}.brief{line-height:1.85;white-space:pre-wrap;background:var(--panel2);border:1px solid var(--line3);border-radius:12px;padding:16px;margin:16px 0 0;color:#3a362e;overflow-x:auto}.brief,.goal{font-size:13px}.goal{color:var(--muted);margin:14px 0 0;line-height:1.8}.goal b{color:var(--text);font-weight:700}.log{display:flex;flex-direction:column;gap:14px;max-height:none;overflow-y:visible;padding:2px}.msg{border-radius:15px;padding:13px 15px;font-size:13.5px;line-height:1.75;max-width:90%;white-space:pre-wrap;word-break:break-word}.msg.user{align-self:flex-end;background:var(--accent-soft);border:1px solid var(--accent-soft-bd);border-radius:15px 15px 5px 15px;color:var(--text)}.msg.assistant{align-self:flex-start;background:var(--panel2);border:1px solid var(--line3);border-radius:15px 15px 15px 5px;font-size:13px;line-height:1.8;color:#3a362e}.who{font-family:var(--num);font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0 0 5px}.empty,.who{color:var(--faint)}.empty{font-size:13px;text-align:center;padding:30px 10px}.dots span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--muted);margin:0 2px;animation:b 1.2s infinite}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes b{0%,80%,to{opacity:.25}40%{opacity:1}}.composer{position:fixed;left:0;right:0;bottom:0;background:linear-gradient(transparent,var(--bg) 26%);padding:18px 24px 22px}.composer .inner{max-width:880px;margin:0 auto;display:flex;gap:12px;align-items:flex-end}textarea{flex:1 1;resize:none;background:var(--panel);color:var(--text);border:1px solid var(--line-input);border-radius:15px;padding:13px 16px;font-family:var(--jp);font-size:13.5px;line-height:1.6;min-height:50px;max-height:140px;outline:none;box-shadow:0 4px 16px rgba(40,35,25,.07)}textarea:focus{border-color:var(--accent)}textarea::placeholder{color:var(--placeholder)}button{font-family:var(--head);cursor:pointer;border:0;border-radius:12px;font-weight:500;letter-spacing:.01em}.send{background:var(--accent);color:#fffdf9;padding:0 26px;height:50px;font-size:14px;box-shadow:0 3px 10px rgba(47,72,88,.26)}.send:disabled{opacity:.4;cursor:not-allowed}.ghost{background:transparent;color:var(--muted);border:1px solid var(--line-input);border-radius:11px;padding:10px 17px;font-size:13px}.ghost:hover{color:var(--text);border-color:var(--accent)}.big{background:var(--accent);color:#fffdf9;padding:15px 28px;font-size:15px;width:100%;border-radius:14px;box-shadow:0 6px 20px rgba(47,72,88,.3)}.big:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(47,72,88,.34)}.big:disabled{opacity:.4;cursor:not-allowed;transform:none}.rules{list-style:none;padding:0;margin:18px 0 0}.rules li{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line2);font-size:14px;color:var(--muted)}.rules li:last-child{border-bottom:0}.rules .n{font-family:var(--num);color:var(--go);font-size:12px;flex:0 0 auto;padding-top:2px}.rubric{margin:16px 0 0;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 8px rgba(40,35,25,.04)}.rubric .lb{font-family:var(--num);font-size:10.5px;letter-spacing:.12em;color:var(--faint);text-transform:uppercase;margin:0 0 11px;font-weight:600}.rubric ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.85}.rubric li{margin:5px 0}.summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin:0 0 22px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:16px 18px;box-shadow:0 2px 8px rgba(40,35,25,.04)}.stat .v{font-family:var(--num);font-size:26px;font-weight:700;color:var(--text);line-height:1}.stat .k{font-size:11.5px;color:var(--muted);margin-top:8px}.artifact{font-family:var(--num);font-size:12.5px;line-height:1.8;white-space:pre-wrap;background:var(--panel4);border:1px solid var(--line3);border-radius:10px;padding:15px;max-height:340px;overflow:auto;margin:0;color:#3a362e}.tline{list-style:none;padding:0;margin:0}.tline li{padding:13px 0;border-bottom:1px solid var(--line2)}.tline li:last-child{border-bottom:0}.tline .ts{font-family:var(--num);font-size:11px;font-weight:600;color:var(--accent);letter-spacing:.04em;margin-bottom:5px}.tline .pt{font-size:13px;line-height:1.8;white-space:pre-wrap;word-break:break-word;color:#3a362e}.barrow{gap:12px;margin-top:18px}.barrow,.nav{display:flex;flex-wrap:wrap;align-items:center}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:5;gap:24px;padding:13px 28px;background:var(--panel);border-bottom:1px solid var(--line)}.nav .brandmark{gap:9px;margin-right:0}.nav .brandmark,.nav .logo{display:flex;align-items:center}.nav .logo{width:28px;height:28px;border-radius:9px;background:var(--accent);justify-content:center;flex:0 0 auto}.nav .logo i{width:10px;height:10px;background:var(--panel);border-radius:3px;display:block}.nav .brand{font-family:var(--head);font-weight:700;font-size:16px;color:var(--text);letter-spacing:.01em}.nav .links{display:flex;gap:3px;flex-wrap:wrap}.nav a{font-family:var(--jp);font-size:13px;color:var(--muted);text-decoration:none;padding:7px 13px;border-radius:9px;border:0}.nav a.active,.nav a:hover{color:var(--text)}.nav a.active{background:#f0ebe0;font-weight:500}.nav .spacer{flex:1 1}.nav .avatar{width:32px;height:32px;border-radius:50%;background:var(--line3);display:flex;align-items:center;justify-content:center;font-family:var(--num);font-size:13px;font-weight:700;color:var(--muted);flex:0 0 auto}.page{max-width:1000px;margin:0 auto;padding:28px 28px 90px}.page h2{font-family:var(--head);font-size:25px;font-weight:700;margin:0 0 8px;color:var(--text);letter-spacing:.01em}.page .lead{color:var(--muted);font-size:13px;margin:0 0 22px;line-height:1.8}label.fld{display:block;margin:0 0 14px}label.fld .lb{font-family:var(--num);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);display:block;margin:0 0 7px}input.in,select.in,textarea.in{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--line-input);border-radius:11px;padding:11px 14px;font-family:var(--jp);font-size:14px;outline:none}input.in:focus,select.in:focus,textarea.in:focus{border-color:var(--accent)}input.in::placeholder,textarea.in::placeholder{color:var(--placeholder)}textarea.in{resize:vertical;min-height:80px;font-size:13.5px;line-height:1.8}.btn{background:var(--accent);color:#fffdf9;padding:11px 19px;font-size:13.5px;border-radius:11px;box-shadow:0 2px 7px rgba(47,72,88,.22)}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(47,72,88,.26)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btnrow{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:6px}table.tbl{width:100%;border-collapse:collapse;font-size:13px}table.tbl th{font-family:var(--num);font-size:10.5px;font-weight:500;letter-spacing:.04em;color:var(--fainter);text-align:left;padding:0 12px 12px}table.tbl td{padding:15px 12px;border-top:1px solid var(--line2);color:var(--text)}table.tbl thead th{border-bottom:1px solid var(--line3)}table.tbl tr:hover td{background:var(--panel2)}table.tbl a{font-family:var(--head);color:var(--accent);text-decoration:none;font-weight:500}table.tbl a:hover{color:var(--accent-ink)}.pill{font-family:var(--head);font-size:11px;font-weight:500;padding:4px 11px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.pill.go{color:var(--go);background:#eaf1ec;border-color:#cfe0d4}.pill.warn{color:var(--warn);background:#f5edda;border-color:#e6d6ad}.pill.crit{color:var(--crit);background:#f6e7e1;border-color:#e8c8bd}.pill.info{color:var(--info);background:#e6edf0;border-color:#cdd9de}.pill.mut{color:var(--muted);background:#efeae0;border-color:#ddd5c6}.fpills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.fpill{font-family:var(--jp);font-size:12.5px;padding:7px 15px;border-radius:999px;color:var(--muted);background:#f0ebe0;border:0;cursor:pointer}.fpill:hover{color:var(--text)}.fpill.active{color:#fffdf9;background:var(--accent);font-weight:500}.notice{font-size:12.5px;color:var(--muted);background:var(--panel2);border:1px solid var(--line3);border-radius:12px;padding:12px 16px;margin:0 0 16px;line-height:1.75}.err{color:var(--crit);font-size:13px;margin:8px 0}.tiles{display:flex;border:1px solid var(--line3);border-radius:14px;padding:20px 6px;background:var(--panel3);margin-bottom:22px}.tile{flex:1 1;padding:0 22px;border-right:1px solid var(--line2)}.tile:last-child{border-right:0}.tile .tk{font-size:11px;letter-spacing:.04em;color:var(--faint);margin-bottom:10px}.tile .tv{font-family:var(--num);font-size:29px;font-weight:700;color:var(--text);line-height:1}.tile .tv small{font-size:18px;font-weight:600}.tile .td{font-size:11.5px;color:var(--faint);margin-top:8px}.tile .td.up{color:var(--go)}.score-axis{margin:0 0 14px;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 8px rgba(40,35,25,.04)}.score-axis .ax-label{align-items:center;font-family:var(--head);font-size:14px;font-weight:700;margin:0 0 12px;color:var(--text)}.score-axis .ax-label,.score-opts{display:flex;gap:9px;flex-wrap:wrap}.score-opts button{border:1px solid var(--line-input);background:var(--panel3);color:var(--muted);padding:10px 13px;font-size:12.5px;border-radius:10px;text-align:left;flex:1 1;min-width:180px;font-family:var(--jp)}.score-opts button.sel{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.score-opts .sc{font-family:var(--num);font-weight:700;font-size:14px;color:var(--fainter);margin-right:8px}.score-opts button.sel .sc{color:var(--accent)}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}:focus:not(:focus-visible){outline:none}.accommodation{margin:14px 0 0;font-size:12.5px;color:var(--muted)}.accommodation summary{cursor:pointer;color:var(--accent);font-weight:500}.accommodation .bd{margin-top:8px;padding:10px 12px;background:var(--panel2);border:1px solid var(--line3);border-radius:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.eyebrow{font-family:var(--num);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--go);margin:0 0 8px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(63,111,83,.55)}70%{box-shadow:0 0 0 9px rgba(63,111,83,0)}to{box-shadow:0 0 0 0 rgba(63,111,83,0)}}@keyframes pulseDotRed{0%{box-shadow:0 0 0 0 rgba(194,58,58,.5)}70%{box-shadow:0 0 0 8px rgba(194,58,58,0)}to{box-shadow:0 0 0 0 rgba(194,58,58,0)}}@keyframes auraPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.95;transform:scale(1.06)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none}[style*=animation]{animation:none!important}}.lift-card{transition:transform .25s,box-shadow .25s,border-color .25s}.lift-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(40,35,25,.1);border-color:#cfe0d4}@media (max-width:980px){.hero-grid{grid-template-columns:1fr!important;gap:40px!important}.card-grid-4{grid-template-columns:repeat(2,1fr)!important}.card-grid-3{grid-template-columns:1fr!important}}@media (max-width:860px){.summary{grid-template-columns:repeat(2,1fr)}.tiles{flex-wrap:wrap;gap:4px 0}.tile{flex:1 1 50%;border-right:0;padding:12px 18px}}@media (max-width:640px){.card-grid-2,.card-grid-4{grid-template-columns:1fr!important}.nav-secondary{display:none!important}}