/* Noto Sans unified typography (KO / EN / JA) */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
html, html:lang(ko) { font-family: 'Noto Sans KR', 'Noto Sans', sans-serif; }
html:lang(en) { font-family: 'Noto Sans', 'Noto Sans KR', 'Noto Sans JP', sans-serif; }
html:lang(ja) { font-family: 'Noto Sans JP', 'Noto Sans', 'Noto Sans KR', sans-serif; }
body, button, input, textarea, select { font-family: inherit; }
/* Japanese source text retains correct glyph shapes even in KO/EN UI */
.work-card select:has(option[value="ja"]:checked) ~ textarea { font-family: 'Noto Sans JP', sans-serif; }

:root{font-family:system-ui,-apple-system,'Noto Sans KR','Noto Sans JP',sans-serif;color:#242039;background:#f7f6fa;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a990eb;outline-offset:2px}.shell{width:min(100% - 28px,980px);margin:auto}.hero{background:linear-gradient(110deg,#281b49,#62428a 68%,#a18bc1);color:white;padding:30px 0}.hero-top{display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap}.eyebrow{font-size:.8rem;letter-spacing:.05em;opacity:.85}.hero h1{margin:8px 0;font-size:clamp(1.5rem,4vw,2.4rem)}.hero p{margin:0;color:#ece4ff}.language{display:flex;background:#ffffff20;border-radius:12px;padding:4px;gap:3px}.lang{background:transparent;color:white;border:0;border-radius:9px;padding:10px 12px;min-height:42px}.lang.active{background:white;color:#392056;font-weight:700}main{padding:22px 0}.dev-banner{background:#fff8db;border:1px solid #ebd596;padding:14px 16px;border-radius:12px;margin-bottom:16px;font-size:.92rem}.panel{background:white;border:1px solid #e5e0ed;box-shadow:0 4px 16px #46335d0a;border-radius:18px;margin:18px 0;padding:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid #efebf2;padding-bottom:12px;margin-bottom:16px}.section-heading h2{font-size:1.18rem;margin:0}.section-heading h3{font-size:1rem;margin:0}.hint,.live{font-size:.83rem;color:#686079}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.stats>div{padding:12px 8px;border:1px solid #eee8f3;border-radius:12px;text-align:center;display:flex;flex-direction:column;gap:8px;font-size:.83rem}.stats strong{font-size:1.5rem}.stats .total{background:#f2ecfb}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fields label{display:flex;flex-direction:column;gap:7px;font-size:.94rem;font-weight:600}.fields input,.fields select,.work-card select,.work-card textarea{border:1px solid #cfc6d8;border-radius:10px;padding:12px;width:100%;background:white;color:#2a2230;min-height:47px}.full{grid-column:1/-1}.member{display:flex;gap:18px;flex-wrap:wrap;border:0;padding:12px 0;margin:12px 0}.member legend{font-weight:700;padding:8px 0}.member label{display:flex;align-items:center;gap:7px}.member input,.consent input{width:19px;height:19px;accent-color:#69449f}.address-title{margin-top:12px}.guide{background:#f5f1fb;color:#554575;padding:14px;border-radius:12px;line-height:1.6}.season{border:1px solid #e9e2eb;border-radius:14px;margin:14px 0;padding:14px}.season h3{margin:0;font-size:1.16rem}.season-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.season.spring{background:#fff4f8}.season.summer{background:#f3faef}.season.autumn{background:#fff5eb}.season.winter{background:#f0f6ff}.work-card{padding:14px;background:#ffffffda;border:1px solid #e5e0eb;border-radius:12px;margin:10px 0}.work-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.work-number{font-weight:700}.work-card label{display:block;font-size:.88rem;font-weight:600;margin:10px 0 6px}.work-card textarea{display:block;resize:none;min-height:48px;line-height:1.65;overflow:hidden;white-space:pre-wrap}.work-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.77rem;color:#6f6479;margin-top:7px}.translation-note{display:flex;gap:8px;align-items:center;background:#f0edf5;padding:10px;border-radius:9px;font-size:.86rem;color:#665c71}.secondary,.primary{border-radius:10px;min-height:44px;padding:9px 16px;border:1px solid #a88abb;background:white;color:#573777;font-weight:700}.primary{background:#59338c;color:white}.remove{border:1px solid #dab6bd;background:white;color:#843d51;padding:7px 12px;border-radius:8px;min-height:38px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.consent{display:flex;gap:10px;line-height:1.6;align-items:flex-start}.consent input{flex:none;margin-top:4px}.feedback{padding:14px;border:1px solid #c7b1e0;background:#f5effc;border-radius:12px;white-space:pre-line}.feedback.error{border-color:#d59aa0;background:#fff0f0}.off{display:block;border:0;color:#6b6270;background:#eceaf0;padding:13px;border-radius:10px;width:100%;cursor:not-allowed}.export-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.footer{padding:20px 0 35px;font-size:.8rem;color:#7b7081}@media(max-width:750px){.stats{grid-template-columns:repeat(3,1fr)}.fields{grid-template-columns:1fr}.export-list{grid-template-columns:1fr}.panel{padding:15px}.hero{padding:24px 0}.hero-top{display:block}.language{width:max-content;margin-top:18px}.member{gap:12px}.stats strong{font-size:1.25rem}}@media(max-width:360px){.stats{grid-template-columns:repeat(2,1fr)}.language{width:100%;justify-content:space-between}.lang{padding:10px 7px}}
