:root{--page-w:1123px;--page-h:794px;--pad:48px;--ink:#16202b;--ink-weak:#5b6b7c;--line:#d6dee7;--accent:#0b6bcb;--accent-weak:#e8f1fb;--bg-soft:#f5f7fa;--font:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif}.page{box-sizing:border-box;width:var(--page-w);height:var(--page-h);padding:var(--pad);color:var(--ink);font-family:var(--font);background:#fff;flex-direction:column;gap:20px;font-size:16px;line-height:1.6;display:flex;position:relative;overflow:hidden}.page-header{border-bottom:2px solid var(--accent);flex:none;padding-bottom:10px}.page-eyebrow{letter-spacing:.08em;color:var(--accent);margin:0 0 4px;font-size:13px;font-weight:600}.page-title{margin:0;font-size:28px;font-weight:700;line-height:1.35}.page-body{flex-direction:column;flex:auto;gap:16px;min-height:0;display:flex}.page-footer{color:var(--ink-weak);border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:baseline;padding-top:8px;font-size:12px;display:flex}.lead{color:var(--ink-weak);margin:0;font-size:18px}.cols-2,.cols-3{align-items:start;gap:16px;display:grid}.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:repeat(3,1fr)}.card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px 18px}.card-title{margin:0 0 8px;font-size:17px;font-weight:700}.card-body{font-size:15px}.card-body p{margin:0 0 6px}.card-body p:last-child{margin-bottom:0}.tag{background:var(--bg-soft);border:1px solid var(--line);color:var(--ink-weak);border-radius:999px;padding:2px 10px;font-size:12px;display:inline-block}.tag-accent{background:var(--accent-weak);border-color:var(--accent);color:var(--accent);font-weight:600}.badge-num{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-right:8px;font-size:14px;font-weight:700;display:inline-flex}.kpi-row{grid-auto-columns:1fr;grid-auto-flow:column;gap:16px;display:grid}.kpi{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.kpi-value{color:var(--accent);font-size:40px;font-weight:700;line-height:1.1}.kpi-unit{margin-left:2px;font-size:20px}.kpi-label{color:var(--ink-weak);font-size:13px}.conclusion{background:var(--accent);color:#fff;border-radius:8px;padding:14px 20px;font-size:18px;font-weight:700}.bullets{margin:0;padding-left:1.2em}.bullets>li{margin-bottom:6px}.note{color:var(--ink-weak);margin:0;font-size:12px}.callout{border-left:4px solid var(--accent);background:var(--accent-weak);border-radius:0 8px 8px 0;padding:12px 16px;font-size:15px}.flow{align-items:stretch;gap:28px;display:flex}.flow-step{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;flex:1 1 0;gap:6px;padding:14px 16px;display:flex;position:relative}.flow-step+.flow-step:before{content:"";background:var(--accent);width:16px;height:2px;position:absolute;top:50%;left:-22px}.flow-step+.flow-step:after{content:"";border-left:8px solid var(--accent);border-top:5px solid #0000;border-bottom:5px solid #0000;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.flow-step-title{font-size:15px;font-weight:700}.flow-step-body{color:var(--ink-weak);font-size:13px}.swimlane{border:1px solid var(--line);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.swimlane-row{border-bottom:1px solid var(--line);grid-template-columns:160px repeat(auto-fit,minmax(0,1fr));display:grid}.swimlane-row:last-child{border-bottom:none}.swimlane-head{background:var(--bg-soft);border-right:1px solid var(--line);padding:12px 14px;font-size:14px;font-weight:700}.swimlane-cell{border-right:1px solid var(--line);padding:12px 14px;font-size:13px}.swimlane-cell:last-child{border-right:none}.matrix,.data{border-collapse:collapse;width:100%;font-size:14px}.matrix th,.matrix td,.data th,.data td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 12px}.matrix th,.data th{background:var(--bg-soft);font-weight:700}.data tbody tr:nth-child(2n){background:#fafbfd}.figure{flex-direction:column;align-items:center;gap:6px;display:flex}.figure svg{max-width:100%;height:auto;max-height:460px}.figure-caption{color:var(--ink-weak);margin:0;font-size:12px}.preview{background:#eef1f5;flex-direction:column;align-items:center;gap:24px;padding:24px;display:flex}.preview .page-frame{background:#fff;border-radius:4px;position:relative;overflow:hidden;box-shadow:0 6px 24px #1421302e}.preview .page-index{z-index:2;color:#fff;background:#16202bb8;border-radius:4px;padding:2px 8px;font-size:12px;position:absolute;top:8px;left:8px}@page{size:A4 landscape;margin:0}@media print{html,body{background:#fff;margin:0;padding:0}.no-print{display:none!important}.preview{background:#fff;padding:0;display:block}.preview .page-frame{box-shadow:none;border-radius:0;width:auto!important;height:auto!important;transform:none!important}.preview .page-index{display:none}.page{break-after:page;page-break-after:always;box-shadow:none}.page:last-child{break-after:auto;page-break-after:auto}}
:root{--app-bg:#f4f6f9;--app-panel:#fff;--app-line:#dde3ea;--app-ink:#16202b;--app-ink-weak:#62717f;--app-accent:#0b6bcb;--app-accent-weak:#e8f1fb;--app-danger:#c0392b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--app-bg);color:var(--app-ink);margin:0;padding:0;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif;font-size:14px;line-height:1.7}a{color:var(--app-accent)}.nav{background:var(--app-panel);border-bottom:1px solid var(--app-line);z-index:20;align-items:center;gap:20px;height:52px;padding:0 20px;display:flex;position:sticky;top:0}.nav-brand{color:var(--app-ink);font-size:15px;font-weight:700;text-decoration:none}.nav-links{flex:1;align-items:center;gap:14px;display:flex}.nav-links a{color:var(--app-ink-weak);padding:4px 2px;font-size:13px;text-decoration:none}.nav-links a:hover{color:var(--app-accent)}.nav-user{color:var(--app-ink-weak);align-items:center;gap:10px;font-size:12px;display:flex}.container{max-width:1180px;margin:0 auto;padding:24px 20px 64px}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.page-heading h1{margin:0;font-size:20px}.panel{background:var(--app-panel);border:1px solid var(--app-line);border-radius:10px;margin-bottom:20px;padding:18px 20px}.panel h2{margin:0 0 12px;font-size:15px}.form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.field{flex-direction:column;gap:4px;min-width:160px;display:flex}.field>span{color:var(--app-ink-weak);font-size:12px}input[type=text],input[type=email],input[type=search],select,textarea{font:inherit;border:1px solid var(--app-line);color:inherit;background:#fff;border-radius:6px;padding:7px 10px}textarea{resize:vertical}button,.button{font:inherit;border:1px solid var(--app-accent);background:var(--app-accent);color:#fff;cursor:pointer;border-radius:6px;padding:7px 14px;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:not-allowed}.button-ghost{color:var(--app-accent);background:#fff}.button-quiet{color:var(--app-ink-weak);border-color:var(--app-line);background:#fff}.table{border-collapse:collapse;background:var(--app-panel);width:100%;font-size:13px}.table th,.table td{border-bottom:1px solid var(--app-line);text-align:left;vertical-align:top;padding:9px 12px}.table th{color:var(--app-ink-weak);white-space:nowrap;background:#f8fafc;font-weight:600}.table tr:last-child td{border-bottom:none}.pill{border:1px solid var(--app-line);color:var(--app-ink-weak);background:#f8fafc;border-radius:999px;padding:1px 9px;font-size:11px;display:inline-block}.pill-vendor{color:#a45c05;background:#fdf3e5;border-color:#d98324}.pill-internal{border-color:var(--app-accent);color:var(--app-accent);background:var(--app-accent-weak)}.pill-private{color:#56606e;border-color:#7a8595}.muted{color:var(--app-ink-weak)}.empty{text-align:center;color:var(--app-ink-weak);padding:32px}.alert{color:var(--app-danger);background:#fdf1f0;border:1px solid #f0c2bd;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.login-shell{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--app-panel);border:1px solid var(--app-line);text-align:center;border-radius:12px;width:380px;padding:36px 32px}.login-card h1{margin:0 0 6px;font-size:20px}.login-card p{color:var(--app-ink-weak);margin:0 0 22px;font-size:13px}.studio{grid-template-columns:minmax(0,1fr) 420px;height:calc(100vh - 52px);display:grid}.studio-preview{background:#eef1f5;overflow:auto}.studio-chat{border-left:1px solid var(--app-line);background:var(--app-panel);flex-direction:column;min-height:0;display:flex}.studio-bar{border-bottom:1px solid var(--app-line);background:var(--app-panel);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.studio-bar .grow{flex:1}.chat-log{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:10px;padding:10px 13px;font-size:13px}.bubble-user{background:var(--app-accent-weak);border:1px solid #cfe1f6;align-self:flex-end;max-width:90%}.bubble-ai{border:1px solid var(--app-line);background:#f7f9fb;max-width:95%}.bubble-status{color:var(--app-ink-weak);font-size:12px;font-style:normal}.bubble-error{color:var(--app-danger);background:#fdf1f0;border:1px solid #f0c2bd}.chat-form{border-top:1px solid var(--app-line);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.chat-form textarea{min-height:76px;font-size:13px}.chat-form-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.file-list{color:var(--app-ink-weak);flex-wrap:wrap;gap:6px;font-size:11px;display:flex}.reasoning{color:var(--app-ink-weak);white-space:pre-wrap;border-left:2px solid var(--app-line);max-height:120px;padding-left:8px;font-size:11px;overflow:auto}.card-ask,.card-report{border:1px solid var(--app-accent);background:#fff;border-radius:10px;padding:12px 14px;font-size:13px}.card-report{border-color:var(--app-line)}.card-ask-head{color:var(--app-accent);margin-bottom:8px;font-size:13px;font-weight:700}.card-report .card-ask-head{color:var(--app-ink)}.card-ask-q{margin-bottom:10px}.card-ask-label{color:var(--app-ink-weak);margin-bottom:4px;font-size:12px}.card-ask-option{cursor:pointer;align-items:center;gap:6px;padding:3px 0;display:flex}.card-ask-option input{margin:0}.card-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.report-items{margin:0;padding:0;font-size:12px;list-style:none}.report-items li{align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.verdict{flex:none;font-weight:700}.verdict-ok{color:var(--app-accent)}.verdict-ng{color:var(--app-danger)}.verdict-unknown{color:var(--app-ink-weak)}.score-row{flex-wrap:wrap;gap:6px;display:flex}
