
:root{--navy:#0F2A4A;--blue:#2B6CE5;--teal:#12A39A;--bg:#F4F8FC;--card:#FFFFFF;--text:#102033;--muted:#5E7187;--line:#D9E5F0;--warn:#F59E0B;--danger:#DC2626;--ok:#059669;--shadow:0 14px 34px rgba(15,42,74,.08)}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans TC","Microsoft JhengHei",sans-serif;background:var(--bg);color:var(--text);line-height:1.75}.workbench-shell{max-width:1180px;margin:0 auto;padding:24px}.workbench-hero{background:linear-gradient(135deg,#0B2440,#123A62 58%,#0C5B6F);color:white;border-radius:30px;padding:28px;box-shadow:var(--shadow);overflow:hidden}.workbench-brand{display:flex;align-items:center;gap:18px}.workbench-brand img{width:72px;height:72px;border-radius:50%;background:#fff;padding:6px}.eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#BFE6FF;font-weight:800}.workbench-hero h1{font-size:42px;line-height:1.15;margin:8px 0 10px}.lead{font-size:18px;max-width:900px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.btn,.hero-actions a,button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:14px;padding:10px 14px;font-weight:800;cursor:pointer;text-decoration:none}.btn.primary,button.primary,.hero-actions a.primary{background:linear-gradient(90deg,#2B6CE5,#12A39A);color:#fff;border-color:transparent}.btn.warn,button.warn{background:#FFF6E1;border-color:#F7D26A}.btn.danger,button.danger{background:#FEE2E2;border-color:#FCA5A5;color:#7F1D1D}.local-warning{background:#FFF8E7;border-left:6px solid #C4932E;border-radius:18px;padding:16px 18px;margin:20px 0}.workbench-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;margin-top:22px}.tool-nav{position:sticky;top:12px;align-self:start;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:var(--shadow)}.tool-nav button{display:flex;width:100%;align-items:center;justify-content:flex-start;text-align:left;margin:6px 0;border-radius:14px;background:transparent}.tool-nav button.active{background:#EAF2FF;border-color:#B8D0FF;color:#0B3D91}.tool-pane{display:none;background:var(--card);border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:var(--shadow);margin-bottom:20px}.tool-pane.active{display:block}.tool-pane h2{font-size:30px;line-height:1.25;margin:0 0 10px}.tool-pane h3{margin-top:24px}.muted{color:var(--muted)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:800;font-size:14px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:10px 12px;font:inherit;background:#FBFDFF;color:var(--text)}.field textarea{min-height:92px;resize:vertical}.button-row{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.output{border:1px solid var(--line);border-radius:18px;background:#F8FBFF;padding:16px;margin-top:16px;overflow:auto}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.recommend-card,.issue-card,.quiz-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#FBFDFF}.recommend-card strong{font-size:19px}.tag{display:inline-flex;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800;background:#EAF2FF;color:#0B3D91;margin:2px}.tag.ok{background:#D1FAE5;color:#065F46}.tag.warn{background:#FEF3C7;color:#92400E}.tag.danger{background:#FEE2E2;color:#991B1B}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;margin:16px 0}table{border-collapse:collapse;width:100%;min-width:760px;background:#fff}th,td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}th{background:#F0F6FD;color:#0F2A4A;font-weight:900}td button{padding:6px 9px;border-radius:10px;font-size:13px}.preview{white-space:pre-wrap;background:#081827;color:#EAF6FF;border-radius:18px;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.65;max-height:380px;overflow:auto}.quiz-options{display:grid;gap:8px;margin-top:10px}.quiz-options button{text-align:left;font-weight:650}.quiz-options button.correct{border-color:#34D399;background:#D1FAE5}.quiz-options button.wrong{border-color:#F87171;background:#FEE2E2}.mini-score{font-weight:900;color:#0B3D91}.section-note{background:#EFFDFB;border-left:6px solid var(--teal);border-radius:16px;padding:14px 16px;margin:14px 0}.footer{padding:24px 4px;color:var(--muted);font-size:13px}.danger-zone{border:1px solid #FCA5A5;background:#FFF1F2;border-radius:20px;padding:16px;margin-top:16px}
@media(max-width:900px){.workbench-shell{padding:14px}.workbench-hero{border-radius:22px;padding:20px}.workbench-brand{align-items:flex-start}.workbench-brand img{width:60px;height:60px}.workbench-hero h1{font-size:30px}.workbench-grid{display:block}.tool-nav{position:relative;top:auto;margin-bottom:16px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.tool-nav button{font-size:13px;margin:0;padding:9px}.tool-pane{padding:18px;border-radius:22px}.field-grid,.field-grid.three,.cards{grid-template-columns:1fr}.button-row button,.button-row .btn{flex:1 1 auto}.hero-actions a{width:100%;justify-content:center;display:flex}.lead{font-size:16px}.tool-pane h2{font-size:24px}table{min-width:680px}}
@media print{.tool-nav,.hero-actions,.button-row,.danger-zone,.footer .btn{display:none!important}.workbench-shell{max-width:none;padding:0}.workbench-hero,.tool-pane{box-shadow:none;border:1px solid #999}.tool-pane{display:block;break-inside:avoid}.output{background:#fff}.preview{white-space:pre-wrap;color:#111;background:#fff;border:1px solid #aaa}}
.inline-checks{display:flex;gap:12px;flex-wrap:wrap;background:#FBFDFF;border:1px solid var(--line);border-radius:14px;padding:10px 12px;min-height:47px}.inline-checks label{font-weight:750}.mesh-card label{display:flex;gap:8px;align-items:flex-start}.mesh-card input{margin-top:.45em}.mesh-card p{margin:.45rem 0}.tool-pane code,.local-warning code{background:#EAF2FF;border:1px solid #C9DCF7;border-radius:8px;padding:1px 5px}.table-wrap a{font-weight:800;color:#0B3D91}.table-wrap a:hover{text-decoration:underline}
@media(max-width:900px){.inline-checks{display:grid;grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.preview{font-size:12px;max-height:300px}}
.consent-box{display:grid;gap:10px;border:1px solid #F7D26A;background:#FFFBEB;border-radius:18px;padding:14px 16px;margin:16px 0}.consent-box label{display:flex;gap:9px;align-items:flex-start;font-weight:750}.consent-box input{margin-top:.45em}.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:190px!important}.output pre{white-space:pre-wrap;background:#081827;color:#EAF6FF;border-radius:16px;padding:14px;overflow:auto}.output h3{margin-top:1.2rem}.output h4{margin-bottom:.35rem;color:#0F2A4A}.field input[type="password"]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
@media(max-width:900px){.consent-box label{font-size:14px}.code-input{min-height:160px!important}}
.key-help-card{background:#F0F7FF;border:1px solid #BBD5FF;border-left:6px solid var(--blue);border-radius:18px;padding:14px 16px;margin:14px 0}.key-help-card p{margin:.4rem 0}.key-help-card a{font-weight:900;color:#0B3D91}.field-hint{font-size:12.5px;color:var(--muted);margin:.15rem 0 0}.api-guide{max-width:980px;margin:0 auto;padding:24px}.guide-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);margin:18px 0}.guide-card h2{margin-top:0}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.guide-mini{border:1px solid var(--line);border-radius:18px;padding:14px;background:#FBFDFF}.guide-mini a{font-weight:900;color:#0B3D91}.guide-warning{background:#FFF8E7;border-left:6px solid #C4932E;border-radius:18px;padding:16px;margin:18px 0}.guide-steps li{margin:.5rem 0}@media(max-width:900px){.guide-grid{grid-template-columns:1fr}.api-guide{padding:14px}}
.classroom-panel{background:#F0F7FF;border:1px solid #BBD5FF;border-left:6px solid var(--blue);border-radius:22px;padding:16px 18px;margin:20px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}.classroom-panel h2{font-size:20px;margin:0 0 4px}.classroom-panel p{margin:.2rem 0;color:var(--muted)}.classroom-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.classroom-controls input{border:1px solid var(--line);border-radius:14px;padding:10px 12px;min-width:240px;font:inherit}.classroom-status{grid-column:1/-1;font-size:14px;color:var(--muted)}
@media(max-width:900px){.classroom-panel{grid-template-columns:1fr}.classroom-controls{justify-content:stretch}.classroom-controls input,.classroom-controls button{width:100%}}
