/* moabin · A안 (에디토리얼 인덱스) — 홈·콘텐츠·계정·정적 페이지 공용.
   색은 아래 토큰 두 블록에만 있다. 규칙은 토큰만 참조한다.
   되돌리기: layout.php·home.html·privacy.html 의 이 파일 <link> 를 이전 shell/bento 로 바꾼다. */

:root{
  --a-bg:#ffffff;--a-fg:#111111;--a-muted:#555555;--a-line:#dddddd;--a-hover:#f6f6f6;
  --a-band:#f1efe9;--a-card:#f7f6f2;--a-accent:#d4001a;--a-on-accent:#ffffff;
  --a-live:#0a7a3d;--a-proto:#666666;--a-point:#3b5bdb;--a-shadow:rgba(0,0,0,.12);
  --a-cat-learning:#3156c4;--a-cat-adventure:#8b3db8;--a-cat-puzzle:#b45a16;--a-cat-life:#0e766b;--a-cat-work:#b33365;--a-cat-build:#526515;--a-cat-archive:#5f6672;
  --a-font:Pretendard,"Pretendard Variable",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;
  --a-wrap:1200px;--a-gutter:32px;
  /* 이전 스타일시트(개인정보 페이지 등)가 쓰는 이름도 같은 팔레트로 */
  --moabin-bg:var(--a-bg);--moabin-text:var(--a-fg);--moabin-muted:var(--a-muted);--moabin-accent:var(--a-accent);--moabin-line:var(--a-line);--moabin-panel:var(--a-card);
  /* daisyUI (게시판·로그인·계정 화면) */
  --color-base-100:var(--a-bg);--color-base-200:var(--a-card);--color-base-300:var(--a-line);--color-base-content:var(--a-fg);
  --color-primary:var(--a-fg);--color-primary-content:var(--a-bg);
  --color-secondary:var(--a-muted);--color-secondary-content:var(--a-bg);
  --color-accent:var(--a-accent);--color-accent-content:var(--a-on-accent);
  --color-neutral:var(--a-fg);--color-neutral-content:var(--a-bg);
  --brand-vivid:var(--a-accent);--brand-deep:var(--a-fg);--brand-wash:var(--a-band);
  --radius-box:0;--radius-field:999px;--radius-selector:999px;
  color-scheme:light
}
:root:is([data-theme="dark"],[data-theme-mode="dark"]){
  --a-bg:#0e0e10;--a-fg:#f2f2f3;--a-muted:#a3a3ab;--a-line:#2b2b30;--a-hover:#18181c;
  --a-band:#17171a;--a-card:#141417;--a-accent:#ff4d5e;--a-on-accent:#0e0e10;
  --a-cat-learning:#9ab0ff;--a-cat-adventure:#d5a0ff;--a-cat-puzzle:#ffbd84;--a-cat-life:#75d5c5;--a-cat-work:#ff9fbe;--a-cat-build:#c1d889;--a-cat-archive:#b6bfcb;
  --a-live:#4ade80;--a-proto:#8d8d96;--a-point:#8ca3ff;--a-shadow:rgba(0,0,0,.4);
  --color-base-100:var(--a-bg);--color-base-200:var(--a-card);--color-base-300:var(--a-line);--color-base-content:var(--a-fg);
  --color-primary:var(--a-fg);--color-primary-content:var(--a-bg);
  --color-secondary:var(--a-muted);--color-secondary-content:var(--a-bg);
  --color-accent:var(--a-accent);--color-accent-content:var(--a-on-accent);
  --color-neutral:var(--a-fg);--color-neutral-content:var(--a-bg);
  --brand-vivid:var(--a-accent);--brand-deep:var(--a-fg);--brand-wash:var(--a-band);
  color-scheme:dark
}
:root:is([data-theme="light"],[data-theme-mode="light"]){color-scheme:light}

html,body.moabin-page{background:var(--a-bg)}
body.moabin-page{display:flex;flex-direction:column;min-height:100vh;margin:0;padding:0;color:var(--a-fg);font-family:var(--a-font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}
.moabin-page>.moabin-content,.moabin-page>main{flex:1 0 auto;min-width:0;width:100%}
.a-wrap{width:min(var(--a-wrap),calc(100% - var(--a-gutter)*2));margin-inline:auto;box-sizing:border-box}
.moabin-page .skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;background:var(--a-fg);color:var(--a-bg);border-radius:999px;text-decoration:none}
.moabin-page .skip-link:focus{top:12px}
.moabin-page :is(a,button,input,summary):focus-visible{outline:2px solid var(--a-accent);outline-offset:3px}
/* 글자를 넣는 칸은 빨간 외곽선 대신 테두리 색만 진하게 한다(체크박스·파일 선택은 외곽선 유지). */
.moabin-page :is(input:not([type=checkbox],[type=radio],[type=file],[type=range]),textarea,select):is(:focus,:focus-visible,:focus-within){outline:0!important;box-shadow:none!important;border-color:var(--a-fg)}
.moabin-page label:is(.input,.select,.floating-label):focus-within{outline:0!important;box-shadow:none!important;border-color:var(--a-fg)}
.a-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ───────── 머리글 ───────── */
.a-header{flex-shrink:0;position:relative;z-index:50;background:var(--a-bg);font-family:var(--a-font)}
.a-header-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding-block:8px;border-bottom:1px solid var(--a-fg)}
.a-brand{display:inline-flex;align-items:center;gap:8px;color:var(--a-fg);text-decoration:none;min-height:36px}
.a-brand svg{width:26px;height:26px;flex-shrink:0}
.a-brand span{font-size:18px;font-weight:900;letter-spacing:-.8px;line-height:1}
.a-logo-bg{fill:var(--a-fg)}.a-logo-tile{fill:var(--a-bg)}.a-logo-dot{fill:var(--a-accent)}
.a-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:14px;font-weight:500}
.a-header nav>a{display:inline-flex;align-items:center;min-height:36px;color:var(--a-fg);text-decoration:none;white-space:nowrap}
.a-header nav>a:hover{color:var(--a-accent)}
.a-header nav>a.a-pill{min-height:32px;padding:0 14px;border:1px solid var(--a-fg);border-radius:999px}
.a-header nav>a.a-pill:hover{background:var(--a-fg);color:var(--a-bg)}
.a-header .theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;margin:0;border:1px solid var(--a-line);border-radius:50%;background:transparent;color:var(--a-fg);cursor:pointer}
.a-header .theme-toggle:hover{border-color:var(--a-fg)}
.a-header .theme-toggle svg{width:16px;height:16px}
.a-header .theme-sun{display:none}
:root:is([data-theme="dark"],[data-theme-mode="dark"]) .a-header .theme-sun{display:block}
:root:is([data-theme="dark"],[data-theme-mode="dark"]) .a-header .theme-moon{display:none}

