:root{--green:#8dc63f;--navy:#384f5f;--ink:#203644;--muted:#73818b;--line:#e5ebee;--bg:#f5f7f8;--soft:#eff6e5;--red:#b34943}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.6}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}button{border:0}svg{display:block}.skip{position:fixed;top:-80px;background:#fff;padding:12px;z-index:99}.skip:focus{top:0}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:white;border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;z-index:20}.logo{display:block;width:156px;height:68px;position:relative;overflow:hidden}.logo img{position:absolute;max-width:none;width:370px;left:-108px;top:-11px}.brand-caption{font-size:10px;letter-spacing:2px;color:var(--muted);margin:0 14px 36px}.nav-label{font-size:10px;letter-spacing:1.6px;color:#9ba6ae;padding:0 15px;margin:12px 0}.nav-item{width:100%;display:flex;align-items:center;gap:13px;padding:13px 15px;background:none;color:#72808c;text-align:left;border-radius:9px;margin:4px 0;font-weight:500}.nav-item svg{width:19px;height:19px}.nav-item.active{color:var(--navy);background:#edf4e6;font-weight:700;position:relative}.nav-item.active:before{content:'';position:absolute;left:-20px;width:4px;height:22px;background:var(--green);border-radius:0 3px 3px 0}.side-bottom{margin-top:auto}.side-note{padding:17px;border-radius:12px;background:#f6f8f4;font-size:12px;color:#6e7d68}.side-note strong{display:block;color:var(--navy);margin-bottom:5px}.shell{margin-left:238px}.topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;gap:20px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb b{color:var(--navy);font-weight:500}.top-actions{display:flex;align-items:center;gap:18px}.mode-badge{font-size:10px;letter-spacing:1px;background:#f0f4f6;padding:5px 10px;border-radius:20px;color:#6c7d89}.avatar{width:36px;height:36px;border-radius:50%;background:#eaf0e4;color:#567d28;display:grid;place-items:center;font-weight:700}.profile{display:flex;gap:10px;align-items:center;font-size:12px}.profile small{display:block;color:var(--muted);font-size:10px}.content{max-width:1480px;margin:auto;padding:34px 44px 60px}.page-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.eyebrow{color:var(--muted);font-size:10px;letter-spacing:2px;font-weight:600;margin-bottom:7px}h1{font-size:28px;line-height:1.4;letter-spacing:-1px;margin:0 0 7px;font-weight:750}h2{font-size:19px;letter-spacing:-.5px;margin:0}h3{margin:0;font-size:17px}.subtitle{color:var(--muted);margin:0;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--navy);color:white;border-radius:8px;padding:12px 19px;font-size:13px;font-weight:600;white-space:nowrap}.btn svg{width:17px;height:17px}.btn.green{background:var(--green);color:#243c13}.btn.light{background:white;color:var(--navy);border:1px solid var(--line)}.btn.danger{background:#fff0ee;color:var(--red)}.btn.small{padding:8px 13px;font-size:12px}.btn.ghost{background:transparent;color:var(--muted);padding:6px}.hero{background:var(--navy);border-radius:17px;min-height:263px;display:grid;grid-template-columns:1.15fr 1fr;overflow:hidden;color:white;position:relative}.hero-copy{padding:33px 36px;position:relative;z-index:1}.hero-tag{display:inline-flex;align-items:center;gap:7px;color:#c3e399;border:1px solid #60745d;border-radius:20px;padding:4px 10px;font-size:10px;letter-spacing:1.4px}.dot{width:5px;height:5px;background:var(--green);border-radius:50%}.hero h2{font-size:29px;line-height:1.45;margin:15px 0 9px;letter-spacing:-1px}.hero p{font-size:12px;color:#c8d3d9;margin:0 0 20px}.hero-art{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 75% 40%,#526e69 0,transparent 65%);position:relative}.hero-art svg{width:100%;height:255px}.hero-label{position:absolute;bottom:22px;right:27px;color:#d2ded7;font-size:9px;letter-spacing:2px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:23px 0 31px}.stat{background:white;border:1px solid var(--line);border-radius:11px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center}.stat .label{font-size:12px;color:var(--muted)}.stat .value{font-size:25px;letter-spacing:-1px;font-weight:700;margin-top:6px}.stat .unit{font-size:12px;font-weight:500;margin-left:4px;letter-spacing:0}.stat-icon{width:42px;height:42px;background:#f2f6ec;color:#739b43;display:grid;place-items:center;border-radius:12px}.stat-icon svg{width:21px;height:21px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.text-link{font-size:12px;color:var(--muted);background:none;display:flex;gap:7px;align-items:center}.text-link svg{width:15px;height:15px}.missions{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.mission-card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:transform .2s,box-shadow .2s}.mission-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #213b4810}.mission-art{height:166px;position:relative;background:#e9efec;overflow:hidden}.mission-art svg{width:100%;height:100%}.mission-art.sort{background:#eef0e8}.mission-art.clean{background:#e8eef1}.art-badge{position:absolute;top:12px;left:13px;border-radius:5px;background:#ffffffdc;padding:3px 8px;font-size:10px;color:var(--navy);font-weight:600}.mission-body{padding:19px}.category{font-size:10px;color:#839189;margin-bottom:6px}.mission-body p{font-size:12px;color:var(--muted);min-height:39px;margin:8px 0 15px}.meta{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:7px;margin-bottom:15px}.meta svg{width:13px;height:13px}.mission-footer{border-top:1px solid #eff2f3;padding-top:14px;display:flex;align-items:center;justify-content:space-between}.reward{font-size:20px;letter-spacing:-.5px;font-weight:750}.reward small{font-size:11px;font-weight:500;letter-spacing:0;color:var(--muted);margin-left:4px}.how{background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:28px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.how-title{font-size:13px;font-weight:700;white-space:nowrap}.how-steps{display:flex;gap:22px;align-items:center;color:var(--muted);font-size:11px}.step{display:flex;align-items:center;gap:8px}.step-num{border:1px solid #e0e9db;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#77a244;font-size:10px}.footer{display:flex;justify-content:space-between;font-size:10px;color:#95a0a8;margin-top:26px;gap:20px}.notice{font-size:12px;padding:12px 16px;background:#eef4e7;border-radius:8px;color:#527336;margin-bottom:20px}.panel{border:1px solid var(--line);background:white;border-radius:13px;padding:24px;margin-bottom:20px}.empty{padding:65px 20px;text-align:center;color:var(--muted)}.empty svg{width:38px;height:38px;margin:0 auto 15px;color:#a9b9a1}.empty strong{display:block;color:var(--navy);font-size:16px;margin-bottom:8px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;font-size:12px}th{padding:13px 15px;background:#f7f9f9;color:var(--muted);font-weight:500}td{padding:17px 15px;border-bottom:1px solid var(--line)}.status{display:inline-block;font-size:10px;padding:4px 9px;border-radius:20px}.status.pending{background:#fff6df;color:#84651e}.status.approved{background:#edf6e5;color:#507530}.status.rejected{background:#fff0ed;color:#a74a40}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.review video{width:100%;height:220px;background:#1d2c34;border-radius:8px;margin:15px 0}.review-head{display:flex;justify-content:space-between;gap:12px}.review textarea{margin:12px 0;width:100%;height:75px;resize:vertical}.review-actions{display:flex;gap:10px}.review .detail{font-size:12px;color:var(--muted)}input,textarea{border:1px solid #dbe3e6;border-radius:8px;padding:11px 12px;background:white;color:var(--ink)}label{display:block;font-size:12px;font-weight:600;margin:16px 0 6px}.field{width:100%}.checkbox{display:flex;align-items:flex-start;gap:9px;font-weight:400;color:#677882;line-height:1.7}.checkbox input{margin-top:5px;flex-shrink:0;accent-color:var(--navy)}.account-card{max-width:520px;margin:30px auto}.account-card .btn{width:100%;margin-top:16px}.auth-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin:20px 0}.auth-tab{background:none;padding:12px 0;color:var(--muted)}.auth-tab.active{border-bottom:2px solid var(--green);color:var(--ink);font-weight:700}.error{color:var(--red);font-size:12px;min-height:20px;margin-top:10px}.success{color:#507530}dialog{border:0;border-radius:17px;padding:0;width:min(850px,94vw);max-height:92vh;box-shadow:0 30px 100px #13212d40;color:var(--ink)}dialog::backdrop{background:#182c3bb8;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid var(--line)}.modal-content{padding:24px 26px}.capture-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.camera-view{background:#1d303c;border-radius:11px;aspect-ratio:4/3;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.camera-view video{width:100%;height:100%;object-fit:contain}.camera-placeholder{color:#bccbd3;text-align:center;font-size:12px}.camera-placeholder svg{width:38px;height:38px;margin:0 auto 12px}.camera-frame{position:absolute;inset:20%;border:1px dashed #b3d58a80;border-radius:15px;pointer-events:none}.record-indicator{position:absolute;top:12px;left:12px;background:#15252ce6;border-radius:6px;padding:5px 9px;color:white;font-size:11px}.record-indicator.recording:before{content:'●';color:#fc6c6c;margin-right:7px}.camera-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.guide{font-size:12px;color:var(--muted)}.guide li{margin-bottom:8px}.guide ul{padding-left:18px}.reward-box{background:#f1f7e9;padding:14px 16px;border-radius:8px;font-size:11px;color:#648247;margin:15px 0}.reward-box strong{display:block;font-size:23px;color:var(--navy)}.upload-drop{border:1px dashed #c4d1d8;border-radius:8px;padding:13px;margin-top:15px;font-size:11px;color:var(--muted)}.upload-drop input{max-width:100%;border:0;padding:8px 0;font-size:11px}.progress-track{background:#e9eef0;height:7px;border-radius:7px;overflow:hidden;margin:16px 0 8px}.progress-track span{display:block;height:100%;background:var(--green);width:0;transition:width .2s}.upload-status{font-size:12px;color:var(--muted)}.record-timer{font-variant-numeric:tabular-nums}.filter-row{display:flex;gap:8px;margin:0 0 22px}.filter{padding:8px 15px;border:1px solid var(--line);border-radius:20px;color:var(--muted);background:#fff;font-size:12px}.filter.active{background:var(--navy);color:white;border-color:var(--navy)}.mobile-brand{display:none}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,25px);opacity:0;pointer-events:none;background:var(--navy);color:white;padding:13px 23px;border-radius:10px;z-index:100;font-size:13px;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}.wallet-banner{padding:28px;background:var(--navy);color:#fff;border-radius:12px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}.wallet-banner .value{font-size:36px;font-weight:700}.wallet-banner small{color:#b7c8d1}.mobile-brand .logo{transform:scale(.75);transform-origin:left center;width:145px;margin-right:-30px}.privacy-copy{font-size:12px;color:var(--muted);line-height:1.9}.privacy-copy strong{color:var(--navy)}@media(min-width:1600px){.content{padding-top:45px}.hero{min-height:290px}.hero-art svg{height:290px}.mission-art{height:205px}}@media(max-width:1150px){.sidebar{width:200px;padding:22px 14px}.shell{margin-left:200px}.nav-item.active:before{left:-14px}.content{padding:28px}.topbar{padding:0 28px}.hero h2{font-size:25px}.hero-copy{padding:28px}.how{align-items:flex-start;flex-direction:column}.how-steps{gap:16px}.mission-body{padding:15px}.mission-body h3{font-size:15px}.reward{font-size:18px}.mission-footer .btn{padding:8px 10px}.top-actions{gap:10px}}@media(max-width:820px){.sidebar{width:78px;padding:24px 10px}.sidebar .logo{width:50px;transform:scale(.4);transform-origin:top left;margin-left:6px;height:40px}.brand-caption,.nav-label,.nav-item span,.side-note{display:none}.nav-item{justify-content:center;padding:14px}.nav-item.active:before{left:-10px}.shell{margin-left:78px}.hero{grid-template-columns:1fr 0.8fr}.hero h2{font-size:23px}.stats{gap:10px}.stat{padding:16px}.stat-icon{display:none}.missions{gap:12px}.mission-art{height:135px}.mission-body p{min-height:58px}.mission-footer{align-items:flex-start;gap:10px;flex-direction:column}.mission-footer .btn{width:100%}.capture-layout{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.how-steps{flex-wrap:wrap}}@media(max-width:600px){body{font-size:13px}.sidebar{inset:auto 0 0;width:100%;height:65px;flex-direction:row;padding:6px 8px;border-top:1px solid var(--line);border-right:0;justify-content:space-around}.sidebar>.logo,.sidebar>.brand-caption,.sidebar>.nav-label,.side-bottom{display:none}.sidebar nav{display:flex;width:100%;justify-content:space-around}.nav-item{margin:0;flex-direction:column;gap:3px;padding:6px 10px;font-size:9px;border-radius:7px}.nav-item span{display:block}.nav-item svg{width:17px;height:17px}.nav-item.active:before{display:none}.shell{margin-left:0}.topbar{height:72px;padding:0 20px}.mobile-brand{display:block}.breadcrumb{display:none}.mode-badge{font-size:8px;padding:4px 7px}.profile>div:not(.avatar){display:none}.top-actions{gap:10px}.content{padding:23px 18px 90px}.page-title{align-items:flex-start;gap:10px;margin-bottom:20px}h1{font-size:24px}.page-title>.text-link{font-size:10px;margin-top:8px}.subtitle{font-size:12px}.hero{display:block;min-height:300px}.hero-copy{padding:25px;max-width:90%}.hero h2{font-size:25px}.hero p{max-width:230px}.hero-art{position:absolute;right:-55px;bottom:-35px;width:220px;height:180px;opacity:.5;pointer-events:none}.hero-label{display:none}.hero-copy .btn{position:relative;z-index:2}.stats{margin:17px 0 25px;gap:8px}.stat{padding:14px 11px}.stat .label{font-size:10px}.stat .value{font-size:21px}.stat .unit{font-size:10px;margin-left:2px}.section-head h2{font-size:17px}.missions{grid-template-columns:1fr}.mission-card{display:grid;grid-template-columns:120px 1fr}.mission-art{height:100%;min-height:191px}.art-badge{font-size:9px;left:8px;top:8px}.mission-body{padding:15px}.mission-body p{min-height:0;font-size:11px;margin:6px 0 10px}.mission-footer{flex-direction:row;align-items:center;padding-top:10px}.mission-footer .btn{width:auto;padding:8px 12px}.reward{font-size:18px}.meta{margin-bottom:9px}.how{padding:19px;gap:15px}.how-steps{gap:12px;font-size:10px}.footer{flex-direction:column;gap:5px}.modal-head{padding:18px}.modal-content{padding:18px}.panel{padding:18px}.wallet-banner{padding:20px;gap:20px}.wallet-banner .value{font-size:28px}.review video{height:180px}.account-card{margin-top:10px}.filter-row{flex-wrap:wrap}}
@media (min-width:601px) and (max-width:820px){.sidebar .logo{width:156px;flex-shrink:0;height:105px;transform:scale(.35);margin-bottom:-58px}.nav-item{min-height:47px}.nav-item[aria-current="page"]{background:#edf4e6}}

[hidden]{display:none!important}
.sidebar>.logo{flex-shrink:0}.side-note>svg{width:20px;height:20px;margin-bottom:10px}@media(max-width:600px){.hero p{font-size:11px;max-width:none}}
.logo{height:76px}

.mission-art{height:auto;aspect-ratio:3/2}.mission-photo{display:block;width:100%;height:100%;object-fit:cover}.photo-origin{position:absolute;right:11px;bottom:10px;background:#203644bd;color:white;border-radius:4px;padding:2px 6px;font-size:9px;letter-spacing:.2px}@media(max-width:600px){.mission-card{display:block}.mission-art{height:auto;min-height:0;aspect-ratio:3/2}.mission-body{padding:18px}.mission-footer .btn{padding:9px 14px}}

/* Photo and copy use distinct panels so neither is obscured by a fade. */
.hero{grid-template-columns:1fr 1.15fr;align-items:stretch}
.hero-art{background:#d8d1c3;min-width:0;overflow:hidden;position:relative}
.hero-art img{display:block;width:100%;height:100%;min-height:310px;object-fit:cover;object-position:68% center}
.hero-label{z-index:1;bottom:12px;right:14px;letter-spacing:0;background:#20364499;border-radius:4px;padding:2px 6px;color:#fff}
@media(max-width:820px) and (min-width:601px){.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:25px 22px}.hero-art img{object-position:65% center}}
@media(max-width:600px){.hero{display:flex;flex-direction:column}.hero-copy{max-width:100%;padding:25px}.hero-art{position:relative;right:auto;bottom:auto;width:100%;height:auto;aspect-ratio:16/9;opacity:1;pointer-events:auto}.hero-art img{min-height:0;height:100%;object-fit:cover;object-position:center}.hero-label{display:block;font-size:9px}.hero p{max-width:none}}

@media(max-width:600px){.admin-portal .sidebar nav .nav-item{display:flex!important;min-width:0;padding:6px 4px}.admin-portal .sidebar nav{gap:2px}.admin-portal .nav-item span{font-size:9px}.admin-portal .sidebar nav .nav-item svg{display:block}}
