/* Editable classroom text above the approved garden PNG background. */
.judge-body{font-size:22px;background-image:url('assets/bg-2.png');color:#164d36}
.judge-app,.judge-teacher{max-width:1600px;padding-bottom:40px}
.judge-app h1,.judge-teacher h1{font-size:40px;margin:22px 0 8px}
.judge-app .lead,.judge-teacher .lead{font-size:24px;margin-bottom:18px}
.judge-app h2,.judge-teacher h2{font-size:25px;margin:0 0 12px}
.judge-app button,.judge-teacher button{font-size:21px;min-height:54px}
.judge-app .paper,.judge-teacher .paper{padding:20px;background-color:#fffef5f5}
.j-timer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0}
.j-timer>div{flex:1;min-width:350px}.j-timer b{font-size:24px}.j-timer p{font-size:18px;margin:5px 0}
#discussionClock{font-size:42px;line-height:1.2;font-variant-numeric:tabular-nums;font-weight:800;min-width:126px;text-align:center;color:#225b49}
.j-steps{display:flex;gap:18px;margin:18px 0}.j-steps button{flex:1;font-size:24px;font-weight:700}.j-steps [aria-pressed=true]{background:#215e46;color:#fff;border-color:#b7dbaa}
.j-discuss{margin-bottom:18px;font-size:24px}.j-discuss p{font-size:21px;margin:6px 0 0}
.j-bank{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.j-dimension h2{text-align:center;color:#915616;font-size:29px}
.j-rule{width:100%;display:flex;flex-direction:column;text-align:left;margin:10px 0;padding:15px 16px;gap:7px;touch-action:none;user-select:none;position:relative;background:#fffffc;color:#164d36;border:2px solid #cadbc9;cursor:grab}
.j-rule b{font-size:23px;line-height:1.35}.j-rule span{font-size:19px;line-height:1.5}.j-rule small{font-size:16px;color:#5a6e62}.j-rule.is-selected{border-color:#328363;background:#ecf7df}.j-rule.is-selected small{color:#245b41}
.j-rule.j-time{border-left-color:#da9137;border-left-width:7px}.j-rule.j-place{border-left-color:#5ca4b1;border-left-width:7px}.j-rule.j-content{border-left-color:#729947;border-left-width:7px}
.j-drop{margin-top:20px;min-height:150px}.j-drop h2>span{font-size:20px;font-weight:400;margin-left:16px}.j-selected{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px}.j-selected .j-empty{grid-column:1/-1}
.j-over{outline:4px solid #efb842;outline-offset:3px;background:#fff8cf!important}.j-drag-ghost{position:fixed;z-index:1000;pointer-events:none;opacity:.94;box-shadow:0 10px 35px #123b2855;margin:0;transform:rotate(-2deg)}
.j-boundary{font-size:18px;text-align:center;background:#fffef4ed;padding:12px 18px;border-radius:10px;margin:20px 0;line-height:1.6}
.j-active-rules{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:18px}.j-active-rules>span{font-size:19px;background:#ecf4df;padding:8px 12px;border-radius:8px}.j-active-rules>button{margin-left:auto}
.j-write label{font-size:26px}.j-write textarea{font-size:25px;line-height:1.65;min-height:170px;padding:18px;background:#fffefa}.j-write-tools{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.j-write-tools .btn{margin-left:auto}
.j-feedback-head{display:flex;justify-content:space-between;gap:16px;margin:20px 0 15px;align-items:center}.j-feedback-head b{font-size:25px}.j-feedback-head span{font-size:20px}
.j-feedback-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.j-check{padding:12px 0;border-top:1px solid #d3dfcc}.j-check b{font-size:21px}.j-check p{font-size:20px;margin:7px 0}.j-check.revise b{color:#946017}.j-check.pass b{color:#247645}.j-check details{font-size:18px}.j-check summary{cursor:pointer;padding:6px 0}
.j-empty{font-size:23px;line-height:1.6;color:#526759;text-align:center;padding:16px}.j-compare{margin-top:20px}.j-compare p{font-size:21px}.j-compare .versions span{font-size:18px;color:#526759}
.j-builder{display:grid;grid-template-columns:minmax(0,3fr) minmax(270px,1.06fr);gap:16px;align-items:start}.j-builder .j-bank{height:355px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:4px;gap:12px}.j-builder .j-dimension{padding:12px!important;align-self:start}.j-builder .j-dimension h2{position:sticky;top:0;z-index:1;background:#fffef5;margin:-2px -2px 10px;padding:8px 2px;font-size:26px}.j-builder .j-rule{padding:12px;gap:6px}.j-builder .j-rule b{font-size:21px}.j-builder .j-rule span{font-size:18px}.j-builder .j-rule small{font-size:15px}.j-builder .j-drop{margin:0;min-height:355px;max-height:355px;overflow:auto;overscroll-behavior:contain;padding:16px}.j-builder .j-drop h2{font-size:23px}.j-builder .j-selected{display:block}.j-builder .j-empty{font-size:22px;padding:18px 3px}.judge-app .j-discuss{font-size:23px;padding:12px 18px;margin-bottom:12px}.judge-app .j-discuss p{font-size:19px;margin:4px 0 0}.judge-app .j-timer{padding:14px 20px;margin:12px 0}.judge-app .j-steps{margin:10px 0 14px}
.j-summary{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:18px;margin:20px 0}.j-summary table{width:100%;border-collapse:collapse;font-size:22px}.j-summary th,.j-summary td{border-bottom:1px solid #d5e2cf;text-align:center;padding:10px}.j-summary p{font-size:20px}.judge-teacher .record{margin:20px 0}.judge-teacher .record p{font-size:21px}.judge-teacher .versions{overflow-wrap:anywhere}.judge-teacher .tag{font-size:18px}
@media(max-width:1050px){.judge-body{font-size:20px}.j-bank{gap:10px}.judge-app .paper{padding:14px}.j-rule{padding:12px}.j-rule b{font-size:21px}.j-rule span{font-size:18px}.j-selected{grid-template-columns:repeat(2,1fr)}.j-feedback-grid{gap:10px}.j-timer>div{min-width:260px}.j-timer b{font-size:22px}}
@media(max-width:760px){.j-bank,.j-feedback-grid,.j-summary{grid-template-columns:1fr}.j-selected{grid-template-columns:1fr}.j-timer>div{flex-basis:100%}.j-steps{gap:8px}.j-steps button{font-size:20px}.j-active-rules>button{margin-left:0}.j-write-tools .btn{margin-left:0;width:100%}.j-feedback-head{flex-direction:column;align-items:flex-start}.judge-app h1{font-size:32px}.j-rule b{font-size:23px}.j-rule span{font-size:20px}}
@media(min-width:1000px) and (max-height:850px){.judge-app h1{font-size:34px;margin:12px 0 2px}.judge-app .lead{font-size:21px;margin:0 0 8px}.judge-app .j-timer{padding:10px 16px;margin:8px 0}.judge-app .j-timer p{font-size:17px}.judge-app .j-timer b{font-size:21px}.judge-app .group{margin:4px auto;gap:8px}.judge-app .group label{margin:0;font-size:18px}.judge-app .group select{font-size:18px;padding:7px}.judge-app .j-steps button{min-height:46px;padding:8px;font-size:22px}.judge-app .j-steps{margin:8px 0}.judge-app .j-discuss{padding:9px 14px;font-size:21px}.judge-app .j-discuss p{font-size:18px;line-height:1.4}.j-builder .j-bank{height:300px}.j-builder .j-drop{min-height:300px;max-height:300px}.judge-app #discussionClock{font-size:35px}}
@media(max-width:760px){.j-builder{grid-template-columns:minmax(0,1fr) minmax(155px,.8fr);gap:8px}.j-builder .j-bank{height:430px;padding:2px}.j-builder .j-drop{min-height:430px;max-height:430px;padding:10px}.j-builder .j-drop h2{font-size:20px}.j-builder .j-empty{font-size:19px}.j-builder .j-rule{padding:10px}.j-builder .j-rule b{font-size:20px}.j-builder .j-rule span{font-size:18px}.j-builder .j-dimension h2{position:static}}

/* ===== 智能约定判定器（清晰流程版）===== */
.cj-app{max-width:1400px}
.cj-app h1{font-size:44px;margin-top:14px}
.cj-app .lead{font-size:24px}
.cj-lamps{display:flex;gap:22px;justify-content:center;margin:8px 0 18px}
.cj-lamp{flex:1;max-width:360px;text-align:center;padding:14px 10px;border-radius:18px;background:#eef2ec;border:3px solid #d5ddd4;color:#7b8a80;transition:.35s}
.cj-lamp b{display:block;font-size:34px}
.cj-lamp span{font-size:19px}
.cj-lamp.on{background:linear-gradient(#e8ffe9,#c6f3cc);border-color:#2fb35d;color:#0b5a2c;box-shadow:0 0 22px #6be08a88;transform:translateY(-3px)}
.cj-lamp.on b::after{content:" ✓"}
.cj-input label{font-size:24px}
.cj-input textarea{font-size:32px;line-height:1.45;min-height:110px}
.cj-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}
.cj-tools button{font-size:22px;min-height:56px}
.cj-mic{background:linear-gradient(#ffffff,#e9f6ff);border-color:#9cc9e8}
.cj-mic.on{background:linear-gradient(#ff7b6b,#e6452f);color:#fff;animation:breathe 1.2s infinite}
.cj-presets{font-size:20px;color:#566e60}
.cj-presets button{font-size:19px;min-height:44px;padding:8px 12px;margin-left:6px}
#cjStatus{font-size:19px;min-height:26px;margin:8px 0 0}
.cj-verdict{margin-top:16px;border-width:3px}
.cj-verdict h2{font-size:40px;margin:0 0 6px}
.cj-verdict p{font-size:25px;margin:6px 0}
.cj-verdict .cj-said{font-size:28px;font-weight:bold;color:#33463b}
.cj-verdict .cj-tip{background:#fff8dc;border-radius:12px;padding:10px 14px}
.cj-verdict.weak{border-color:#f0a33a;background:linear-gradient(135deg,#fffaf0,#fff0d6)}
.cj-verdict.weak h2{color:#c46a00}
.cj-verdict.good,.cj-verdict.great{border-color:#2fb35d;background:linear-gradient(135deg,#f6fff4,#dcf7df)}
.cj-verdict.good h2,.cj-verdict.great h2{color:#0b7a3a}
.cj-compare{display:flex;align-items:center;gap:18px;margin-top:16px}
.cj-compare>div:not(.cj-arrow){flex:1;background:#fff;border-radius:14px;padding:12px 16px;font-size:22px}
.cj-compare b{font-size:22px}.cj-compare span{color:#2c7a4a;font-weight:bold}
.cj-arrow{font-size:46px;color:#2fb35d}
.cj-speak{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:normal;margin:0}
.cj-speak input{width:auto}
@media(max-width:900px){.cj-lamps{flex-direction:column;align-items:stretch}.cj-compare{flex-direction:column}}
.cj-app h1{font-size:38px;margin:8px 0 2px}
.cj-app .lead{width:fit-content;margin:0 auto 10px;padding:4px 18px;border-radius:14px;background:#fffdf3e6;font-size:21px}
.cj-lamps{margin:4px 0 10px}.cj-lamp{padding:8px 10px}.cj-lamp b{font-size:30px}.cj-lamp span{font-size:17px}
.cj-app .j-timer{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;padding:10px 16px;margin:8px 0 12px;background:#fffef4ed}
.cj-app .j-timer>div{flex:1;min-width:0}.cj-app .j-timer b{font-size:20px;line-height:1.3}.cj-app .j-timer p{font-size:16px;line-height:1.4;margin:4px 0 0}
.cj-app #discussionClock{font-size:34px;min-width:108px;line-height:1.1}.cj-app .j-timer button{font-size:19px;min-height:46px;padding:8px 14px;white-space:nowrap}
@media(max-width:760px){.cj-app .j-timer{flex-wrap:wrap}.cj-app .j-timer>div{flex-basis:100%}.cj-app .j-timer b{font-size:20px}.cj-app .j-timer p{font-size:16px}}
.cj-input{padding:14px 20px}.cj-input textarea{min-height:76px;font-size:30px}
.cj-verdict{margin-top:10px;padding:14px 22px}.cj-verdict h2{font-size:36px}.cj-verdict p{font-size:23px;margin:4px 0}
.cj-compare{margin-top:10px;padding:12px 18px}