/* 로그인 후 계정 메뉴 */
.a-user{position:relative}
.a-user>summary{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:50%;cursor:pointer;list-style:none}
.a-user>summary::-webkit-details-marker{display:none}
.a-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;overflow:hidden;border-radius:50%;background:var(--a-point);color:#fff;font-size:14px;font-weight:800;transition:box-shadow .15s ease}
.a-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.a-user>summary{border:1px solid var(--a-line);box-sizing:border-box}
.a-user>summary:hover,.a-user[open]>summary{border-color:var(--a-fg)}
.a-user-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:70;display:flex;flex-direction:column;min-width:210px;padding:8px;background:var(--a-bg);border:1px solid var(--a-fg);box-shadow:0 16px 40px var(--a-shadow)}
.a-user-menu p{margin:0 0 4px;padding:6px 12px;border-bottom:1px solid var(--a-line);font-weight:700;font-size:15px}
.a-user-menu p small{display:block;font-weight:400;font-size:12px;color:var(--a-muted)}
.a-user-menu a,.a-user-menu button{display:flex;align-items:center;width:100%;min-height:34px;padding:0 12px;border:0;background:transparent;color:var(--a-fg);font:inherit;font-size:14px;text-align:left;text-decoration:none;cursor:pointer;box-sizing:border-box}
.a-user-menu a:hover,.a-user-menu button:hover{background:var(--a-hover);color:var(--a-accent)}
.a-user-menu form{margin:6px 0 0;padding-top:6px;border-top:1px solid var(--a-line)}

/* ───────── 바닥글 ───────── */
.a-footer{flex-shrink:0;margin-top:auto;background:var(--a-bg);border-top:1px solid var(--a-line);font-size:13px;color:var(--a-muted)}
.a-footer-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 24px;padding-block:14px 16px}
.a-footer .a-brand{min-height:0;gap:8px}
.a-footer .a-brand svg{width:18px;height:18px}
.a-footer .a-brand span{font-size:14px;letter-spacing:-.4px}
.a-footer p{margin:2px 0 0;color:var(--a-muted);font-size:12.5px;line-height:1.5}
.a-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:2px 18px}
.a-footer nav a{display:inline-flex;align-items:center;min-height:28px;color:var(--a-muted);text-decoration:none}
.a-footer nav a:hover{color:var(--a-accent)}
.a-footer nav span{color:var(--a-muted)}
.moabin-page .to-top{position:fixed;right:24px;bottom:24px;z-index:60;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--a-line);border-radius:50%;background:var(--a-bg);color:var(--a-fg);box-shadow:0 8px 24px var(--a-shadow);cursor:pointer}
.moabin-page .to-top:hover{border-color:var(--a-fg)}
.moabin-page .to-top[hidden]{display:none}

/* ───────── 홈 ───────── */
.a-home main a{color:inherit;text-decoration:none}
.a-eyebrow{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:2px;color:var(--a-accent)}
.a-hero{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 32px;padding-block:22px 18px}
.a-hero-copy{flex:999 1 560px;min-width:0}
.a-hero h1{margin:0;font-size:clamp(22px,2.4vw,30px);font-weight:900;line-height:1.25;letter-spacing:-1px;word-break:keep-all}
.a-hero-side{flex:1 1 320px;display:flex;flex-direction:column;gap:8px;padding-bottom:2px}
.a-hero-side p{margin:0;font-size:13.5px;line-height:1.55;color:var(--a-muted);word-break:keep-all}
.a-stats{display:flex;gap:20px;margin:0}
.a-stats div{margin:0}
.a-stats dd{margin:0;font-size:17px;font-weight:800;letter-spacing:-.5px;line-height:1.2}
.a-stats dt{font-size:10px;letter-spacing:1.5px;color:var(--a-muted)}
.a-stats div{display:flex;flex-direction:row-reverse;align-items:baseline;gap:5px}

