@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito+Sans:wght@400;600;700;800;900&display=swap');
:root{--ink:#143c3a;--paper:#fffdf5;--cream:#f3edda;--muted:#63736c;--line:#bfc7b7;--coral:#ff6b4a;--sun:#f2c94c;--mint:#a8dfce;--red:#a93636;--display:'Fredoka','Trebuchet MS',sans-serif;--body:'Nunito Sans',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background-color:var(--cream);background-image:radial-gradient(#143c3a13 1px,transparent 1px);background-size:17px 17px;color:var(--ink);font-family:var(--body)}header{min-height:118px;background:var(--paper);border-bottom:3px solid var(--ink);padding:25px max(20px,calc((100vw - 940px)/2));display:flex;align-items:center;gap:28px}header a{color:var(--ink);text-decoration:none;border:2px solid var(--ink);border-radius:999px;padding:10px 15px;font-size:.78rem;font-weight:900;box-shadow:3px 4px 0 var(--ink)}header a:hover{transform:translate(1px,1px);box-shadow:2px 3px 0 var(--ink)}header small{letter-spacing:.16em;color:var(--muted);font-size:.66rem;font-weight:900}header h1{font:700 2.15rem/1 var(--display);margin:5px 0 0}main{max-width:940px;margin:38px auto;padding:0 18px 80px}.panel{background:var(--paper);border:2px solid var(--ink);border-radius:18px;padding:25px;margin-bottom:19px;box-shadow:5px 6px 0 var(--ink)}.panel h2,.panel h3{font-family:var(--display);margin-top:0}.panel h3{font-size:1.35rem;border-bottom:1px solid var(--line);padding-bottom:13px}.narrow{max-width:520px;margin:70px auto}.narrow h2{font-size:2rem}.narrow p{color:var(--muted)}.top-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.kicker{font-size:.69rem;font-weight:900;letter-spacing:.15em;color:var(--muted);margin:0}.top-actions h2{font:700 2.7rem/1 var(--display);margin:5px 0 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:grid;gap:7px;font-size:.78rem;font-weight:900;margin:13px 0}input{width:100%;border:2px solid var(--ink);border-radius:10px;padding:12px 13px;min-height:48px;font:inherit;background:#fff;color:var(--ink);outline:none}input:focus{box-shadow:0 0 0 4px #ff6b4a4d}.school-row{display:grid;grid-template-columns:1.6fr .55fr 1fr;gap:13px;border-bottom:1px dashed var(--line);padding:8px 0}.school-row:last-child{border-bottom:0}.school-row input[type=color]{padding:4px;cursor:pointer}.hint{color:var(--muted);font-size:.84rem;line-height:1.5}button{border:2px solid var(--ink);border-radius:11px;background:var(--ink);color:#fff;padding:13px 18px;min-height:48px;font-weight:900;cursor:pointer}button:hover{filter:brightness(1.14)}button:focus-visible,input:focus-visible{outline:3px dashed var(--coral);outline-offset:3px}.save{width:100%;font-size:1rem;background:var(--coral);box-shadow:4px 5px 0 var(--ink)}.secondary{background:var(--paper);color:var(--ink);box-shadow:3px 4px 0 var(--ink)}.message{min-height:20px;font-size:.85rem;font-weight:900}.ok{color:#18714d}.error{color:var(--red)}.danger{border-color:#713535;box-shadow:5px 6px 0 #713535}.danger h3{color:#713535}.danger-btn{background:#a93636;border-color:#713535}@media(max-width:670px){header{min-height:98px}.two,.school-row{grid-template-columns:1fr}.top-actions{align-items:flex-start}.top-actions h2{font-size:2rem}.secondary{font-size:0;width:46px;padding:8px}.secondary:after{content:'↪';font-size:20px}.panel{padding:20px;box-shadow:4px 5px 0 var(--ink)}}
textarea{width:100%;border:2px solid var(--ink);border-radius:10px;padding:12px 13px;min-height:230px;font-family:var(--body);font-size:1rem;line-height:1.7;background:#fff;color:var(--ink);outline:none;resize:vertical}
textarea:focus{box-shadow:0 0 0 3px #143c3a22}
#goalInfo{display:flex;align-items:center;justify-content:center;min-height:48px;border:2px dashed var(--coral);border-radius:10px;padding:10px 13px;background:#fff7f0;color:var(--coral);font-weight:900;font-size:.95rem;text-align:center;margin:13px 0}
