/* Self-contained notice layer; independent of the main page stylesheet. */
.notice-modal{width:min(900px,calc(100vw - 40px));max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:20px;background:#fff;color:#191919;box-shadow:0 30px 100px #0003;font-family:Inter,Pretendard,Arial,sans-serif;overflow:hidden}
.notice-modal[open]{display:flex;flex-direction:column;animation:notice-enter .3s ease-out}
.notice-modal::backdrop{background:rgba(16,24,40,.68);backdrop-filter:blur(5px)}
.notice-heading{padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #eaeaea;flex-shrink:0}
.notice-eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;display:flex;align-items:center;gap:10px}
.notice-eyebrow:before{content:'';width:7px;height:7px;background:#ffcd00}
.notice-x{width:40px;height:40px;font-size:28px;background:#f7f7f5;border:0;border-radius:50%;cursor:pointer;color:#191919}
.notice-x:hover{background:#ffcd00}
.notice-body{overflow-y:auto;overscroll-behavior:contain;padding:34px 40px 26px;min-height:0;scrollbar-gutter:stable}
.notice-category{color:#737373;font-size:11px;margin-bottom:16px;font-weight:600}
.notice-modal h2{font-size:clamp(26px,3vw,36px);line-height:1.4;letter-spacing:-1.3px;font-weight:650;margin:0}
.notice-lead{font-size:15px;line-height:1.85;color:#555;margin:18px 0 24px;word-break:keep-all}
.notice-preview{padding:17px 20px;border:1px solid #eed579;border-left:4px solid #ffcd00;border-radius:8px;background:#fffbea;font-size:12px;line-height:1.85;color:#665415;word-break:keep-all}
.notice-preview strong{display:block;color:#191919;margin-bottom:3px}
.notice-section{margin-top:32px;border-top:1px solid #eaeaea;padding-top:28px;scroll-margin-top:0}
.notice-section h3{margin:0 0 16px;font-size:17px;font-weight:650;letter-spacing:-.4px;line-height:1.6}
.notice-section>p{font-size:13px;line-height:1.95;color:#555;word-break:keep-all;margin:12px 0}
.notice-checks{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.notice-checks li{padding:18px;background:#f7f7f5;border-radius:10px;font-size:12px;line-height:1.7}
.notice-checks strong{display:block;margin-bottom:7px;color:#191919;font-size:12px}
.notice-checks strong:before{content:'✓';color:#947600;margin-right:8px}
.notice-checks span{color:#666}
.notice-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.notice-section-head h3{margin:0}
.notice-tag{font-size:10px;background:#f1f2f4;color:#5c6370;border-radius:5px;padding:6px 9px;white-space:nowrap}
.notice-tag-yellow{background:#fff5c7;color:#756019}
.notice-section p.notice-caption{font-size:11px;color:#737373;line-height:1.8}
.notice-public-list{list-style:none;margin:18px 0 12px;padding:0;background:#f7f7f5;border-radius:10px}
.notice-public-list li{padding:14px 18px;border-bottom:1px solid #eaeaea;display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.7}
.notice-public-list li:last-child{border:0}
.notice-public-list time{font-size:10px;color:#737373;white-space:nowrap;align-self:center}
.notice-section p.notice-source{font-size:10px;line-height:1.8;color:#737373}
.notice-source a{color:#555;text-decoration:underline;text-underline-offset:3px}
.notice-filters{display:flex;gap:7px;margin:18px 0 15px;flex-wrap:wrap}
.notice-filters button{border:1px solid #eaeaea;border-radius:8px;padding:9px 12px;font-size:11px;background:white;color:#555;cursor:pointer}
.notice-filters button[aria-pressed=true]{background:#101828;color:white;border-color:#101828}
.notice-filters span{opacity:.65;margin-left:5px;font-size:10px}
.notice-table-wrap{border:1px solid #eaeaea;border-radius:10px;overflow:hidden}
.notice-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed;text-align:left}
.notice-table th{background:#f7f7f5;padding:13px 14px;font-size:11px;font-weight:600;color:#737373}
.notice-table th:first-child{width:52px}.notice-table th:last-child{width:190px}
.notice-table td{padding:12px 14px;border-top:1px solid #eaeaea;line-height:1.7;overflow-wrap:anywhere}
.notice-table td:first-child{color:#999;font-size:10px}
.notice-table .notice-ours td{background:#fffdf2}
.notice-table .notice-ours td:last-child{font-weight:600;color:#191919}
.notice-company-tag{display:inline-block;font-size:9px;color:#7f6b28;background:#fff3ba;padding:1px 5px;margin-left:5px;border-radius:3px;vertical-align:middle;white-space:nowrap}
.notice-ending{text-align:center;margin:28px 0 4px;color:#737373;font-size:12px;line-height:1.95}
.notice-ending strong{color:#191919;font-weight:500}
.notice-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 32px;border-top:1px solid #eaeaea;background:white;flex-shrink:0}
.notice-actions label{display:flex;align-items:center;gap:7px;font-size:12px;color:#737373;cursor:pointer}
.notice-actions input{width:16px;height:16px;accent-color:#ffcd00}
.notice-confirm{background:#ffcd00;color:#191919;border:0;border-radius:9px;font-size:12px;font-weight:600;padding:13px 18px;cursor:pointer;display:flex;align-items:center;gap:22px}
.notice-confirm:hover{background:#edbe00}
.notice-modal button:focus-visible,.notice-modal a:focus-visible,.notice-actions input:focus-visible,.notice-reopen:focus-visible{outline:3px solid #b48d00;outline-offset:3px}
.notice-footer-links{display:flex;align-items:center;gap:24px}
.notice-reopen{border:0;background:none;color:#d6dbe4;cursor:pointer;font:inherit;font-size:11px;padding:8px 0}
.notice-reopen:hover{color:#ffcd00}
.notice-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes notice-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.notice-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:14px}.notice-heading{padding:10px 18px}.notice-body{padding:25px 20px}.notice-modal h2{font-size:25px;letter-spacing:-.9px}.notice-lead{font-size:13px}.notice-preview{padding:13px 15px;font-size:11px}.notice-section h3{font-size:15px}.notice-section>p{font-size:12px}.notice-checks{grid-template-columns:1fr}.notice-actions{padding:14px 18px;gap:10px}.notice-actions label{font-size:10px}.notice-confirm{font-size:11px;padding:12px;gap:10px}.notice-public-list li{flex-direction:column;gap:3px;padding:12px}.notice-public-list time{align-self:start}.notice-table{font-size:10px}.notice-table td,.notice-table th{padding:10px 8px}.notice-table th:first-child{width:32px}.notice-table th:last-child{width:116px}.notice-company-tag{font-size:8px;margin-left:0;display:block;width:max-content}.notice-footer-links{flex-direction:column;align-items:end;gap:3px}}
@media(prefers-reduced-motion:reduce){.notice-modal[open]{animation:none}}

/* 1.3 — Editorial Precision notice surfaces. */
.notice-modal{font-family:var(--body,Inter,Pretendard,sans-serif);border:1px solid #e7e8e3;border-radius:24px;box-shadow:0 12px 32px -4px rgb(23 25 22 / 4%),0 4px 12px -2px rgb(23 25 22 / 2%)}
.notice-modal::backdrop{background:rgb(21 29 25 / 60%);backdrop-filter:none}
.notice-body{background:#fafaf7}
.notice-modal h2,.notice-section h3{font-family:var(--display,Geist,Pretendard,sans-serif)}
.notice-modal h2{font-size:clamp(26px,3vw,40px);letter-spacing:-.035em;font-weight:600}
.notice-eyebrow,.notice-category,.notice-tag{font-family:var(--technical,'Geist Mono',monospace)}
.notice-checks li,.notice-public-list{background:#fff;border:1px solid #e7e8e3;border-radius:16px}
.notice-checks li{font-weight:400}
.notice-preview{background:#ede9df;border-color:#d1c5ab;border-left-color:#ffcd00;color:#574500}
.notice-tag{background:#ede9df;color:#4e4632;border-radius:6px}
.notice-filters button{border-color:#e7e8e3;min-height:44px;border-radius:10px}
.notice-filters button[aria-pressed=true]{background:#151d19;border-color:#151d19}
.notice-source a{color:#3f73d8}
.notice-table th{background:#f4f4ee}
.notice-actions input{accent-color:#171916}
.notice-confirm{min-height:44px;border-radius:12px}
@media(max-width:600px){.notice-modal{border-radius:16px}.notice-modal h2{font-size:26px}}