.a-fields{padding-bottom:20px}
.a-sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.a-sec-head h2{margin:0;font-size:16px;font-weight:700;letter-spacing:-.5px}
.a-sec-head a{font-size:13px;color:var(--a-muted)}
.a-sec-head a:hover{color:var(--a-accent)}
.a-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.a-field{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"icons top" "text text";align-items:center;gap:6px 8px;min-height:0;box-sizing:border-box;padding:10px 12px;background:var(--a-card);border:1px solid var(--a-line);transition:border-color .2s ease,transform .2s ease}
.a-field:hover{border-color:var(--a-accent);transform:translateY(-2px)}
.a-field-top{grid-area:top;display:flex;justify-content:flex-end;align-items:center;gap:8px}
.a-field-icons{grid-area:icons}
.a-field>span:last-child{grid-area:text;min-width:0}
.a-field-en{display:none}
.a-field-en{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--a-muted)}
.a-field-n{font-size:18px;font-weight:800;line-height:1;letter-spacing:-1px;color:var(--a-point)}
.a-field-icons{display:flex;align-items:center;height:32px}
.a-field-icons img{box-sizing:border-box;width:32px;height:32px;border-radius:9px;border:2px solid var(--a-card);margin-right:-8px;box-shadow:none;background:var(--a-bg);object-fit:cover}
.a-field-name{display:block;font-size:14px;font-weight:700;letter-spacing:-.3px}
.a-field-apps{display:block;margin-top:1px;font-size:11.5px;line-height:1.4;color:var(--a-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.a-work{padding-bottom:28px;scroll-margin-top:8px}
.a-work-head{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;margin-bottom:8px}
.a-work-head h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.8px;line-height:1.1}
.a-work-head h2 sup{font-size:11px;color:var(--a-accent);letter-spacing:0;margin-left:6px}
.a-search{display:flex;align-items:center;gap:8px;min-height:34px;min-width:min(280px,100%);padding:0 12px;border:1px solid var(--a-line);border-radius:10px;color:var(--a-muted);box-sizing:border-box}
.a-search:focus-within{border-color:var(--a-fg)}
.a-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--a-fg);font:inherit;font-size:14px}
.a-search input::placeholder{color:var(--a-muted)}
.a-cats{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.a-cats .category{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 11px;border:1px solid var(--a-line);border-radius:999px;background:transparent;color:var(--a-fg);font:inherit;font-size:13px;cursor:pointer}
.a-cats .category span{opacity:.6}
.a-cats .category:hover{border-color:var(--a-fg)}
.a-cats .category.active{background:var(--a-fg);border-color:var(--a-fg);color:var(--a-bg)}
.a-status-line{margin:0 0 6px;font-size:12.5px;color:var(--a-muted)}
.a-index{border-top:2px solid var(--a-fg)}
.a-index-head,.a-row{display:grid;grid-template-columns:30px minmax(0,3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr) 18px;gap:12px;align-items:center;padding-inline:6px}
.a-index-head{padding-block:5px;font-size:10px;letter-spacing:1.5px;color:var(--a-muted);border-bottom:1px solid var(--a-line)}
.a-row{padding-block:5px;border-bottom:1px solid var(--a-line);transition:background-color .15s ease}
.a-row:hover{background:var(--a-hover)}
.a-row[hidden],.a-group[hidden]{display:none}
.a-no{font-size:12px;color:var(--a-muted);font-variant-numeric:tabular-nums}
.a-name{display:flex;align-items:center;gap:10px;min-width:0}
.a-name>span:last-child{min-width:0}
.a-thumb{width:32px;height:32px;flex-shrink:0;border-radius:8px;object-fit:cover;background:var(--a-card)}
.a-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;background:var(--a-card);border:1px solid var(--a-line);font-weight:800;font-size:14px;color:var(--a-fg)}
.a-name b{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.3px;line-height:1.3}
.a-name small{display:block;font-size:12.5px;color:var(--a-muted);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-meta{font-size:12.5px;color:var(--a-muted)}
/* Each category has its own light/dark palette; labels stay distinct from copy. */
.a-cat{justify-self:start;max-width:100%;box-sizing:border-box;padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--a-category,var(--a-point)) 10%,var(--a-bg));color:var(--a-category,var(--a-point));font-size:11.5px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.a-group[data-section="learning"]{--a-category:var(--a-cat-learning)}
.a-group[data-section="adventure"]{--a-category:var(--a-cat-adventure)}
.a-group[data-section="puzzle"]{--a-category:var(--a-cat-puzzle)}
.a-group[data-section="life"]{--a-category:var(--a-cat-life)}
.a-group[data-section="work"]{--a-category:var(--a-cat-work)}
.a-group[data-section="build"]{--a-category:var(--a-cat-build)}
.a-group[data-section="archive"]{--a-category:var(--a-cat-archive)}
.a-status{display:inline-block;padding:1px 8px;border:1px solid currentColor;border-radius:999px;font-size:11.5px;white-space:nowrap;color:var(--a-accent)}
.a-status.is-live{color:var(--a-live)}.a-status.is-proto,.a-status.is-stop{color:var(--a-proto)}
.a-arrow{font-size:13px;text-align:right}
.a-empty{padding:24px 0;text-align:center}
.a-empty h3{margin:0 0 6px;font-size:16px}
.a-empty p{margin:0 0 12px;color:var(--a-muted)}
.a-btn{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 18px;border:1px solid var(--a-fg);border-radius:999px;background:var(--a-fg);color:var(--a-bg)!important;font:inherit;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none}
.a-btn:hover{opacity:.88}
.a-band{background:var(--a-band);border-top:1px solid var(--a-line)}
.a-band-in{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between;padding-block:20px}
.a-band .a-eyebrow{margin-bottom:4px}
.a-band h2{margin:0;font-size:17px;font-weight:800;line-height:1.4;letter-spacing:-.5px;word-break:keep-all}

