:root{--bg:#f5f7fb;--paper:#ffffffeb;--white:#fff;--ink:#172033;--muted:#647084;--line:#e4e8f0;--blue:#2563eb;--blue-dark:#1d4ed8;--blue-soft:#dbeafe;--green:#047857;--green-soft:#dcfce7;--orange:#b45309;--orange-soft:#fef3c7;--red:#dc2626;--red-soft:#fee2e2;--purple:#7c3aed;--purple-soft:#ede9fe;--shadow:0 18px 48px #0f172a14;--shadow-sm:0 10px 26px #0f172a0f;--radius:28px;--radius-sm:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at 7% -5%, #2563eb2e, transparent 34rem), radial-gradient(circle at 95% 2%, #7c3aed1f, transparent 32rem), radial-gradient(circle at 70% 32%, #04785714, transparent 24rem), var(--bg);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,Hiragino Sans,Yu Gothic UI,sans-serif;line-height:1.75}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:300px minmax(0,1fr);gap:24px;width:min(1380px,100% - 32px);margin:0 auto;padding:26px 0 64px;display:grid}.sidebar{background:var(--paper);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #e4e8f0e6;border-radius:28px;align-self:start;padding:18px;position:sticky;top:20px}.brand{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:14px;padding:6px 6px 16px;display:flex}.logo{background:linear-gradient(135deg, var(--blue), var(--purple));color:#fff;border-radius:16px;place-items:center;width:46px;height:46px;font-weight:1000;display:grid;box-shadow:0 12px 28px #2563eb40}.brand strong{line-height:1.35;display:block}.brand span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.sidebar nav{gap:8px;display:grid}.sidebar nav a{color:#334155;border-radius:14px;padding:10px 12px;font-size:14px;font-weight:800;text-decoration:none;transition:all .18s}.sidebar nav a:hover{background:var(--blue-soft);color:var(--blue-dark)}.side-alert{background:linear-gradient(135deg, #fff, var(--orange-soft));color:#78350f;border:1px solid #fde68a;border-radius:18px;margin-top:16px;padding:14px;font-size:13px}.side-alert b{margin-bottom:4px;display:block}.side-alert p{margin:0}main{min-width:0}.hero,.section{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fffffff0;border:1px solid #e4e8f0f0}.hero{box-shadow:var(--shadow);background:linear-gradient(135deg,#fffffffa,#eff6fff5);padding:clamp(28px,5vw,56px);position:relative;overflow:hidden}.hero:after{content:"";background:linear-gradient(135deg,#2563eb29,#7c3aed1f);border-radius:50%;width:290px;height:290px;position:absolute;bottom:-120px;right:-100px}.eyebrow,.pill{border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:1000;display:inline-flex}.eyebrow{background:var(--blue-soft);color:var(--blue-dark)}.hero h1{z-index:1;letter-spacing:-.055em;max-width:900px;margin:16px 0 0;font-size:clamp(34px,6vw,62px);line-height:1.08;position:relative}.hero p{z-index:1;color:#4b5563;max-width:860px;margin:18px 0 0;font-size:clamp(15px,2vw,18px);position:relative}.hero-actions{z-index:1;flex-wrap:wrap;gap:12px;margin-top:26px;display:flex;position:relative}.button{background:var(--blue);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:1000;text-decoration:none;transition:all .18s;display:inline-flex;box-shadow:0 12px 28px #2563eb33}.button:hover{transform:translateY(-1px)}.button.ghost{color:#334155;border:1px solid var(--line);box-shadow:none;background:#fff}.button.small{box-shadow:none;padding:8px 12px;font-size:13px}.button.primary{background:var(--blue);color:#fff}.stats{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px;display:grid;position:relative}.stats div{border:1px solid var(--line);background:#ffffffe0;border-radius:20px;padding:16px}.stats strong{color:var(--blue-dark);font-size:25px;line-height:1.1;display:block}.stats span{color:var(--muted);margin-top:6px;font-size:13px;display:block}.section{margin-top:24px;padding:clamp(20px,3vw,32px)}.section-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.section h2{letter-spacing:-.04em;margin:10px 0 0;font-size:clamp(24px,4vw,36px);line-height:1.2}.section-head p{color:var(--muted);margin:8px 0 0}.pill.blue{background:var(--blue-soft);color:var(--blue-dark)}.pill.green{background:var(--green-soft);color:var(--green)}.pill.red{background:var(--red-soft);color:var(--red)}.pill.orange{background:var(--orange-soft);color:var(--orange)}.pill.purple{background:var(--purple-soft);color:var(--purple)}.pill.gray{color:#475569;background:#f1f5f9}.pill.dark{color:#f9fafb;background:#111827}.task-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.task-card{text-align:left;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:20px;min-height:170px;padding:18px;transition:all .18s}.task-card span{margin-bottom:8px;font-size:30px;display:block}.task-card strong{margin-bottom:6px;font-size:18px;display:block}.task-card small{color:var(--muted);font-size:13px;line-height:1.65;display:block}.task-card:hover,.task-card.active{border-color:#2563eb85;transform:translateY(-2px);box-shadow:0 16px 30px #2563eb1c}.task-card.active{background:linear-gradient(135deg, white, var(--blue-soft))}.judge-layout,.maker-layout{grid-template-columns:.92fr 1.08fr;align-items:stretch;gap:18px;display:grid}.panel,.risk-panel,.prompt-output,.recipe-detail,.note-box{border:1px solid var(--line);background:#fff;border-radius:22px;padding:20px}label{gap:8px;margin-bottom:14px;font-weight:1000;display:grid}select,textarea,input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfdff;border-radius:15px;padding:11px 12px}textarea{resize:vertical;min-height:110px}.risk-panel{align-content:start;gap:14px;display:grid}.risk-panel.ok{background:linear-gradient(135deg,#fff,#f0fdf4)}.risk-panel.caution{background:linear-gradient(135deg,#fff,#fffbeb)}.risk-panel.confirm,.risk-panel.ng{background:linear-gradient(135deg,#fff,#fff5f5)}.risk-title{align-items:center;gap:12px;display:flex}.risk-icon{background:var(--blue-soft);width:56px;height:56px;color:var(--blue-dark);border-radius:18px;place-items:center;font-size:17px;font-weight:1000;display:grid}.risk-panel.ok .risk-icon{background:var(--green-soft);color:var(--green)}.risk-panel.caution .risk-icon{background:var(--orange-soft);color:var(--orange)}.risk-panel.confirm .risk-icon,.risk-panel.ng .risk-icon{background:var(--red-soft);color:var(--red)}.risk-title strong{font-size:22px;line-height:1.35;display:block}.risk-title span{color:var(--muted);margin-top:2px;font-size:13px;display:block}.risk-panel ul,.recipe-detail ul{color:#475569;margin:0;padding-left:1.2em}.detect-box{background:#fef2f2ad;border:1px dashed #dc26264d;border-radius:18px;padding:14px}.detect-box p{color:var(--muted);margin:6px 0 0}.prompt-output{flex-direction:column;min-height:100%;display:flex}.prompt-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.prompt-output pre,.template-card pre{white-space:pre-wrap;color:#f8fafc;background:#111827;border-radius:18px;margin:0;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.65;overflow:auto}.prompt-output pre{flex:1;min-height:330px}.recipe-detail{grid-template-columns:.8fr 1.2fr;gap:20px;margin-bottom:18px;display:grid}.big-icon{margin-bottom:10px;font-size:46px;display:block}.recipe-main h3{margin:0 0 8px;font-size:28px}.recipe-main p{color:var(--muted);margin:0}.recipe-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.recipe-cols div{border:1px solid var(--line);background:#f8fafc;border-radius:18px;padding:14px}.recipe-cols h4{margin:0 0 8px}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.template-card{border:1px solid var(--line);background:#fff;border-radius:20px;gap:12px;padding:18px;display:grid}.template-card h4{margin:8px 0 0}.template-card pre{max-height:230px}.template-card .button{justify-self:start}.checklist{gap:10px;margin-bottom:14px;display:grid}.check-item{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:28px 1fr;align-items:start;gap:10px;margin:0;padding:13px;font-weight:800;display:grid}.check-item input{width:21px;height:21px;accent-color:var(--blue);margin:3px 0 0}.rule-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.rule-grid article{border:1px solid var(--line);background:#fff;border-radius:20px;padding:18px}.rule-grid article span{color:var(--blue-dark);font-size:13px;font-weight:1000}.rule-grid article h3{margin:6px 0 8px}.rule-grid article p{color:var(--muted);margin:0;font-size:14px}.faq{gap:10px;margin-top:16px;display:grid}details{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}summary{cursor:pointer;padding:15px 17px;font-weight:1000}details p{color:var(--muted);margin:0;padding:0 17px 17px}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.admin-grid label{border:1px solid var(--line);background:#fff;border-radius:20px;padding:16px}.admin-grid textarea{min-height:150px}.note-box{background:linear-gradient(135deg, #fff, var(--blue-soft));margin-top:16px}.note-box p{color:#334155;margin:6px 0 0}footer{text-align:center;color:var(--muted);padding:24px 0 0;font-size:13px}@media (width<=1100px){.app-shell{padding-top:16px;display:block}.sidebar{margin-bottom:18px;position:static}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.task-grid,.stats,.rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.judge-layout,.maker-layout,.recipe-detail{grid-template-columns:1fr}}@media (width<=720px){.app-shell{width:min(100% - 22px,1380px)}.hero,.section{border-radius:22px}.sidebar nav,.task-grid,.stats,.rule-grid,.recipe-cols,.template-grid,.admin-grid{grid-template-columns:1fr}.button{width:100%}.prompt-head{display:grid}}@media print{body{background:#fff}.sidebar,.hero-actions,.button,#admin{display:none!important}.app-shell{width:100%;padding:0;display:block}.hero,.section{box-shadow:none;break-inside:avoid}.prompt-output pre,.template-card pre{color:#111827;background:#f3f4f6}}
