:root{color-scheme:light;--paper:#f9f6f3;--ink:#483a40;--muted:#95848a;--rose:#a96d82;--line:#e8dfe0;--wash:#f3e7eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #a86e88;outline-offset:5px}button,a,summary{-webkit-tap-highlight-color:transparent}.topbar,main,footer{max-width:1000px;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;padding:26px 32px 22px;border-bottom:1px solid var(--line)}nav{display:flex;gap:26px;font-size:12px;color:#76636c}nav a:hover{color:var(--rose)}main{padding:0 32px}.intro{padding:48px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.eyebrow{margin:0 0 12px;font-family:Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--rose)}h1{font-size:clamp(28px,4.5vw,43px);letter-spacing:-1.9px;line-height:1.3;font-weight:750;margin:0}.intro-copy{font-size:13px;line-height:1.8;margin:13px 0 0;color:#8e7b84}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:18px}.section-heading .eyebrow{font-size:9px;margin-bottom:9px}h2{font-size:19px;margin:0;font-weight:700;letter-spacing:-.6px}.section-aside{font-size:11px;color:#9b8891;line-height:1.7;text-align:right}.notice-section{padding:25px 0 37px;border-top:1px solid var(--line)}.notice-list{border:1px solid #e8d9df;border-radius:14px;background:linear-gradient(120deg,#f7edf0,#fcf9f6);overflow:hidden}.empty-notice{margin:0;padding:25px 23px;font-size:13px;color:#94808b}.notice-item+ .notice-item{border-top:1px solid var(--line)}summary{cursor:pointer;display:flex;align-items:center;gap:12px;padding:19px 21px;list-style:none}summary::-webkit-details-marker{display:none}.notice-tag{font-size:10px;border:1px solid #e3c9d5;border-radius:5px;padding:4px 7px;white-space:nowrap;color:#9c647c;background:#fff9fb}.notice-title{flex:1;font-size:13px;font-weight:600;line-height:1.6}.notice-date{font:10px Arial,sans-serif;color:var(--muted)}.notice-chevron{font-size:17px;color:#b593a3;transition:transform .2s}details[open] .notice-chevron{transform:rotate(45deg)}.notice-body{white-space:pre-wrap;padding:0 23px 22px;font-size:13px;line-height:1.9;color:#796572}.character-section{padding:0 0 48px}.count{display:inline-block;font:11px Arial,sans-serif;vertical-align:middle;color:#ac8195;margin-left:6px}.character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}.character-card{min-width:0}.portrait-link{display:block;position:relative;overflow:hidden;aspect-ratio:1/1.08;border-radius:15px;background:#ebdde3}.portrait{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .35s}.portrait-link:hover .portrait{transform:scale(1.035)}.portrait-link::after{content:'↗';position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:29px;height:29px;background:rgba(255,253,252,.9);border:1px solid rgba(255,255,255,.6);border-radius:50%;color:#765969;font-size:15px}.portrait-link.image-failed .portrait{display:none}.portrait-link.image-failed::before{content:attr(data-name);display:grid;place-items:center;height:100%;color:#9c7d8c;font-size:19px;padding:20px;text-align:center}.card-copy{padding:14px 3px 0}.card-title{margin:0 0 7px;font-size:15px;font-weight:750;letter-spacing:-.35px;line-height:1.5}.card-description{font-size:12px;line-height:1.8;color:#8c7782;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere;margin:0;min-height:0}.platforms{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.platform{font-size:10px;line-height:1.5;padding:4px 9px;border:1px solid #e3d7dd;border-radius:20px;background:#fffcfa;color:#937287}.platform:hover{border-color:#c291a8;color:#a16380}.migration{font-size:10px;color:#917484;margin:10px 0 0}footer{position:relative;border-top:1px solid var(--line);padding:26px 32px 35px;display:flex;align-items:center;gap:20px}.footer-brand{font:bold 20px Georgia,serif;color:#a78494}footer p{font-size:11px;color:#a39199;line-height:1.7;padding-right:22px}.back-top{position:absolute;right:32px;top:27px;font-size:20px;color:#997787}@media(min-width:1250px){.topbar,main,footer{max-width:1080px}.character-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){.topbar{padding:20px}nav{gap:22px}main{padding:0 20px}.intro{padding:35px 0 31px;gap:15px}.intro-copy{font-size:11px;max-width:215px}h1{font-size:29px;letter-spacing:-1.7px}.eyebrow{font-size:8px;letter-spacing:1.4px}.section-heading{gap:10px}.section-aside{font-size:9px;max-width:95px}h2{font-size:17px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 13px}.portrait-link{border-radius:12px;aspect-ratio:1/1.14}.card-title{font-size:13px}.card-description{font-size:11px;line-height:1.75;min-height:0}.card-copy{padding:11px 1px 0}.portrait-link::after{width:25px;height:25px;right:9px;bottom:9px}.platform{font-size:9px;padding:4px 8px}.notice-section{padding-top:23px;padding-bottom:31px}.empty-notice{font-size:12px;padding:21px 16px}summary{padding:16px 13px;gap:8px;flex-wrap:wrap}.notice-title{font-size:12px}.notice-date{font-size:9px}.notice-body{padding:0 15px 18px;font-size:12px}footer{padding:22px 20px 30px;gap:13px}footer p{font-size:10px}.back-top{right:20px;top:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portrait,.notice-chevron{transition:none}}
/* Notice archive and owner tools */
[hidden]{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c69aaf;outline-offset:3px}.topbar nav a[aria-current]{color:var(--rose);font-weight:800}.text-link,.back-link{font-size:12px;color:#987086}.text-link:hover,.back-link:hover{text-decoration:underline}.back-link{display:inline-block;margin-bottom:29px}.notice-preview{display:flex;gap:12px;align-items:center;padding:19px 21px;min-width:0}.notice-preview+.notice-preview{border-top:1px solid var(--line)}.notice-preview:hover{background:#f5e8ee}.notice-preview .notice-title{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.archive-section,.admin-section{padding:35px 0 55px;min-height:55vh}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 20px}.filter{border:1px solid var(--line);background:transparent;color:#967c8a;padding:9px 17px;border-radius:30px;font-size:12px;line-height:1.5}.filter.active{background:#9f738b;color:white;border-color:#9f738b}.primary,.secondary,.danger{border-radius:9px;padding:11px 17px;font-size:12px;font-weight:700;line-height:1.5;border:1px solid transparent}.primary{background:#9b7088;color:#fff}.primary:hover{background:#885e76}.secondary{background:#fffafc;color:#8b6c7e;border-color:#dfcdd7}.danger{color:#a15562;background:#fff5f6;border-color:#e9cdd2}.compact{padding:7px 12px;font-size:11px}.inline-button{display:inline-block}.load-more{display:block;margin:20px auto 0;min-width:150px}.message{padding:14px 16px;border:1px solid #e4d5dc;background:#f4eaf0;color:#896d7f;border-radius:10px;font-size:12px;line-height:1.8;margin:15px 0}.message.error{background:#fff0f1;border-color:#edcdd2;color:#9e5365}.text-button{border:0;background:none;color:inherit;text-decoration:underline;padding:0}.admin-entry{margin-left:auto;font-size:10px;color:#a58c9c;white-space:nowrap}.admin-help{font-size:12px;color:#98818e;line-height:1.8;margin:0 0 20px}.login-form{max-width:380px;margin:25px 0}.field{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;min-width:0}.field>span{font-size:12px;color:#7c6272;font-weight:650}.field input,.field textarea,.field select{border:1px solid #dfd0d9;border-radius:9px;width:100%;padding:11px 12px;background:#fffefd;color:#57414e;font-size:13px;line-height:1.7;min-width:0}.field textarea{resize:vertical;min-height:90px}.field input[type=number]{max-width:150px}.check-field{display:flex;align-items:center;gap:8px;font-size:12px;color:#866879;margin:6px 0 22px}.check-field input{width:17px;height:17px;accent-color:#9b7088}.admin-toolbar{display:flex;gap:9px;align-items:center;margin:0 0 18px;flex-wrap:wrap}.admin-toolbar .admin-help{flex:1;min-width:180px;margin:0}.manage-list{border-top:1px solid var(--line)}.manage-row{display:flex;gap:18px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.manage-copy{flex:1;min-width:0}.manage-copy strong{display:block;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.manage-copy small{display:block;color:#a18a96;font-size:10px;line-height:1.6;margin-top:5px}.row-actions{display:flex;gap:7px;flex:none}dialog{width:calc(100% - 30px);max-width:590px;max-height:90dvh;border:1px solid #e3d0dc;border-radius:20px;padding:25px;background:#fbf7f8;color:var(--ink);box-shadow:0 20px 90px #4a2d4933}dialog::backdrop{background:#40333f77;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.icon-button{border:0;background:none;font-size:26px;line-height:1;color:#967788;padding:5px}.form-actions{display:flex;gap:9px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px;position:sticky;bottom:-25px;background:#fbf7f8;padding-bottom:10px}.mini-heading{margin-top:25px;margin-bottom:14px}.mini-heading h3{font-size:13px;margin:0}.platform-row{display:grid;grid-template-columns:110px 1fr auto;gap:8px;align-items:center;padding:12px;border:1px solid #e7d8e1;border-radius:10px;margin-bottom:10px}.platform-row .field{margin-bottom:0}.platform-row .field input{font-size:12px;padding:9px}.platform-row .secondary{margin-top:24px}.body-link{color:#946681;text-decoration:underline;overflow-wrap:anywhere}.notice-body{overflow-wrap:anywhere}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#624c5c;color:white;border-radius:12px;padding:13px 20px;max-width:calc(100% - 32px);width:max-content;z-index:20;font-size:12px;line-height:1.7;box-shadow:0 8px 26px #49354326}.setup-page{max-width:680px;padding:40px 24px}.setup-page h1{font-size:28px;margin-bottom:15px}.setup-page h2{font-size:17px;margin-top:30px}.setup-page p,.setup-page li{font-size:13px;line-height:1.9;color:#866c7b}.setup-page pre{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.7 monospace;background:#f1e7ec;border:1px solid #e2d2db;padding:15px;border-radius:10px}.setup-page .primary{margin:0 8px 10px 0}@media(max-width:620px){.notice-preview{padding:16px 13px;gap:8px;flex-wrap:wrap}.notice-preview .notice-title{font-size:12px;-webkit-line-clamp:2;min-width:100px}.notice-preview .notice-date{font-size:9px}.notice-tag{font-size:9px;padding:4px 5px}.notice-chevron{font-size:15px}.archive-section,.admin-section{padding-top:27px}.filter{padding:8px 14px;font-size:11px}.manage-row{gap:9px}.row-actions{gap:5px}.row-actions .compact{padding:7px 9px}.platform-row{grid-template-columns:1fr auto}.platform-row .field:first-child{grid-column:1/-1}.platform-row .secondary{margin-top:20px}.admin-toolbar .admin-help{flex-basis:100%}dialog{padding:20px}.form-actions{bottom:-20px}footer p{padding-right:0}.admin-entry{font-size:9px}}

/* v1.2: compact header, quiet graph paper, concise section labels */
body{background-color:var(--paper);background-image:linear-gradient(rgba(160,125,141,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(160,125,141,.075) 1px,transparent 1px);background-size:24px 24px}
.topbar{justify-content:flex-end;padding:13px 32px 0;border-bottom:0;min-height:32px}.topbar nav{gap:22px;font-size:11px}
.intro{padding:20px 0 27px;display:block}.intro h1{font-size:30px;letter-spacing:-1.1px}.intro-copy{margin-top:10px;font-size:12px;line-height:1.8;max-width:none}
.notice-section>.section-heading h2,.character-section>.section-heading h2{font-family:Arial,sans-serif;font-size:13px;font-weight:750;letter-spacing:1.5px;color:#90677d}
.notice-section{padding-top:22px;padding-bottom:29px}.section-heading{margin-bottom:15px}.character-section{padding-bottom:34px}
footer{padding-top:19px;padding-bottom:23px;min-height:63px}.footer-brand{font-size:17px}.admin-entry{padding:8px 0 8px 12px}.card-description{min-height:0}.platforms{margin-top:7px}
@media(max-width:620px){body{background-size:20px 20px}.topbar{padding:10px 20px 0;min-height:29px}.topbar nav{font-size:10px;gap:20px}.intro{padding:15px 0 22px}.intro h1{font-size:24px;letter-spacing:-.8px}.intro-copy{font-size:11px;line-height:1.75;margin-top:9px;max-width:none}.notice-section{padding-top:19px;padding-bottom:25px}.section-heading{margin-bottom:13px}.platforms{margin-top:6px}.card-description{min-height:0}footer{padding:16px 20px 19px;min-height:58px}}