/* ───────── 콘텐츠 화면 (게시판·앱 상세·로그인·계정) ───────── */
.moabin-page .moabin-content>.main-area{width:min(var(--a-wrap),calc(100% - var(--a-gutter)*2));max-width:none;margin-inline:auto;padding:14px 0 32px;box-sizing:border-box}
body.moabin-page:not(.admin-page) .main-area{color:var(--a-fg);font-family:var(--a-font)}
body.moabin-page:not(.admin-page) .main-area a:not(.btn){color:inherit}
body.moabin-page:not(.admin-page) .main-area a:not(.btn):hover{color:var(--a-accent)}
body.moabin-page:not(.admin-page) .main-area .breadcrumbs{font-size:12.5px;color:var(--a-muted);padding:0 0 6px;min-height:0}
body.moabin-page:not(.admin-page) .main-area .page-head{padding-bottom:8px;margin-bottom:12px;border-bottom:2px solid var(--a-fg)}
body.moabin-page:not(.admin-page) .main-area .page-head h1,body.moabin-page:not(.admin-page) .main-area h1{font-weight:900;letter-spacing:-1.2px;line-height:1.25}
body.moabin-page:not(.admin-page) .main-area .page-head h1{font-size:21px;letter-spacing:-.8px;margin:0}
body.moabin-page:not(.admin-page) .main-area :is(.page-sub,.page-count,.muted,.form-hint){color:var(--a-muted)}
body.moabin-page:not(.admin-page) .main-area .card{background:var(--a-bg);border:1px solid var(--a-line);border-radius:0;box-shadow:none}
body.moabin-page:not(.admin-page) .main-area .table{border-top:2px solid var(--a-fg);border-radius:0}
body.moabin-page:not(.admin-page) .main-area .table thead th{background:transparent;color:var(--a-muted);font-size:12px;font-weight:500;letter-spacing:1px;border-bottom:1px solid var(--a-line)}
body.moabin-page:not(.admin-page) .main-area .table :is(td,th){border-color:var(--a-line)}
body.moabin-page:not(.admin-page) .main-area .table tbody tr:hover{background:var(--a-hover)}
body.moabin-page:not(.admin-page) .main-area .table-zebra tbody tr:nth-child(even){background:transparent}
body.moabin-page:not(.admin-page) .main-area .btn{border-radius:999px;font-weight:500;box-shadow:none}
body.moabin-page:not(.admin-page) .main-area .btn-primary{background:var(--a-fg);border-color:var(--a-fg);color:var(--a-bg)}
body.moabin-page:not(.admin-page) .main-area .btn-primary:hover{opacity:.88}
body.moabin-page:not(.admin-page) .main-area .btn-outline{background:transparent;border-color:var(--a-fg);color:var(--a-fg)}
body.moabin-page:not(.admin-page) .main-area .btn-outline:hover{background:var(--a-fg);color:var(--a-bg)}
body.moabin-page:not(.admin-page) .main-area :is(.input,.select,.textarea){background-color:var(--a-bg);border:1px solid var(--a-line);color:var(--a-fg)}
body.moabin-page:not(.admin-page) .main-area :is(.input,.select,.textarea){border-radius:10px}
body.moabin-page:not(.admin-page) .main-area :is(.input,.select,.textarea):is(:focus,:focus-within){border-color:var(--a-fg);outline:0;box-shadow:none}
body.moabin-page:not(.admin-page) .main-area .alert{border-radius:0;background:var(--a-card);border:1px solid var(--a-line);color:var(--a-fg)}
body.moabin-page:not(.admin-page) .main-area .badge{border-radius:999px}
body.moabin-page:not(.admin-page) .main-area .detail-thumbnail{width:56px;height:56px;border-radius:14px;margin:0;box-shadow:none;flex-shrink:0}
body.moabin-page:not(.admin-page) .main-area article.card>.card-body{padding:clamp(14px,2.2vw,24px);gap:6px}
body.moabin-page:not(.admin-page) .main-area article.card>.card-body>h2{margin-top:10px;font-size:15.5px;font-weight:800;letter-spacing:-.4px}
body.moabin-page:not(.admin-page) .main-area article.card>.card-body>ul{padding-left:1.2em;list-style:disc}
body.moabin-page:not(.admin-page) .main-area .test-access{border:1px solid var(--a-line);border-radius:0;background:var(--a-card)}
body.moabin-page:not(.admin-page) .main-area .test-access .test-button{border-radius:999px;background:var(--a-fg);color:var(--a-bg)}
body.moabin-page:not(.admin-page) .main-area .test-access .test-button:hover{background:var(--a-fg);opacity:.88}
body.moabin-page:not(.admin-page) .main-area .test-access :is(.test-group,.test-url,.test-note){color:var(--a-muted)}
body.moabin-page:not(.admin-page) .main-area .app-application{border-top:2px solid var(--a-fg)}
body.moabin-page:not(.admin-page) .main-area .application-submit{border-radius:999px}
body.moabin-page:not(.admin-page) .main-area .application-status.success{background:var(--a-band)}

/* ───────── 개인정보 안내 (정적 페이지) ───────── */
.moabin-page .privacy-bento{--pb-card:var(--a-card);--pb-ink:var(--a-fg);--pb-copy:var(--a-muted);--pb-muted:var(--a-muted);--pb-soft:var(--a-band);--pb-line:var(--a-line);--pb-accent:var(--a-accent);--pb-stat:var(--a-band);--pb-stat-ink:var(--a-fg);--pb-night:var(--a-fg)}
.moabin-page .privacy-bento .privacy-card{border-radius:0;box-shadow:none}

