/* GiftMission participant UI. Business state and route handlers stay in the views. */
.mission-ui{--navy:#284e43;--navy2:#1c3b33;--ink:#242f2b;--sub:#66716c;--line:#dfe5df;--bg:#f5f7f3;--pink-d:#7c4f62;--pink-soft:#f4edf0;--ok:#376b50;--ok-bg:#f1f7f1;--ok-br:#cbded0;--warn:#a4493b;--warn-bg:#fcf4f1;--warn-br:#e8cfc5;background:var(--bg);font-size:15px;line-height:1.65;color:var(--ink)}
.mission-ui a,.mission-ui button,.mission-ui input,.mission-ui summary{touch-action:manipulation}
.mission-ui :focus-visible{outline:3px solid #668776;outline-offset:4px}
.mission-ui .card{border-radius:20px;box-shadow:none}
.mission-ui .btn{background:#284e43;box-shadow:none;min-height:52px;font-size:15px;border-radius:12px}
.mission-ui .btn:hover:not(:disabled){background:#1c3b33}
.mission-ui .btn:disabled{cursor:not-allowed;opacity:.6}
.mission-ui input[type=text],.mission-ui input[type=tel],.mission-ui input[type=email]{min-height:52px;border:1px solid #cfd8d0;background:#fff;font-size:16px;border-radius:10px}
.mission-ui input:focus{border-color:#416c59;box-shadow:0 0 0 3px #e5eee6}
.mission-ui input::placeholder{color:#8a948e}
.mission-ui .hint{color:#67766d;font-size:12px}
.mission-ui .agree{background:#f5f7f3;border-radius:10px;padding:13px;gap:12px}
.mission-ui .agree span{font-size:12px;color:#56655c;line-height:1.7}
.mission-ui .agree input{margin:5px 2px 0;min-height:0}
.ui-header{max-width:1160px;padding:25px 28px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ui-brand{display:flex;align-items:center;gap:10px;color:#284e43;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.7px}
.ui-brand-icon{display:grid;place-items:center;width:34px;height:34px;background:#284e43;border-radius:11px;color:#e9f0df;font-size:26px;font-weight:700;line-height:1;padding-bottom:5px}
.ui-help{font-size:13px;color:#56675b;text-decoration:none;min-height:44px;display:flex;align-items:center;gap:16px}
.ui-eyebrow{font-size:11px;font-weight:750;letter-spacing:.12em;color:#6b7d6c}
.ui-apply .wrap{max-width:1160px;padding:18px 28px 48px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.85fr);gap:28px 48px;align-items:start}
.ui-apply .intro-card{padding:0;margin:0;background:transparent;border:0}
.ui-apply .hero{padding:28px 0 0;background:none;border-radius:0;text-align:left;overflow:visible;color:var(--ink)}
.ui-apply .hero::after{display:none}
.ui-apply .hero .k{padding:0;border:0;border-radius:0;letter-spacing:.02em;color:#66795d;font-size:13px;font-weight:700}
.ui-apply .hero .main{font-size:clamp(30px,3.1vw,43px);line-height:1.35;letter-spacing:-.055em;margin:18px 0 16px;font-weight:800}
.ui-apply .hero .main em{color:#416c59}
.ui-apply .hero .cond{font-size:15px;line-height:1.8;font-weight:450;color:#66716c}
.ui-benefits{display:grid;grid-template-columns:1fr 1fr;background:#edf1e8;border:1px solid #dce4d7;border-radius:18px;margin:26px 0 12px;padding:22px 20px;gap:20px}
.ui-benefits>div+div{border-left:1px solid #d1dacd;padding-left:20px}
.ui-benefits span{display:block;color:#62715e;font-size:11px;font-weight:650}
.ui-benefits strong{display:block;font-size:17px;color:#284e43;line-height:1.5;margin:6px 0;font-weight:800}
.ui-benefits strong em{font-size:inherit;font-style:normal;white-space:nowrap}
.ui-benefits small{display:block;font-size:11px;color:#657160;line-height:1.6}
.ui-payment-note{font-size:12px;color:#5f6b61;line-height:1.7}
.jump-link{display:none}
.ui-apply .mission{margin-top:30px;padding:0;background:none;border:0;gap:12px}
.ui-apply .mission .ic{width:27px;height:27px;border-radius:50%;background:#e4ebe0;color:#486341;font-size:14px;box-shadow:none}
.ui-apply .mission .tx{color:#677365;font-size:13px;line-height:1.8}
.ui-apply .mission .tx b:first-child{font-size:14px;color:#384b3c;margin:0 0 7px}
.ui-apply .mission .tx u{color:#3c5846}
.ui-apply .steps{margin-top:22px;gap:7px}
.ui-apply .steps div{background:#fff;border-color:#e1e7dd;padding:14px 3px;border-radius:12px;color:#62715e;font-size:11px}
.ui-apply .steps div i{background:none;color:#416c59;border:1px solid #ccd9c7;font-size:10px;margin-bottom:8px}
.ui-apply .notice{background:none;border:0;border-top:1px solid #dfe5da;border-radius:0;margin-top:24px;padding:20px 0 0;gap:10px}
.ui-apply .notice .ic{background:none;color:#7a8f70}
.ui-apply .notice span{font-size:12px;color:#657160}
.ui-apply .notice b{color:#425740}
.apply-notes{margin-top:20px;border-top:1px solid #dfe5da;padding:10px 0}
.apply-notes summary,.guide-toggle summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:13px;font-weight:700;color:#344e3d;list-style:none}
.apply-notes summary::-webkit-details-marker,.guide-toggle summary::-webkit-details-marker{display:none}
.apply-notes summary span,.guide-toggle summary span{font-size:11px;color:#677866;font-weight:500}
.apply-notes summary::after,.guide-toggle summary::after{content:'+';font-size:20px;font-weight:400;color:#687965}
.apply-notes[open] summary::after,.guide-toggle[open] summary::after{content:'−'}
.apply-notes summary span{margin-left:auto}
.ui-apply .apply-notes summary{color:#9c463d}
.ui-apply .caution{border:0;background:#eef2eb;color:#53634f;font-weight:450;line-height:1.85;padding:18px;margin-top:8px;font-size:12px}
.ui-apply .caution b,.ui-apply .caution u{color:#3b543b}
.ui-apply .form-card{margin:0;padding:30px;background:#fff;border:1px solid #e0e6db;box-shadow:0 12px 40px #263e2a08;scroll-margin-top:18px}
.ui-apply h2.t{font-size:25px;margin:7px 0 8px;letter-spacing:-.04em}
.ui-apply p.sub{font-size:13px;line-height:1.7;color:#6a756d;margin-bottom:24px}
.ui-apply label{margin-top:20px;font-size:13px;color:#394c3e}
.ui-apply details.terms{background:#fff;border-radius:10px;border-color:#e1e6df;margin-top:24px}
.ui-apply details.terms summary{color:#435442;font-size:13px;min-height:48px}
.ui-apply .btn{margin-top:22px}
.ui-apply .btn small{font-weight:450;opacity:.8}
.ui-apply .foot{grid-column:1/-1;margin-top:14px;padding-top:20px;border-top:1px solid #dfe5da;font-size:12px;color:#72816e;text-align:center}
.ui-apply .foot a{color:#63795d!important;line-height:1.9}

.ui-dashboard .wrap{max-width:1160px;background:transparent}
.ui-dashboard .top{padding:20px 28px;gap:12px;background:rgba(245,247,243,.96);border-color:#dfe5da;min-height:81px}
.ui-dashboard .top img{width:32px;height:32px}
.ui-dashboard .top .tt{font-size:16px}
.ui-dashboard .top .tt small{font-size:11px;color:#687763}
.ui-dashboard .pad{display:grid;grid-template-columns:280px minmax(0,1fr);gap:0 30px;padding:32px 28px 40px;align-items:start}
.ui-dashboard .pad> *{grid-column:2;min-width:0}
.ui-dashboard .pad>.ui-overview{grid-column:1;grid-row:1/span 20;position:sticky;top:112px;align-self:start;max-height:calc(100vh - 135px);overflow-y:auto;scrollbar-width:thin}
.ui-page-heading{padding:0 0 23px}
.ui-page-heading h1{font-size:32px;line-height:1.4;font-weight:800;letter-spacing:-.045em;margin:6px 0}
.ui-page-heading p{font-size:12px;color:#687763}
.ui-dashboard .hero{background:#284e43;padding:23px 20px;border-radius:18px}
.ui-dashboard .hero::after{display:none}
.ui-dashboard .hrow{flex-wrap:wrap;gap:10px 7px}
.ui-dashboard .hrow .greet{flex:1 0 100%;font-size:13px;color:#d1ded1}
.ui-dashboard .ask,.ui-dashboard .st{font-size:11px;padding:5px 10px;border-radius:7px;border-color:#ffffff30}
.ui-dashboard .prog{margin-top:23px;gap:10px}
.ui-dashboard .prog .n{font-size:43px;line-height:1.2}
.ui-dashboard .prog .n small{color:#adc5b3;font-size:19px;margin-left:3px}
.ui-dashboard .prog .lb{color:#c6d6c9;font-size:13px}
.ui-dashboard .seg{margin-top:16px;gap:6px}
.ui-dashboard .seg i{height:5px;border-radius:3px}
.ui-dashboard .seg i.ok{background:#bed29b}
.ui-dashboard .money{display:flex;flex-direction:column;gap:0;margin-top:23px;padding-top:5px;border-top:1px solid #ffffff26}
.ui-dashboard .money .m,.ui-dashboard .money .m.hi{display:flex;align-items:center;justify-content:space-between;gap:8px;background:none;border:0;padding:12px 0 0;border-radius:0}
.ui-dashboard .money .m .k{color:#c0d2c2;font-size:11px}
.ui-dashboard .money .m .v,.ui-dashboard .money .m.hi .v{font-size:16px;color:#edf2dd}
.ui-dashboard .money .m .v small{color:#c0d2c2;margin-left:3px}
.ui-dashboard .todo-b{background:#edf1e7;border:1px solid #dce3d4;border-radius:14px;margin-top:16px;padding:16px 14px;gap:10px;align-items:flex-start}
.ui-dashboard .todo-b .ic{background:none;color:#627b53;box-shadow:none;width:20px;height:22px;font-size:15px}
.ui-dashboard .todo-b .tx{color:#65715c;font-size:12px;line-height:1.75}
.ui-dashboard .todo-b .tx b{font-size:13px;color:#384e31;margin-bottom:6px}
.guide-toggle{margin:14px 0;border-top:1px solid #dce3d4;border-bottom:1px solid #dce3d4;padding:8px 0}
.guide-toggle summary{font-size:12px;gap:6px}
.guide-toggle summary span{font-size:10px;margin-left:auto}
.ui-dashboard #missionGuide{padding:10px 0;background:none;border:0;box-shadow:none;margin:0}
.ui-dashboard .guide li{color:#50624f;line-height:1.85;font-size:12px;margin-bottom:12px}
.ui-dashboard .guide li b{color:#36523d}
.ui-dashboard .guide .danger{background:#f4f3ec;border-color:#e4e2d4;color:#716148;font-size:12px;font-weight:450;line-height:1.8}
.ui-dashboard .guide .danger b{color:#6c593e}
.ui-dashboard .sechead{margin:26px 0 12px;gap:8px}
.ui-dashboard #missionArea>.sechead{margin-top:0;min-height:31px}
.ui-dashboard .sechead h2{font-size:18px;letter-spacing:-.03em}
.ui-dashboard .sechead .cnt{background:#e9eee4;border:0;color:#5b7250;border-radius:6px;padding:4px 8px;font-size:10px}
.ui-dashboard .sechead .hint{font-size:11px;color:#70806a;margin-top:0}
.ui-dashboard .search-guide{background:transparent;border:0;border-bottom:1px solid #dce3d4;border-radius:0;padding:0 0 22px;margin-bottom:22px;color:#677361;font-size:12px;line-height:1.8}
.ui-dashboard .search-guide b{color:#40583a;font-size:13px;margin-bottom:7px}
.ui-dashboard .search-guide a{color:#365c46;text-underline-offset:3px}
.ui-dashboard .prod{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:start;gap:22px;padding:22px;margin-bottom:18px;border-radius:18px;border-color:#dfe5da;background:#fff;box-shadow:none}
.ui-dashboard .prod .thumb{width:100%;max-width:280px;border-radius:12px;border:1px solid #e4e8e0;box-shadow:none;background:#fff}
.ui-dashboard .prod .thumb.ph{background:#f0f3eb;border:1px dashed #d2ddc8;color:#819274}
.ui-dashboard .prod .pnm{font-size:16px;font-weight:750;line-height:1.6;color:#2b3a2e}
.ui-dashboard .pr1{gap:9px}
.ui-dashboard .pr1 .chip{order:-1;font-size:10px;font-weight:750;padding:4px 8px;border-radius:6px;background:#edf1e7;color:#4d6a40}
.ui-dashboard .prod.rev .chip{background:#f7edd4;color:#846422}
.ui-dashboard .prod.warn .chip,.ui-dashboard .prod.wrong .chip{background:#f8e9e3;color:#a25542}
.ui-dashboard .prod.ok{border-color:#d6e3d3;background:#fbfdf9}
.ui-dashboard .prod.ok .chip{background:#e9f2e4;color:#456d3e}
.ui-dashboard .pprice{font-size:15px;color:#384e36}
.ui-dashboard .pmeta{font-size:11px;color:#74816a;line-height:1.7}
.ui-dashboard .search-keyword{font-size:11px;color:#6e7f68;margin-top:17px}
.ui-dashboard .search-keyword strong{font-size:14px;color:#385537;display:inline-block;margin-left:5px}
.ui-dashboard .search-hint{font-size:11px;color:#6d7c64;line-height:1.75}
.ui-dashboard .shopping-position{background:#f7f6f3;border:1px solid #e6e3df;border-radius:12px;padding:13px 12px;margin-top:16px;line-height:1.7;font-size:11px}
.ui-dashboard .shopping-position [data-position-label]{font-size:14px}
.ui-dashboard .shopping-position [data-position-page]{font-size:25px;color:#8c3f55;font-weight:800}
.ui-dashboard .shopping-position-head,.ui-dashboard .shopping-position-value{align-items:center}
.ui-dashboard .shopping-position [data-position-checked]{font-size:11px;color:#697166;line-height:1.7}
.ui-dashboard .position-missing{min-height:44px;background:#eee5db;border-color:#c5b09c;color:#644e3a;font-size:11px;padding:8px;max-width:96px}
.ui-dashboard .buybtn,.ui-dashboard .prod.todo .buybtn{min-height:48px;border-radius:10px;background:#284e43;color:#fff;box-shadow:none;font-size:13px;margin-top:16px}
.ui-dashboard .prod.rev .buybtn{background:#faf7ef;color:#7b612d;border:1px solid #dfd4bc}
.ui-dashboard .prod.warn .buybtn,.ui-dashboard .prod.wrong .buybtn{background:#fcf2ed;color:#994e3b;border:1px solid #e6c7ba;box-shadow:none}
.ui-dashboard .acctLocked{background:#edf1e7;border:1px solid #dce3d4;padding:20px;align-items:flex-start;gap:14px}
.ui-dashboard .acctLocked .lk{background:#e0e8d6;color:#6e835c;box-shadow:none;width:36px;height:36px;border-radius:10px}
.ui-dashboard .acctLocked b{color:#435937;font-size:14px}
.ui-dashboard .acctLocked span{font-size:12px;color:#6a765f;line-height:1.8}
.ui-dashboard .acctLocked span em{color:#516b3f}
.ui-dashboard .acctLocked span b{font-size:inherit;display:inline}
.ui-dashboard .gift{background:#e8eee3;border:1px solid #d6e0cf;color:#375333;padding:21px}
.ui-dashboard .g1 .ico{background:#f5f8f0;border-color:#d7e2ca;border-radius:12px}
.ui-dashboard .g1 .t b{font-size:14px}
.ui-dashboard .g1 .t span{color:#6b7b60;font-size:11px}
.ui-dashboard .g1 .more{background:#dbe5cf;color:#4a613a;font-size:11px;padding:6px 9px;border-radius:6px}
.ui-dashboard .warn12{background:#f3f6ec;color:#66774f;font-size:11px;line-height:1.75;padding:13px}
.ui-dashboard .faq{border-color:#dfe5da;border-radius:12px}
.ui-dashboard .faq summary{min-height:52px;color:#43573b;font-size:13px}
.ui-dashboard .faq .a{color:#6a775f;font-size:12px}
.ui-dashboard .foot{border-top:1px solid #dfe5da;padding:24px 28px 40px}
.ui-dashboard .foot .f1,.ui-dashboard .foot .f2{color:#74816a}
.ui-dashboard .linkbanner{margin:0 0 20px;background:#f2e8ca;box-shadow:none;border:1px solid #e5d6b1}
.ui-dashboard .modal{background:#1b2f27a6;backdrop-filter:blur(4px)}
.ui-dashboard .mbox{max-width:540px;border-radius:22px;padding:28px;max-height:88dvh;box-shadow:0 24px 90px #0b211c33}
.ui-dashboard .mhead b{font-size:21px}
.ui-dashboard .mhead small{font-size:12px;color:#728069}
.ui-dashboard .mbox .guide{padding:10px 0 0}
.ui-dashboard .mbox .guide li{font-size:13px}
.ui-dashboard .mbox .mhead{margin-bottom:12px}
@media(min-width:1080px){.ui-apply .form-card{position:sticky;top:24px}}
@media(max-width:1050px) and (min-width:761px){.ui-dashboard .pad{grid-template-columns:240px minmax(0,1fr);gap:0 22px;padding:28px 22px}.ui-dashboard .prod{grid-template-columns:1fr;padding:24px}.ui-dashboard .prod .thumb{max-width:280px}.ui-dashboard .prod .pnm{font-size:18px}.ui-apply .wrap{gap:28px;grid-template-columns:minmax(0,1fr) minmax(310px,.9fr)}.ui-apply .form-card{padding:24px}.ui-benefits{padding:18px 14px;gap:12px}.ui-benefits>div+div{padding-left:12px}.ui-benefits strong{font-size:15px}}
@media(max-width:760px){
  .ui-header{padding:15px 22px}.ui-brand{font-size:18px}.ui-brand-icon{width:30px;height:30px;font-size:23px;border-radius:9px}.ui-help{font-size:12px}
  .ui-apply .wrap{display:block;max-width:540px;padding:6px 22px 35px}.ui-apply .hero{padding-top:15px}.ui-apply .hero .main{font-size:32px;line-height:1.4;margin-top:14px}.ui-apply .hero .cond{font-size:14px}.ui-apply .hero .k{font-size:11px}
  .ui-benefits{margin-top:22px;padding:19px 16px;gap:16px}.ui-benefits>div+div{padding-left:16px}.ui-benefits strong{font-size:15px}.ui-benefits small{font-size:10px}.ui-payment-note{font-size:11px}
  .jump-link{display:flex;justify-content:space-between;align-items:center;min-height:48px;background:#284e43;color:#fff;text-decoration:none;padding:12px 18px;font-size:14px;font-weight:700;border-radius:10px;margin-top:20px}
  .ui-apply .mission{margin-top:24px}.ui-apply .notice{margin-top:20px}.ui-apply .form-card{padding:24px 20px;margin-top:24px;scroll-margin-top:16px}.ui-apply h2.t{font-size:24px}.ui-apply .foot{margin-top:32px}
  .ui-dashboard .wrap{max-width:560px}.ui-dashboard .top{padding:14px 20px;min-height:68px}.ui-dashboard .pad{display:block;padding:23px 18px 32px}.ui-dashboard .pad>.ui-overview{position:static;max-height:none;overflow:visible}.ui-page-heading{padding:0 4px 20px}.ui-page-heading h1{font-size:29px;margin:3px 0}.ui-page-heading p{font-size:12px}
  .ui-dashboard .hero{padding:22px}.ui-dashboard .hrow .greet{flex:1 1 auto}.ui-dashboard .prog{margin-top:20px}.ui-dashboard .prog .n{font-size:42px}.ui-dashboard .money{flex-direction:row;gap:20px;margin-top:19px;padding-top:14px}.ui-dashboard .money .m,.ui-dashboard .money .m.hi{display:block;padding:0}.ui-dashboard .money .m+.m{border-left:1px solid #ffffff26;padding-left:20px}.ui-dashboard .money .m .v{margin-top:5px;font-size:17px}
  .ui-dashboard .todo-b{margin:14px 0}.guide-toggle{margin:0 0 24px}.guide-toggle summary{font-size:13px;padding:0 4px}.guide-toggle summary span{font-size:11px}.ui-dashboard .sechead h2{font-size:18px}.ui-dashboard .sechead .hint{font-size:10px}.ui-dashboard .search-guide{padding:0 2px 18px;margin-bottom:18px}
  .ui-dashboard .prod{display:flex;gap:20px;padding:20px;margin-bottom:20px}.ui-dashboard .prod .thumb{max-width:280px}.ui-dashboard .prod .pnm{font-size:18px}.ui-dashboard .pr1 .chip{font-size:11px}.ui-dashboard .pprice{font-size:17px}.ui-dashboard .pmeta{font-size:12px}.ui-dashboard .search-keyword{font-size:12px}.ui-dashboard .search-keyword strong{font-size:15px}.ui-dashboard .search-hint{font-size:12px}.ui-dashboard .shopping-position{padding:15px;font-size:12px}.ui-dashboard .shopping-position [data-position-checked]{font-size:11.5px}.ui-dashboard .position-missing{font-size:12px}.ui-dashboard .buybtn{font-size:14px;min-height:52px}
  .ui-dashboard .acctLocked{padding:18px}.ui-dashboard .gift{padding:18px}.ui-dashboard .g1{gap:10px}.ui-dashboard .g1 .t b{font-size:13px}.ui-dashboard .g1 .more{font-size:10px;padding:6px 8px}.ui-dashboard .g1 .ico{width:34px;height:34px}.ui-dashboard .modal{padding:12px}.ui-dashboard .mbox{padding:22px;max-height:90dvh;border-radius:18px}.ui-dashboard .mhead b{font-size:19px}
}
@media(max-width:359px){.ui-apply .wrap{padding-inline:16px}.ui-apply .hero .main{font-size:29px}.ui-benefits{gap:10px;padding:16px 12px}.ui-benefits>div+div{padding-left:10px}.ui-benefits strong{font-size:14px}.ui-dashboard .pad{padding-inline:12px}.ui-dashboard .prod{padding:16px}.ui-dashboard .shopping-position{padding:12px}.ui-dashboard .shopping-position-head{gap:6px}.ui-dashboard .position-missing{width:72px;font-size:11px}.ui-dashboard .g1 .more{padding:5px}.ui-dashboard .hrow .greet{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.mission-ui{scroll-behavior:auto}.mission-ui *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
