*{box-sizing:border-box} :root{--ink:#1a4a52;--teal:#1f8a8a;--light:#7cb6b8;--sun:#f2b956;--line:#d6e2e0;--muted:#547278}body{margin:0;min-height:100vh;display:flex;flex-direction:column;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background-color:var(--ink);background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:28px 28px}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--sun);outline-offset:4px}[hidden]{display:none!important}.top{min-height:98px;display:flex;align-items:center;gap:25px;padding:20px max(5%,calc((100vw - 1260px)/2));border-bottom:1px solid #ffffff20;background:#153e46d9}.brand{display:flex;align-items:center;width:185px;min-height:54px;padding:8px 12px;background:white;border-radius:10px}.brand img{width:100%;height:auto}.wordmark{font-size:18px;font-weight:650;color:#fff}main{width:min(1180px,90%);margin:0 auto;flex:1;padding:46px 0 70px}.heading{display:flex;gap:32px;align-items:end;justify-content:space-between;margin-bottom:38px}.eyebrow{color:var(--sun);font-size:13px;letter-spacing:2px;font-weight:750;margin:0 0 12px}h1{color:#fff;font-size:clamp(30px,3.7vw,46px);line-height:1.13;letter-spacing:-1.4px;margin:0}.intro{color:#c5dede;font-size:16px;line-height:1.7;margin:0 0 3px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;align-items:start}.card{background:#f9fbf8;border:1px solid #fff9;border-radius:17px;padding:24px;box-shadow:0 9px 24px #09272e35;min-width:0;border-top:5px solid var(--sun)}.card:nth-child(3n+2){border-top-color:var(--light)}.card:nth-child(3n){border-top-color:var(--teal)}.card-top{display:flex;align-items:center;gap:12px;margin-bottom:22px}.card-number{display:grid;place-items:center;font-size:13px;font-weight:750;width:34px;height:34px;border-radius:9px;background:#edf1e9;flex-shrink:0}.card h2{font-size:21px;line-height:1.25;overflow-wrap:anywhere;margin:0;letter-spacing:-.4px}.links{display:grid;gap:10px}.workshop-link{display:block;text-decoration:none;padding:14px 16px;background:#e8f1ee;border:1px solid #cfdfda;border-radius:10px;transition:background .15s,transform .15s;overflow-wrap:anywhere}.workshop-link:hover{background:#d8e9e3;transform:translateY(-2px)}.link-label{font-size:16px;font-weight:700;display:block}.link-domain{font-size:13px;color:var(--muted);display:block;margin-top:3px}.empty,.loading{color:#d1e4e4;grid-column:1/-1;padding:25px 0}.card .empty{color:var(--muted);font-size:14px;padding:0}footer{width:min(1180px,90%);margin:0 auto;border-top:1px solid #ffffff24;padding:20px 0;display:flex;align-items:center;justify-content:space-between;color:#bed7d8;font-size:13px}.gear{background:transparent;color:#c7dddc;font-size:24px;border-radius:8px;min-width:44px;min-height:44px}.gear:hover{background:#ffffff15}dialog{width:min(460px,calc(100% - 32px));border:1px solid var(--line);border-radius:18px;background:#f9fbf8;color:var(--ink);padding:28px;box-shadow:0 20px 80px #0005;max-height:90vh;overflow:auto}dialog::backdrop{background:#09272ec9;backdrop-filter:blur(3px)}h2{margin:0 0 12px;font-size:23px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-heading h2{margin:0}.icon{background:transparent;border-radius:7px;color:var(--ink);min-width:42px;min-height:42px;font-size:24px}label{display:grid;gap:6px;font-size:14px;font-weight:650;margin:14px 0}input{width:100%;min-width:0;padding:11px 12px;border:1px solid #adc5c3;background:white;border-radius:8px;color:var(--ink)}.primary,.secondary,.danger{border-radius:9px;padding:11px 17px;font-size:14px;font-weight:750;min-height:44px}.primary{background:var(--sun);color:var(--ink)}.primary:hover{background:#ffc970}.secondary{background:#e3efed;color:var(--ink);border:1px solid #bdd4d0}.danger{background:#f9e6e2;color:#973627}.error{color:#a12f21;font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}#login{width:100%}#notice{border-radius:9px;padding:12px 16px;background:#fff0ce;color:var(--ink);font-size:14px}#admin{background:#f9fbf8;border-radius:17px;padding:28px}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}.admin-head p{margin:4px 0;color:var(--muted);font-size:14px}.admin-head h2{margin:0}.editor-card{border:1px solid #c6d9d5;padding:20px;border-radius:12px;margin:18px 0;background:#f0f5f1}.editor-top{display:flex;gap:12px;align-items:center}.editor-top label{flex:1}.small-actions{display:flex;gap:4px}.small-actions button{padding:5px 10px;min-width:38px;min-height:38px;border-radius:6px;background:#deebe6;color:var(--ink)}.editor-link{display:grid;grid-template-columns:minmax(120px,1fr) minmax(150px,1.3fr) auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.editor-link label{margin:8px 0}.editor-bottom{display:flex;justify-content:space-between;margin-top:15px;gap:10px;flex-wrap:wrap}.save-bar{position:sticky;bottom:15px;background:#153e46;box-shadow:0 4px 22px #123b4350;border-radius:12px;padding:15px 18px;color:white;display:flex;align-items:center;gap:16px;justify-content:space-between;margin-top:24px}.save-bar span{font-size:14px}.save-bar .actions{flex-shrink:0}.admin-bottom{margin-top:25px;padding-top:15px;border-top:1px solid var(--line)}.admin-bottom summary{cursor:pointer;font-size:14px}.admin-bottom form{max-width:420px}.inline-note{font-size:14px;color:var(--muted)}@media(max-width:950px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.heading{display:block}.intro{margin-top:18px}}@media(max-width:620px){.top{gap:15px;padding:16px 5%;min-height:80px}.brand{width:140px;min-height:45px}.wordmark{font-size:15px}main{padding-top:30px}.heading{margin-bottom:27px}h1{font-size:34px}.cards{grid-template-columns:1fr;gap:18px}.card{padding:22px}#admin{padding:18px}.editor-card{padding:14px}.editor-top{flex-wrap:wrap}.editor-top label{flex-basis:100%;margin-bottom:0}.editor-link{grid-template-columns:1fr}.editor-link label{margin:4px 0}.editor-link .small-actions{margin:5px 0 10px}.save-bar{flex-wrap:wrap}.save-bar .actions{width:100%}footer span{max-width:80%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Minimal footer: only the administration control. */
footer{border-top:0;justify-content:flex-end}
