:root{color-scheme:light;--bg:#f7f6f3;--ink:#1f2a30;--sub:#5f6b72;--line:#e3e1dc;--surface:#fff;--accent:#275c74;--warn-bg:#fbf3db;--warn:#7a5200;--mono:"SF Mono","JetBrains Mono",ui-monospace,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,"PingFang SC","Noto Sans CJK SC",sans-serif}
.top{max-width:1300px;margin:auto;padding:20px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-size:20px;font-weight:800;letter-spacing:-.04em}.brand span{font-weight:400}
.session{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--sub);min-width:0}
.session span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40vw}
main{max-width:1300px;margin:auto;padding:0 36px}
.intro{padding:60px 0 64px;display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end;border-top:1px solid var(--line)}
.eyebrow{font-size:13px;color:var(--accent);font-weight:700;letter-spacing:.04em}
.intro h1{font-size:clamp(40px,6vw,78px);line-height:1.1;letter-spacing:-.05em;margin:14px 0 22px}
.lead{max-width:480px;color:var(--sub);font-size:18px}
.notice{border-left:3px solid var(--accent);padding:4px 0 4px 24px;color:var(--sub)}.notice strong{color:var(--ink)}.notice p{margin:8px 0}
.shell{border-top:1px solid var(--line);display:grid;grid-template-columns:170px minmax(0,1fr);gap:52px}
.shell nav{padding:34px 0;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;align-self:start}
.shell nav a{color:var(--sub);text-decoration:none;font-size:14px}.shell nav a:hover,.shell nav a:focus-visible{color:var(--accent)}
.sections{min-width:0}
.panel{padding:38px 0 44px;border-bottom:1px solid var(--line)}
.heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap}
.heading h2{font-size:26px;letter-spacing:-.04em;margin:0 0 22px}
.meta{color:var(--sub);font-size:13px;font-variant-numeric:tabular-nums}
.tag{font-size:12px;letter-spacing:.04em;padding:2px 10px;border-radius:999px;background:var(--warn-bg);color:var(--warn)}
h3{font-size:14px;margin:0 0 8px;color:var(--sub);font-weight:650}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#job-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.wide,#job-form .minor{grid-column:1/-1}
label{display:grid;gap:8px;font-size:14px;font-weight:650;min-width:0}
input,textarea,select{width:100%;padding:11px 13px;border:1px solid #c9cfd1;border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;min-width:0}
textarea{resize:vertical}
input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}
.actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
button{border:1px solid var(--accent);border-radius:6px;padding:10px 20px;background:var(--accent);color:#fff;font:600 14px/1.3 inherit;white-space:nowrap;cursor:pointer}
button.secondary{background:transparent;color:var(--accent)}
button:disabled{cursor:not-allowed;opacity:.5}
button:not(:disabled):active{transform:scale(.98)}
.message,.minor{color:var(--sub);font-size:13px}.message:empty,.minor:empty{display:none}.minor{margin:0}
.rows{list-style:none;padding:0;margin:0}
.rows li{padding:11px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;font-size:14px}
.mono li{font-family:var(--mono);font-size:12.5px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}
.gallery figure{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--line)}
.gallery figcaption{padding:8px 12px 2px;font-size:13px;color:var(--sub);overflow-wrap:anywhere}
.gallery a{display:inline-block;padding:0 12px 10px;font-size:13px;color:var(--accent)}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}
footer{max-width:1300px;padding:52px 36px;margin:auto;color:var(--sub);font-size:12px}
[hidden]{display:none!important}
@media(max-width:900px){#job-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}}
@media(max-width:760px){.top,main,footer{padding-left:18px;padding-right:18px}.intro{padding:32px 0;grid-template-columns:1fr;gap:18px}.intro h1{font-size:42px}
.shell{grid-template-columns:1fr;gap:0}.shell nav{position:sticky;top:0;z-index:1;background:var(--bg);flex-direction:row;flex-wrap:wrap;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
form,#job-form{grid-template-columns:1fr}.panel{padding:28px 0}.session span{max-width:52vw}}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#161d22;--ink:#e5e9ea;--sub:#aab6bc;--line:#2f3b42;--surface:#1f292f;--accent:#91c2d9;--warn-bg:#3a3220;--warn:#e9cf8a}
button:not(.secondary){background:#91c2d9;color:#14222a}input,textarea,select{border-color:#55666e}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button:not(:disabled):active{transform:none}}