/* ───────── 좁은 화면 ───────── */
@media (max-width:1190px){:root{--a-gutter:24px}}
@media (max-width:860px){
  .a-index-head{display:none}
  /* Give titles their full row; long release labels must not squeeze the copy. */
  .a-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name name" "meta status";gap:2px 8px;padding:7px 0}
  .a-row .a-no,.a-row .a-arrow,.a-row .a-plat{display:none}
  .a-row .a-name{grid-area:name;align-items:center}
  .a-row .a-name small{white-space:normal}
  .a-row .a-thumb,.a-row .a-mark{box-sizing:border-box;width:32px;height:32px}
  .a-row .a-name>span:last-child{min-width:0;overflow-wrap:anywhere;word-break:keep-all}
  .a-row .a-cat{grid-area:meta;font-size:11px;margin-left:42px}
  .a-row>span:nth-child(5){grid-area:status;min-width:0;max-width:100%;justify-self:end;text-align:right}
  .a-row .a-status{max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
}
@media (max-width:720px){
  :root{--a-gutter:14px}
  .a-header-in{padding-block:6px}
  .a-header nav{gap:4px 12px}
  .a-hero{padding-block:14px 12px;gap:8px}
  .a-stats{gap:16px}
  .a-fields{padding-bottom:16px}
  .a-sec-head{gap:10px;margin-bottom:6px}
  .a-sec-head h2{font-size:15px}
  .a-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .a-field{min-width:0;padding:8px;gap:4px 6px}
  .a-field-apps{display:none}
  .a-field-n{font-size:14px}
  .a-field-icons{height:24px}
  .a-field-icons img{width:24px;height:24px;border-radius:7px;margin-right:-7px}
  .a-field-name{font-size:12.5px;line-height:1.35;word-break:keep-all}
  .a-cats{gap:4px;margin-bottom:6px}
  .a-cats .category{min-height:30px;padding:0 9px;gap:4px;font-size:12px;line-height:1.3}
  .a-work{padding-bottom:20px}
  .a-band-in{padding-block:16px}
  .moabin-page .moabin-content>.main-area{padding:10px 0 24px}
  .moabin-page .to-top{right:16px;bottom:16px}
}
@media (max-width:380px){
  .a-brand span{font-size:17px}
  .a-header nav>a.a-pill{padding:0 12px}
  .a-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
/* Form controls: modest radius everywhere (public + admin); square-ish checkboxes */
.moabin-page :is(.input,.select,.textarea){border-radius:10px}
.moabin-page .checkbox{border-radius:5px}
.application-consent input.checkbox{flex:0 0 20px;width:20px;height:20px;min-width:20px;min-height:0;max-height:20px;padding:0;margin-top:4px;aspect-ratio:1/1;align-self:flex-start}
/* Select boxes: always show a chevron (daisyUI arrow can be lost when background is overridden) */
.moabin-page select.select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23777' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;padding-right:40px;cursor:pointer}
.moabin-page select.select::picker-icon{display:none}
/* Required / optional field tags */
.field-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:5px;font-size:11.5px;font-style:normal;font-weight:700;line-height:1.6;vertical-align:1px}
.field-req{color:var(--a-accent);background:color-mix(in srgb,var(--a-accent) 10%,transparent)}
.field-opt{color:var(--a-muted);background:var(--a-band);font-weight:500}
/* ───── 플랫폼 화면: 내 앱 관리 · 내 테스트 · 테스트 품앗이 ───── */
.p-wrap{max-width:1080px;margin:0 auto;color:var(--a-fg)}
.p-narrow{max-width:760px}
.p-head{padding-bottom:8px;margin-bottom:12px;border-bottom:2px solid var(--a-fg)}
.p-head-row{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;align-items:flex-end}
.p-head-row>div:first-child{flex:1 1 380px;min-width:0}
.p-head-row .p-actions{margin-top:0}
.p-head h1{font-size:21px;font-weight:900;letter-spacing:-.8px;line-height:1.25;margin:0 0 3px}
.p-head p{color:var(--a-muted);font-size:13.5px;line-height:1.55;margin:0}
.p-eyebrow{font-size:12px;font-weight:700;letter-spacing:0;color:var(--a-muted)}
.p-eyebrow a{color:inherit;text-decoration:none}
.p-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.p-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border:1px solid var(--a-line);border-radius:999px;background:var(--a-bg);color:var(--a-fg);font:inherit;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}
.p-btn:hover{border-color:var(--a-fg)}
.p-btn.is-primary{background:var(--a-fg);border-color:var(--a-fg);color:var(--a-bg)}
.p-btn.is-sm{min-height:28px;padding:0 11px;font-size:12.5px}
.p-link{background:none;border:0;padding:0;margin-top:6px;color:var(--a-muted);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.p-flash{padding:8px 12px;margin:0 0 10px;border-radius:8px;font-size:13.5px;line-height:1.55}
.p-flash ul{margin:0;padding-left:18px}
.p-flash.is-ok{background:color-mix(in srgb,var(--a-point) 12%,transparent);color:var(--a-fg)}
.p-flash.is-err{background:color-mix(in srgb,var(--a-accent) 10%,transparent);color:var(--a-fg)}
.p-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0 0 12px;background:var(--a-line);border:1px solid var(--a-line)}
.p-stats div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;background:var(--a-bg);padding:6px 12px}
.p-stats dt{font-size:12px;color:var(--a-muted)}
.p-stats dd{margin:0;font-size:16px;font-weight:800;color:var(--a-point)}
.p-section{margin-top:18px}
.p-section h2{font-size:15.5px;font-weight:800;margin:0 0 6px}
.p-section h2 small{font-size:12.5px;font-weight:500;color:var(--a-muted);margin-left:6px}
.p-empty{padding:16px;font-size:13.5px;text-align:center;color:var(--a-muted);background:var(--a-card);border:1px solid var(--a-line)}
.p-empty p{margin:0 0 8px}
.p-list{display:grid;gap:6px}
.p-item{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;align-items:flex-start;padding:9px 12px;background:var(--a-bg);border:1px solid var(--a-line)}
.p-item.p-part,.p-item.p-intake{display:block}
.p-item-main{display:flex;gap:10px;align-items:flex-start;min-width:0;flex:1}
.p-item-main>div{flex:1;min-width:0}
.p-item-main img,.p-mark{flex:0 0 40px;width:40px;height:40px;border-radius:10px;object-fit:cover}
.p-mark{display:inline-flex;align-items:center;justify-content:center;background:var(--a-band);font-weight:800;font-size:16px}
.p-item h2{font-size:14.5px;font-weight:800;margin:0 0 1px}
.p-item p{margin:1px 0;line-height:1.5}
.p-item-actions{display:flex;flex-wrap:wrap;gap:4px}
.p-meta{font-size:12.5px;color:var(--a-muted)}
.p-alert{color:var(--a-accent)}
.p-note{font-size:13px;padding:6px 10px;margin-top:6px!important;background:var(--a-card);border-left:3px solid var(--a-point)}
.p-badge{display:inline-block;padding:1px 8px;border-radius:5px;font-size:12px;font-weight:700;vertical-align:2px;background:var(--a-band);color:var(--a-muted)}
.p-badge.is-approved,.p-badge.is-live,.p-badge.is-completed,.p-badge.is-invited{background:color-mix(in srgb,var(--a-point) 14%,transparent);color:var(--a-point)}
.p-badge.is-pending,.p-badge.is-active,.p-badge.is-received,.p-badge.is-reviewing{background:color-mix(in srgb,#d97706 16%,transparent);color:#b45309}
.p-badge.is-rejected,.p-badge.is-dropped{background:color-mix(in srgb,var(--a-accent) 12%,transparent);color:var(--a-accent)}
:root:is([data-theme="dark"],[data-theme-mode="dark"]) .p-badge:is(.is-pending,.is-active,.is-received,.is-reviewing){color:#fbbf24}
.p-part-head{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin-bottom:4px}
.p-part-head a{color:inherit}
.p-progress{display:block;height:5px;margin:5px 0;border-radius:3px;background:var(--a-band);overflow:hidden}
.p-progress>span{display:block;height:100%;background:var(--a-point);border-radius:3px}
.p-stages{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.p-stages li{padding:7px 10px;background:var(--a-card);border:1px solid var(--a-line);border-radius:8px;min-width:0}
.p-stages li>b{display:block;font-size:12.5px;margin-bottom:2px}
.p-stages li.is-approved{border-color:color-mix(in srgb,var(--a-point) 45%,var(--a-line))}
.p-stages li.is-pending{border-color:color-mix(in srgb,#d97706 45%,var(--a-line))}
.p-stages li.is-rejected{border-color:color-mix(in srgb,var(--a-accent) 45%,var(--a-line))}
.p-stages p{font-size:13px;margin:2px 0;overflow-wrap:anywhere}
.p-inline{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.p-inline .input{flex:1;min-width:120px;height:32px;font-size:13px;background-color:var(--a-bg);border:1px solid var(--a-line);color:var(--a-fg)}
.p-form{display:grid;gap:10px}
.p-form fieldset{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}
.p-form legend{font-size:15px;font-weight:800;margin-bottom:6px;padding:0}
.p-form label{display:grid;gap:3px;font-size:13px}
.p-form label>span:first-child{font-weight:700}
.p-form small{color:var(--a-muted);font-size:12px;line-height:1.5}
.p-form .input,.p-form .select,.p-form .textarea{width:100%;background-color:var(--a-bg);border:1px solid var(--a-line);color:var(--a-fg);font:inherit;font-size:14px;box-sizing:border-box}
.p-form .input,.p-form .select{height:36px;min-height:36px;padding:0 10px}
.p-form .select{padding-right:40px}
.p-form .textarea{padding:7px 10px;line-height:1.5;min-height:0}
.p-form :is(.input,.select,.textarea):focus{border-color:var(--a-fg);outline:0}
.p-form-tight{gap:8px;margin-top:8px}
.p-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.p-check-row{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:13px}
.p-check-row>span{font-weight:700;margin-right:6px}
.p-form label.p-check,label.p-check{display:inline-flex;align-items:center;gap:8px;font-weight:400}
.p-check .checkbox{width:18px;height:18px;flex:0 0 18px}
.p-icon-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.p-icon-row img{border-radius:12px}
.p-intake summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.p-intake-body{margin:12px 0;font-size:14px;line-height:1.6}
.p-intake-body p{margin:0 0 8px}
.p-steps{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.p-steps li{padding:8px 10px;background:var(--a-card);border:1px solid var(--a-line)}
.p-steps b{display:block;font-size:13px;margin-bottom:1px}
.p-steps span{font-size:12.5px;color:var(--a-muted);line-height:1.5}
.p-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.p-card{display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--a-bg);border:1px solid var(--a-line);color:var(--a-fg);text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.p-card:hover{border-color:var(--a-point);transform:translateY(-2px)}
.p-card-top{display:flex;gap:12px;align-items:center}
.p-card-top img,.p-card-top .p-mark{flex:0 0 52px;width:52px;height:52px;border-radius:14px}
.p-card-top b{display:block;font-size:16px}
.p-card-top small{display:block;font-size:12.5px;color:var(--a-muted)}
.p-card-desc{font-size:14px;color:var(--a-muted);line-height:1.6;flex:1}
.p-card-foot{display:flex;justify-content:space-between;font-size:12.5px;color:var(--a-muted)}
.p-join{margin:10px 0;padding:10px 12px;background:var(--a-card);border:1px solid var(--a-point);scroll-margin-top:12px}
.p-join-head b{font-size:14.5px}
.p-join-head em{font-style:normal;font-weight:700;color:var(--a-accent)}
.p-join-form{display:grid;gap:6px;justify-items:start;max-width:520px}
.p-join-form small{font-size:12px;line-height:1.5;color:var(--a-muted)}
.p-join-email{display:grid;gap:3px;width:100%;font-size:13px;font-weight:700}
.p-join-email .input{width:100%;height:36px;min-height:36px;font-size:14px;font-weight:400}
.p-join-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}
.p-join-head span{font-size:13px;color:var(--a-muted)}
.p-join p{font-size:13px;color:var(--a-muted);margin:4px 0 8px;line-height:1.55}
.p-join .p-join-note{margin:8px 0 0;font-size:12px}
.x-foot b{color:var(--a-fg)}
body.moabin-page:not(.admin-page) .main-area .p-card,body.moabin-page:not(.admin-page) .main-area .p-btn{color:var(--a-fg)}
body.moabin-page:not(.admin-page) .main-area .p-btn.is-primary{color:var(--a-bg)}
@media (max-width:760px){
  .p-stats{grid-template-columns:repeat(2,1fr)}
  .p-stages,.p-steps,.p-row2{grid-template-columns:1fr}
  .p-item-actions{width:100%}
}

/* Test access: web link + store test link stacked */
.test-access .test-item+.test-item{margin-top:10px;padding-top:10px;border-top:1px dashed var(--a-line,currentColor)}

/* ───── 컴팩트: 품앗이 목록 · 홈의 모집 줄 · 앱 상세 ───── */
.x-home{padding-bottom:18px}
.x-home .a-sec-head h2 sup{margin-left:4px;font-size:11px;color:var(--a-accent)}
.x-home-links{display:flex;gap:14px;font-size:12.5px}
.x-home-links a{color:var(--a-muted)}
.x-home-links a:first-child{color:var(--a-point);font-weight:700}
.x-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.x-chip{display:flex;align-items:center;gap:9px;min-width:0;padding:7px 10px;border:1px solid var(--a-line);background:var(--a-bg);transition:border-color .15s ease}
.x-chip:hover{border-color:var(--a-point)}
.x-chip img,.x-chip .p-mark{flex:0 0 36px;width:36px;height:36px;border-radius:9px;object-fit:cover;font-size:15px}
.x-chip-text{flex:1;min-width:0}
.x-chip-text b{display:block;font-size:13.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.x-chip-text small{display:block;font-size:11.5px;color:var(--a-muted);line-height:1.35}
.x-chip .p-progress{height:3px;margin:3px 0 0}
.x-home-note,.x-home-empty{margin:6px 0 0;font-size:12.5px;color:var(--a-muted)}
.x-bar{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;color:var(--a-muted)}
.x-bar b{color:var(--a-fg)}
.x-tabs{display:flex;flex-wrap:wrap;gap:4px}
.x-tabs a{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 10px;border:1px solid var(--a-line);border-radius:999px;font-size:12.5px;text-decoration:none}
.x-tabs a span{opacity:.6}
body.moabin-page:not(.admin-page) .main-area .x-tabs a.is-on{background:var(--a-fg);border-color:var(--a-fg);color:var(--a-bg)}
.x-how{margin-bottom:8px;font-size:13px}
.x-how summary{cursor:pointer;color:var(--a-muted)}
.x-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--a-fg)}
.x-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 96px;gap:12px;align-items:center;padding:6px;border-bottom:1px solid var(--a-line)}
.x-row:hover{background:var(--a-hover)}
.x-row.is-mutual{background:color-mix(in srgb,var(--a-point) 6%,transparent)}
.x-row.is-full .x-need b{color:var(--a-live)}
.x-main{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none}
.x-main img,.x-main .p-mark{flex:0 0 40px;width:40px;height:40px;border-radius:10px;object-fit:cover}
.x-text{flex:1;min-width:0}
.x-text b{display:block;font-size:14.5px;line-height:1.3}
.x-text small{display:block;font-size:12.5px;line-height:1.4;color:var(--a-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.x-text .x-meta{font-size:11.5px}
.x-need{font-size:12.5px;color:var(--a-muted)}
.x-need b{font-size:15px;color:var(--a-point)}
.x-need small{display:block;font-size:11.5px}
.x-need .p-progress{margin:2px 0}
.x-act{display:flex;justify-content:flex-end}
.x-act form{margin:0}
.x-foot{margin:10px 0 0;font-size:12.5px;color:var(--a-muted)}
.x-foot a,.p-note a,.p-join-form a{text-decoration:underline;text-underline-offset:3px}
.p-more{border:1px solid var(--a-line);padding:8px 12px}
.p-more>summary{cursor:pointer;font-size:13.5px;font-weight:700}
.p-more>summary small{font-weight:400;margin-left:6px}
.p-more[open]>summary{margin-bottom:10px}
.p-share{display:grid;gap:4px;margin-top:8px}
.p-share label{font-size:13px;font-weight:700}
.p-share label small{font-weight:400;color:var(--a-muted);margin-left:4px}
.p-share .textarea{width:100%;min-height:0;padding:6px 10px;font:inherit;font-size:13px;line-height:1.5;box-sizing:border-box}
.p-share .p-actions{margin-top:2px}
.p-share form{margin:0}
.p-inline{align-items:center}
.p-mutual-btn{border-color:var(--a-point)}
.p-todo{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;padding:7px 12px;margin:0 0 10px;border:1px solid var(--a-point);background:color-mix(in srgb,var(--a-point) 7%,transparent);font-size:13.5px}
.p-todo.is-urgent{border-color:var(--a-accent);background:color-mix(in srgb,var(--a-accent) 7%,transparent)}
.p-todo a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.p-badge.is-boost{background:var(--a-fg);color:var(--a-bg)}
.p-credits{margin:8px 0 0!important;font-size:12.5px}
.p-credits b{color:var(--a-fg);margin-right:4px}
.p-form-tight .input-sm{height:30px;min-height:30px;font-size:13px}
.p-mutual .p-item{align-items:center}
.d-head{display:flex;gap:12px;align-items:center}
.d-head>div{flex:1;min-width:0}
.d-kicker{font-size:12.5px;color:var(--a-muted)}
body.moabin-page:not(.admin-page) .main-area .d-head h1{margin:0;font-size:clamp(19px,2.2vw,24px);letter-spacing:-.8px;line-height:1.25}
.d-tagline{margin:1px 0 0;font-size:14px;color:var(--a-muted)}
.d-apply{border-top:1px solid var(--a-line);padding-top:8px;margin-top:8px}
.d-apply>summary{cursor:pointer;font-size:13.5px;color:var(--a-muted)}
.d-apply .app-application{border-top:0!important;margin-top:8px;padding-top:0}
/* 게시판·로그인·계정·앱 상세(moabin-cms.css, daisyUI) 간격과 글자 줄이기 */
body.moabin-page:not(.admin-page) .main-area :is(.prose,.prose p,.prose li){font-size:14.5px;line-height:1.7}
body.moabin-page:not(.admin-page) .main-area .prose h2{font-size:18px}
body.moabin-page:not(.admin-page) .main-area :is(.btn,.label,.menu,.table,.alert){font-size:13.5px}
body.moabin-page:not(.admin-page) .main-area .btn:not(.btn-xs,.btn-sm,.btn-lg){min-height:36px;height:36px;padding-inline:14px}
body.moabin-page:not(.admin-page) .main-area :is(.btn-xs,.btn-sm){min-height:30px;height:30px;font-size:12.5px}
body.moabin-page:not(.admin-page) .main-area .table :is(th,td){font-size:13.5px;padding:6px 10px}
body.moabin-page:not(.admin-page) .main-area .card-body{padding:clamp(12px,2vw,20px);gap:6px}
body.moabin-page:not(.admin-page) .main-area .form-control{margin:8px 0;gap:4px}
body.moabin-page:not(.admin-page) .main-area .form-control>span{font-size:13.5px}
body.moabin-page:not(.admin-page) .main-area :is(.input,.select):not(.input-sm,.select-sm){height:38px;min-height:38px;font-size:14.5px}
body.moabin-page:not(.admin-page) .main-area .textarea{font-size:14.5px;line-height:1.55}
body.moabin-page:not(.admin-page) .main-area .test-access{margin:8px 0;padding:10px 12px}
body.moabin-page:not(.admin-page) .main-area .test-access h5{font-size:14px;margin:0 0 6px}
body.moabin-page:not(.admin-page) .main-area .test-access p{margin:4px 0;line-height:1.55}
body.moabin-page:not(.admin-page) .main-area .test-access .test-button{min-height:34px;padding:4px 14px;font-size:13.5px;line-height:1.5}
body.moabin-page:not(.admin-page) .main-area .test-access :is(.test-url,.test-note){margin-top:4px;font-size:12.5px;line-height:1.5}
body.moabin-page:not(.admin-page) .main-area .app-application{margin-top:14px;padding-top:12px;scroll-margin-top:12px}
body.moabin-page:not(.admin-page) .main-area .app-application h2{font-size:16px;line-height:1.4;margin:0 0 4px}
body.moabin-page:not(.admin-page) .main-area .app-application .application-intro{font-size:13.5px;line-height:1.6;margin-bottom:8px}
body.moabin-page:not(.admin-page) .main-area .application-app{font-size:13.5px;margin-bottom:6px}
body.moabin-page:not(.admin-page) .main-area .app-intake-form .form-control{margin:8px 0;gap:3px}
body.moabin-page:not(.admin-page) .main-area .app-intake-form :is(input,select):not(.checkbox){min-height:38px;height:38px}
body.moabin-page:not(.admin-page) .main-area .application-help{font-size:12.5px;line-height:1.55;margin:4px 0 8px}
body.moabin-page:not(.admin-page) .main-area .application-consent{margin:10px 0;gap:8px;font-size:13.5px;line-height:1.55}
body.moabin-page:not(.admin-page) .main-area .application-consent small{font-size:12.5px;line-height:1.55;margin-top:2px}
body.moabin-page:not(.admin-page) .main-area .application-submit{min-height:38px;height:38px;font-size:14px}
body.moabin-page:not(.admin-page) .main-area .application-status{font-size:13.5px;line-height:1.55}
@media (min-width:861px){.a-row .a-name b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media (max-width:760px){
  .x-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main act" "need need";gap:4px 8px}
  .x-main{grid-area:main}.x-act{grid-area:act}
  .x-need{grid-area:need;display:flex;align-items:center;gap:8px;padding-left:50px}
  .x-need .p-progress{flex:1}
  .x-chips{grid-template-columns:repeat(2,minmax(0,1fr))}
  .x-chip{padding:6px 8px;gap:7px}
  .x-chip img,.x-chip .p-mark{flex-basis:30px;width:30px;height:30px}
  /* 16px 미만 입력란은 iOS에서 화면이 확대된다 */
  .p-form :is(.input,.select,.textarea),.p-join-email .input,body.moabin-page:not(.admin-page) .main-area :is(.input,.select,.textarea){font-size:16px}
}
