@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f8f7f3;--ink:#212b2a;--muted:#727a75;--line:#dddfd7;--green:#713b38;--lime:#edc9ae;--red:#a84436;--white:#fff;--radius:16px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b48736;outline-offset:4px}.header{max-width:1280px;padding:25px 40px;min-height:96px;margin:auto;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:13px;font-weight:700;font-size:18px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--green);color:white;border-radius:11px;font-size:25px}.brand small{display:block;font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-top:5px}nav{display:flex;gap:8px;align-items:center}nav a,nav button{padding:10px 14px;border:0;background:transparent;border-radius:8px;font-size:13px;font-weight:600}nav a:hover,nav button:hover{background:#eaede5}nav .active{color:var(--green);background:#e6ecdf}.identity{color:var(--green);border-left:1px solid var(--line);padding-left:15px;font-size:12px}main{max-width:1280px;margin:0 auto;padding:0 40px 72px;min-height:72vh}.hero{display:grid;grid-template-columns:1.3fr .8fr;gap:55px;padding:62px 0 45px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--green);text-transform:uppercase;margin:0 0 20px}.hero h1{word-break:keep-all;font-size:clamp(32px,4.2vw,54px);line-height:1.35;letter-spacing:-2px;margin:0 0 20px;font-weight:700}.hero h1 em{font-style:normal;color:var(--green);box-shadow:inset 0 -11px 0 var(--lime)}.hero p{font-size:14px;color:#626d65;line-height:1.9;max-width:520px}.hero .actions{margin-top:26px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 19px;border:1px solid transparent;border-radius:9px;font-size:13px;font-weight:600;background:var(--green);color:white;line-height:1.5}.btn:hover{background:#173a2f}.btn.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.btn.secondary:hover{background:#eef0e8}.btn.light{background:var(--lime);color:var(--green)}.btn.danger{background:#f7e7e2;color:#8f3027}.btn.small{padding:8px 12px;font-size:12px}.hero-art{position:relative;min-height:275px;background:#efe4da;border-radius:22px;overflow:hidden;padding:28px}.art-caption{font-size:10px;letter-spacing:1.5px;color:#5f7060}.art-sticker{background:#fffdf6;border:1px solid #d1d8c5;border-radius:10px;position:absolute;padding:18px;box-shadow:0 6px 12px #29422b08;width:170px}.art-sticker small{font-size:10px;color:var(--muted);display:block;margin-bottom:9px}.art-sticker strong{font-size:16px}.art-sticker.a{top:70px;left:25px;transform:rotate(-9deg)}.art-sticker.b{top:144px;right:23px;transform:rotate(8deg);background:#f0d5c0}.art-sticker.c{top:27px;right:25px;transform:rotate(6deg);width:95px;height:85px;background:#713b38;color:white;display:grid;place-items:center;font-size:30px}.art-dots{position:absolute;bottom:24px;left:35px;display:flex}.art-dots span{width:34px;height:34px;border:3px solid #efe4da;border-radius:50%;background:#acc2a0;margin-right:-7px;display:grid;place-items:center;font-size:10px}.art-dots span:nth-child(2){background:#e7be9d}.art-dots span:nth-child(3){background:#d9e598}.notice{display:flex;gap:15px;padding:17px 20px;border:1px solid var(--line);border-radius:10px;background:#f0f1e9;font-size:12px;line-height:1.7;margin:0 0 35px}.notice strong{white-space:nowrap;color:var(--green)}.notice p{margin:0;white-space:pre-wrap}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 22px}.section-top h2{font-size:21px;letter-spacing:-.6px;margin:0}.count{font-size:13px;color:var(--muted);font-weight:400;margin-left:7px}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.filters{display:flex;gap:6px}.chip{border:1px solid var(--line);border-radius:30px;padding:9px 16px;background:transparent;font-size:12px;color:var(--muted)}.chip.active{background:var(--ink);color:white;border-color:var(--ink)}.search{width:270px;border:1px solid var(--line);padding:10px 14px;border-radius:9px;background:transparent;font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}.card:hover{transform:translateY(-3px);box-shadow:0 9px 25px #24392a0d}.card-image{aspect-ratio:1.75;width:100%;object-fit:cover;background:#efe4da}.card-body{padding:21px 22px;flex:1;display:flex;flex-direction:column}.card h3{font-size:18px;letter-spacing:-.5px;line-height:1.55;margin:13px 0 9px}.card p{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 20px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;font-size:10px;font-weight:700;border-radius:5px;background:#eaf3df;color:#41602e;width:fit-content}.badge.closed{background:#efefeb;color:#6a726b}.badge.archived{background:#f8eee6;color:#876552}.card-bottom{padding-top:16px;border-top:1px solid #eee;display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-top:auto}.card-bottom strong{color:var(--ink);font-weight:500}.empty{padding:55px 25px;text-align:center;border:1px dashed #cdd3c4;border-radius:var(--radius);color:var(--muted);line-height:1.9;grid-column:1/-1}.empty strong{display:block;color:var(--ink);font-size:18px;margin-bottom:8px}.page-head{padding:40px 0 25px}.page-head h1{font-size:32px;letter-spacing:-1px;margin:14px 0}.page-head p{font-size:14px;color:var(--muted);line-height:1.8}.back{font-size:12px;color:var(--muted)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:35px;align-items:start}.detail-image{width:100%;max-height:500px;object-fit:contain;background:#ecede6;border-radius:var(--radius)}.caption{color:var(--muted);font-size:11px;margin:8px 0 30px}.prose section{margin:30px 0}.prose h2{font-size:18px;margin:0 0 12px}.prose p,.message-body{font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.panel{padding:24px;background:white;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:20px}.panel h2,.panel h3{margin-top:0;font-size:18px}.panel p{font-size:13px;color:var(--muted);line-height:1.8}.side{position:sticky;top:20px}.side .btn{width:100%;margin-top:10px}.avatar{width:29px;height:29px;display:inline-grid;place-items:center;background:#edf0e4;border-radius:50%;font-size:10px;color:var(--green);margin-right:6px}.members{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;align-items:center;margin:20px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}.field label{font-size:13px;font-weight:600}.field label span{color:var(--red);margin-left:4px}.field small,.hint{color:var(--muted);font-size:12px;line-height:1.75}.field input,.field textarea,.field select{width:100%;padding:12px 13px;border:1px solid #d9ded2;border-radius:8px;background:#fcfcfa;color:var(--ink);font-size:14px}.field textarea{resize:vertical;min-height:110px;line-height:1.8}.field input[type=file]{font-size:12px}.editor{max-width:840px;margin:auto}.editor .panel{padding:30px}.editor h2{font-size:19px}.editor .step{font-size:10px;letter-spacing:1px;color:var(--green);display:block;margin-bottom:8px}.preview{width:100%;max-height:300px;object-fit:contain;border-radius:9px;background:#efe4da}.save-bar{position:sticky;bottom:12px;padding:15px 20px;background:#fffef7f5;border:1px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 4px 25px #2233200d}.save-bar p{font-size:11px;color:var(--muted);margin:0}.comment{padding:18px 0;border-bottom:1px solid var(--line)}.comment-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:10px}.comment time{color:var(--muted);font-size:10px}.comment p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.comment-form{margin-top:22px}.activity-card{margin-bottom:15px}.activity-card h3{font-size:16px}.activity-card .actions{margin-top:14px}.activity-card .status-label{font-size:11px;color:var(--green);font-weight:600}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.stat{padding:20px;background:#e6eef7;border-radius:12px}.stat strong{display:block;font-size:30px;color:var(--green);margin-bottom:4px}.stat span{font-size:12px;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th,td{padding:13px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:500}.toggle{display:flex;gap:10px;align-items:center;font-size:13px;margin:15px 0}.toggle input{width:18px;height:18px;accent-color:var(--green)}.alert{background:#fbeddc;border:1px solid #ebd9b9;border-radius:8px;padding:14px;font-size:12px;line-height:1.8;margin:15px 0}.error{color:#96372e;background:#fff0ec;border-radius:7px;padding:12px;font-size:12px;line-height:1.7}.error:empty{display:none}.demo-banner{padding:10px 25px;background:#efe4da;text-align:center;font-size:11px;color:var(--green)}.loading{text-align:center;padding:100px 20px;color:var(--muted);font-size:14px}footer{max-width:1200px;margin:auto;padding:25px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:14px 24px;border-radius:10px;font-size:13px;z-index:100;display:none;max-width:90vw;box-shadow:0 8px 30px #0002}dialog{width:min(470px,calc(100% - 32px));border:1px solid var(--line);border-radius:18px;padding:30px;background:var(--paper);max-height:90vh;overflow:auto}dialog::backdrop{background:#172b2466;backdrop-filter:blur(3px)}dialog h2{font-size:25px;margin:12px 0}dialog .close{position:absolute;right:20px;top:15px;border:0;background:transparent;font-size:24px;color:var(--muted)}dialog .tabs{display:flex;margin:22px 0;border-bottom:1px solid var(--line)}dialog .tabs button{flex:1;border:0;border-bottom:2px solid transparent;padding:12px;background:transparent;font-size:13px}dialog .tabs button.active{border-bottom-color:var(--green);color:var(--green);font-weight:700}dialog .btn{width:100%}.text-btn{background:transparent;border:0;color:var(--green);font-size:12px;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.skip{position:fixed;top:-100px;left:10px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.guide-list{font-size:13px;line-height:2.1;color:#57665a;padding-left:20px}.welcome-panel{max-width:560px;margin:50px auto}.welcome-panel h1{font-size:32px;line-height:1.5;letter-spacing:-1px}.welcome-panel .btn{margin-top:12px}.muted{color:var(--muted)}
@media(min-width:1450px){.hero{padding-top:78px;padding-bottom:60px}.hero-art{min-height:300px}.grid{gap:28px}}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:25px}.hero-art{min-height:250px}.detail-layout{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.header,main{padding-left:24px;padding-right:24px}.identity{display:none}.two-col{grid-template-columns:1fr}footer{margin:0 24px}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.header{padding:18px;min-height:80px;align-items:flex-start}.brand{font-size:14px;gap:8px}.brand-mark{width:34px;height:34px;font-size:21px}.brand small{font-size:7px;letter-spacing:1px}nav{gap:2px;flex-wrap:wrap;justify-content:flex-end}nav a,nav button{padding:8px;font-size:11px}main{padding-left:20px;padding-right:20px}.hero{grid-template-columns:1fr;padding:38px 0 28px;gap:22px}.hero h1{font-size:34px}.hero-art{min-height:215px}.art-sticker.a{left:35px;top:65px}.art-sticker.b{top:109px;right:27px}.art-sticker.c{right:42px;top:15px}.art-dots{bottom:16px}.hero p{font-size:13px}.hero .actions{margin-top:20px}.notice{padding:14px;gap:10px;font-size:11px;margin-bottom:27px}.toolbar{align-items:stretch;flex-direction:column;gap:15px}.search{width:100%}.filters{gap:5px}.chip{padding:9px 13px;font-size:11px}.grid{grid-template-columns:1fr;gap:20px}.card-image{aspect-ratio:1.9}.detail-layout{grid-template-columns:1fr}.side{position:static;grid-row:1}.side .panel{padding:20px}.page-head h1{font-size:27px}.form-grid{grid-template-columns:1fr;gap:0}.editor .panel{padding:20px}.save-bar{padding:12px}.save-bar p{max-width:140px}.stats{gap:10px}.stat{padding:16px}footer{margin:0 20px;flex-direction:column;gap:7px}.section-top{gap:10px}.section-top h2{font-size:19px}.section-top .hint{font-size:10px}.panel{padding:20px}.brand small{max-width:120px}.art-caption{font-size:9px}dialog{padding:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* English labels need room on small screens. */
.hero h1{letter-spacing:-1.8px;font-size:clamp(34px,3.6vw,50px);line-height:1.18}.hero p{line-height:1.7}.art-sticker strong{font-size:15px}.notice strong{white-space:normal;min-width:85px}.filters{flex-wrap:wrap}.btn{white-space:normal}.save-bar p{max-width:320px}.field label{line-height:1.5}nav{flex-wrap:wrap;justify-content:flex-end}.card h3{line-height:1.35}.card-bottom{flex-wrap:wrap}.identity{white-space:nowrap}@media(max-width:620px){.header{flex-wrap:wrap}.header nav{width:100%;justify-content:flex-start}.hero h1{font-size:36px}.hero-art{min-height:225px}.side .btn{font-size:12px}.notice{flex-direction:column;gap:5px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.save-bar p{max-width:150px}.toolbar{gap:12px}.art-sticker.b{right:15px}.section-top{flex-wrap:wrap}}

.existing-teammates{min-width:0;margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:16px}.existing-teammates legend{padding:0 8px;font-weight:700}.existing-teammates .hint{margin:8px 0 16px}.existing-teammates a{text-decoration:underline}

.recruitment-control{margin:18px 0}.recruitment-control p{margin:8px 0}.roster-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:16px}.roster-toolbar label{display:grid;gap:8px;font-size:13px;font-weight:600}.roster-toolbar select{width:100%;padding:12px 13px;border:1px solid #d9ded2;border-radius:8px;background:#fcfcfa;color:var(--ink);font-size:14px}.roster-toolbar p{margin:0 0 12px}.recruitment-control button:disabled{cursor:not-allowed}@media(max-width:600px){.roster-toolbar{grid-template-columns:1fr}.roster-toolbar p{margin:0}}
