:root{font-family:'Noto Sans KR',sans-serif;color:#f5efdc;background:var(--page-bg);font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,label.button:focus-within{outline:3px solid var(--accent);outline-offset:4px}header{max-width:1280px;margin:auto;padding:28px 48px;display:flex;justify-content:space-between;border-bottom:1px solid #ffffff14;align-items:center}.brand{font-weight:900;letter-spacing:2px;color:#fff;text-decoration:none;font-size:24px}.brand span{font-size:10px;display:block;letter-spacing:3px;color:var(--text-muted)}.edition{font-size:10px;letter-spacing:2px;color:var(--text-muted)}main{max-width:1120px;margin:auto;padding:0 32px}.intro{padding:58px 0 40px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--accent)}.intro h1{font-size:48px;line-height:1.3;letter-spacing:-2px;margin:16px 0}.intro h1 span{color:var(--accent);padding-left:16px}.intro>p:last-child{font-size:14px;line-height:1.9;color:var(--text-muted)}.studio{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.preview-panel{padding:24px 32px 28px;background:radial-gradient(ellipse at top,#56425e55,transparent 75%),#2a2035;border:1px solid #ffffff10;border-radius:16px;text-align:center;position:sticky;top:24px}.panel-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:24px}.paper{position:relative;max-width:360px;margin:auto;box-shadow:0 18px 36px #100c1b88;transform:rotate(-2deg);background:#f7efe4;line-height:0}.paper canvas{width:100%;height:auto}.slots{position:absolute;inset:0}.slot{position:absolute;border:2px solid transparent;background:transparent;color:transparent;touch-action:none;padding:0;border-radius:1px}.slot.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 33%, transparent)}.slot:focus-visible{outline-offset:0}.hint{margin:28px 0 12px;font-size:11px;color:var(--text-muted);line-height:1.8}.sample-label{display:inline-block;border:1px solid #ffffff22;border-radius:20px;font-size:10px;padding:6px 12px;color:var(--text-muted)}.step{display:flex;align-items:center;gap:10px;margin:0 0 18px}.step h2{font-size:18px;margin:0;font-weight:700}.number{font-size:10px;color:var(--accent);border:1px solid var(--border);border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.mode,.frame{border:1px solid var(--border);background:#2b2136;color:var(--text-muted);padding:18px 10px;border-radius:10px;font-size:14px;font-weight:700}.mode>span,.frame>span{display:block;font-size:24px;margin-bottom:6px}.mode small,.frame small{display:block;font-size:10px;font-weight:400;margin-top:5px;color:var(--text-muted)}.mode.active,.frame.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--accent)}.label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:10px}.characters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:34px}.characters button{border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:11px;border-radius:30px;padding:9px 13px}.characters button.active{background:var(--accent);color:#24202a;border-color:var(--accent)}.description{color:var(--text-muted);font-size:12px;line-height:1.7;margin:-6px 0 16px}.actions{display:flex;gap:10px}.button{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid var(--border);background:#30243c;color:var(--text-main);border-radius:8px;font-size:12px;font-weight:600;padding:14px 12px;flex:1;text-align:center}.primary{background:var(--accent);color:#24202a;border-color:var(--accent)}.editor{margin:18px 0 24px;padding:18px;background:#ffffff05;border:1px solid #ffffff0e;border-radius:8px}.editor-top,.zoom-label,.edit-options{display:flex;justify-content:space-between;align-items:center;font-size:11px}.editor-top strong{font-size:12px}.text-button{border:0;background:none;color:#b5a2c2;font-size:10px;padding:5px;text-decoration:underline;text-underline-offset:3px}.zoom-label{margin-top:20px;color:var(--text-muted)}input[type=range]{width:100%;margin:12px 0 18px;accent-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent)}.edit-options{color:var(--text-muted)}.muted{font-size:10px;color:#887595;margin-left:5px}input[type=text]{width:100%;border:1px solid var(--border);background:#2a2035;border-radius:7px;padding:13px;color:var(--text-main);font-size:12px}input::placeholder{color:var(--text-muted)}.download-area{border-top:1px solid #ffffff13;margin-top:24px;padding-top:24px;text-align:center}.download{background:var(--accent);color:#24202a;border-color:var(--accent);width:100%;font-size:14px;justify-content:space-between;padding:16px 20px}.download-area p{font-size:10px;color:var(--text-muted);line-height:1.9}.download-area>.button+ .button{margin-top:10px;width:100%}#status{font-size:12px;line-height:1.7;color:#e9c39f;min-height:20px}footer{margin-top:64px;padding:25px 0;border-top:1px solid #ffffff14;display:flex;justify-content:space-between;color:var(--text-muted);font-size:10px;letter-spacing:1px}dialog{width:min(520px,94vw);background:#2a2035;color:var(--text-main);border:1px solid #6d527e;border-radius:14px;padding:22px}dialog::backdrop{background:#100917d9}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top h2{font-size:17px}.camera-stage{position:relative;aspect-ratio:560/620;overflow:hidden;background:#18111f;border-radius:8px}video{width:100%;height:100%;object-fit:cover}#camera-guide{position:absolute;inset:0 0 0 54%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#b89ecc44;border-left:2px dashed #e8d4fa88;pointer-events:none;font-size:14px}#camera-guide small{font-size:9px;margin-top:8px}#countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:90px;text-shadow:0 3px 15px #000}.camera-options{display:flex;justify-content:space-between;margin:18px 0;font-size:12px}.camera-options select{background:#30243c;border:1px solid var(--border);border-radius:4px;padding:4px}#camera-status,#camera-label{font-size:12px;line-height:1.8;color:var(--text-muted)}[hidden]{display:none!important}@media(max-width:760px){header{padding:20px 22px}.edition{font-size:8px;letter-spacing:1px}.brand{font-size:20px}main{padding:0 22px}.intro{padding:34px 0 24px}.intro h1{font-size:36px}.studio{grid-template-columns:1fr;gap:30px}.preview-panel{position:static;padding:20px 28px}.paper{max-width:300px}.controls{max-width:480px;width:100%;margin:auto}footer{margin-top:36px;font-size:8px}.intro>p:last-child{font-size:12px}}
.format-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-bottom:14px}.format-label select{background:#30243c;color:var(--text-main);border:1px solid var(--border);border-radius:6px;padding:8px;font:inherit}

/* Midnight palette: plum, acid lime, and dusty pink. */
body{background:radial-gradient(ellipse at 85% 5%,var(--glow),transparent 45%),url('./assets/night-pattern.svg') repeat;background-color:var(--page-bg)}
header,main{position:relative}
.brand{color:var(--accent)}.brand span{color:var(--accent);margin-top:5px;letter-spacing:2px}
.edition{border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:30px;padding:7px 11px;color:var(--accent);white-space:nowrap}
.intro{position:relative}.intro h1{color:#f5efdc}.intro h1 span{color:var(--accent)}.intro::after{content:'☾';position:absolute;right:7%;top:25px;font-family:Georgia,serif;font-size:160px;line-height:1;color:var(--accent);opacity:.16;transform:rotate(-18deg);pointer-events:none}
.preview-panel{background:radial-gradient(ellipse at top,var(--glow),transparent 75%),var(--panel);border-color:color-mix(in srgb, var(--accent) 20%, transparent)}
.panel-top{color:var(--accent)}.number{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.sample-label{border-color:color-mix(in srgb, var(--accent) 33%, transparent);color:#e2aec6}
.mode.active,.frame.active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent)}.mode.active>span,.frame.active>span{color:var(--accent)}.mode small,.frame small{color:var(--text-muted)}
.slot.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 27%, transparent)}
.text-button{color:#d8bad4}.muted{color:var(--text-muted)}.download:enabled:hover,.primary:hover{background:var(--accent);border-color:var(--accent)}.button:not(.primary):not(.download):enabled:hover{border-color:var(--accent)}.characters button:not(.active):hover{border-color:var(--accent)}
@media(max-width:760px){.intro::after{font-size:100px;right:0;top:22px;opacity:.1}.brand{font-size:18px;letter-spacing:1px}.brand span{font-size:8px;letter-spacing:1.5px}.edition{font-size:8px;padding:6px 8px}}

:root{--accent:#d5f17c;--page-bg:#1b1622;--panel:#261e30;--glow:#452d4d55}
:root[data-theme="pumpkin"]{--accent:#ff714c;--page-bg:#1d0d0a;--panel:#301812;--glow:#8c301c33}
:root[data-theme="pink"]{--accent:#f29cbe;--page-bg:#191919;--panel:#262326;--glow:#6f455a22}
.mode,.frame,.button:not(.primary):not(.download),input[type=text],.format-label select,.camera-options select,dialog{background:var(--panel)}
.mode.active,.frame.active,.brand span,.sample-label,.text-button{color:var(--accent)}
.theme-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 26px;padding:12px 0;border-bottom:1px solid #ffffff14;font-size:11px;color:var(--text-muted)}
.theme-picker button{font:inherit;color:var(--text-muted);background:var(--panel);border:1px solid #ffffff22;border-radius:20px;padding:7px 12px;display:flex;align-items:center;gap:6px}
.theme-picker button::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--swatch)}
.theme-picker button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}

:root{--text-main:#f5efdc;--text-muted:#c8bacd;--border:#594665}
:root[data-theme="pumpkin"]{--text-main:#fff0de;--text-muted:#d5b6a3;--border:#79503c}
:root[data-theme="pink"]{--text-main:#f8efef;--text-muted:#cdbcc3;--border:#66525c}
:root{color:var(--text-main)}.intro h1{color:var(--text-main)}
.editor{background:var(--panel)}
.character-picker{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.character-picker .characters{margin-bottom:0}.custom-character{border:1px dashed var(--accent);color:var(--accent);background:var(--panel);font-size:11px;border-radius:30px;padding:9px 13px}.custom-character[aria-pressed=true]{background:var(--accent);color:#24202a}.character-picker{margin-bottom:24px}#custom-panel{margin-top:-10px}#custom-panel>strong{font-size:12px}#custom-panel .description{margin:12px 0;font-size:11px}#edit-layer{background:var(--panel);color:var(--text-main);border:1px solid var(--border);border-radius:5px;padding:6px;margin-left:8px}#edit-layer-label{margin-bottom:16px}
.camera-stage{aspect-ratio:520/610}#camera-character{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.basic-styles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 15px}.basic-styles button{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:14px 6px;font-size:12px;color:var(--text-main)}.basic-styles button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.basic-styles small{display:block;font-size:9px;color:var(--text-muted);margin-top:6px}.style-swatch{display:block;width:26px;height:34px;margin:0 auto 10px;border:3px solid #fff;box-shadow:0 2px 6px #0004;background:linear-gradient(90deg,#777 46%,transparent 46%,transparent 54%,#777 54%)}.style-swatch.white{border-color:#fff;background-color:#fff}.style-swatch.black{border-color:#111;background-color:#111}.style-swatch.mono{border-color:#deddd9;background-color:#deddd9}#basic-style-note{margin:0 0 26px;font-size:11px}
.frame-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.frame-choices .frame{font-size:12px;padding:16px 6px}.frame-choices .frame small{font-size:9px;line-height:1.6}@media(max-width:380px){.frame-choices .frame{font-size:11px}.frame-choices .frame small{font-size:8px}}
@font-face{font-family:'Hongok Hand';src:url('./assets/fonts/GamjaFlower-Korean.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}#cyworld-options{margin:0 0 24px}#cyworld-options .zoom-label{margin-top:0}#cyworld-options .description{margin:0;font-size:11px;line-height:1.8}
:root[data-theme="cyworld"]{color-scheme:light;--accent:#93617a;--page-bg:#fffaf5;--panel:#fffdfb;--glow:#ead7e555;--text-main:#51484b;--text-muted:#7d6d75;--border:#d5c6cc}
[data-theme="cyworld"] body{background-image:radial-gradient(ellipse at 85% 5%,var(--glow),transparent 55%),radial-gradient(#c5b7bd55 .7px,transparent .7px);background-size:auto,18px 18px}
[data-theme="cyworld"] .intro h1,[data-theme="cyworld"] .hint{font-family:'Hongok Hand',sans-serif}
[data-theme="cyworld"] .intro h1{font-size:54px;font-weight:400;letter-spacing:-1px}
[data-theme="cyworld"] .intro::after{content:'♡';opacity:.12}
[data-theme="cyworld"] .preview-panel{background:#f6eeeb;border-color:var(--border)}
[data-theme="cyworld"] .mode.active,[data-theme="cyworld"] .frame.active{background:#f5e9ee}
[data-theme="cyworld"] .primary,[data-theme="cyworld"] .download,[data-theme="cyworld"] .characters button.active,[data-theme="cyworld"] .custom-character[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fffaf8}
[data-theme="cyworld"] .label,[data-theme="cyworld"] .description,[data-theme="cyworld"] .hint,[data-theme="cyworld"] .editor,[data-theme="cyworld"] .edit-options,[data-theme="cyworld"] .zoom-label,[data-theme="cyworld"] .format-label,[data-theme="cyworld"] .camera-options{color:var(--text-muted)}
[data-theme="cyworld"] .editor,[data-theme="cyworld"] .theme-picker button{border-color:var(--border)}
[data-theme="cyworld"] header,[data-theme="cyworld"] footer,[data-theme="cyworld"] .theme-picker,[data-theme="cyworld"] .download-area{border-color:#dfd2d8}
[data-theme="cyworld"] #status,[data-theme="cyworld"] #camera-status,[data-theme="cyworld"] #camera-label{color:#805a70}
[data-theme="cyworld"] input::placeholder{color:#94848d}
[data-theme="cyworld"] .button:focus-visible,[data-theme="cyworld"] button:focus-visible{outline-color:var(--accent)}
@media(max-width:760px){[data-theme="cyworld"] .intro h1{font-size:42px}}
.cyworld-doodles{display:none;pointer-events:none;user-select:none}
[data-theme="cyworld"] .cyworld-doodles{display:block;position:absolute;inset:0;font-family:'Hongok Hand',sans-serif;color:var(--accent);opacity:.38}
.doodle-husband{position:absolute;left:54%;top:48%;font-size:42px;transform:rotate(-17deg)}
.doodle-face{position:absolute;right:2%;bottom:0;font-size:52px;transform:rotate(-12deg)}
@media(max-width:760px){[data-theme="cyworld"] .cyworld-doodles{position:relative;height:66px;margin-top:6px}.doodle-husband{left:53%;top:0;font-size:28px}.doodle-face{right:3%;bottom:0;font-size:32px}}
:root[data-theme="simple"]{color-scheme:light;--accent:#171717;--page-bg:#fff;--panel:#fff;--glow:transparent;--text-main:#171717;--text-muted:#626262;--border:#d6d6d6}
[data-theme="simple"] body{background:#fff}
[data-theme="simple"] .intro::after{display:none}
[data-theme="simple"] .preview-panel{background:#f5f5f5;border-color:#ddd}
[data-theme="simple"] .mode.active,[data-theme="simple"] .frame.active{background:#f2f2f2}
[data-theme="simple"] .primary,[data-theme="simple"] .download,[data-theme="simple"] .characters button.active,[data-theme="simple"] .custom-character[aria-pressed=true]{background:#171717;border-color:#171717;color:#fff}
[data-theme="simple"] .label,[data-theme="simple"] .description,[data-theme="simple"] .hint,[data-theme="simple"] .editor,[data-theme="simple"] .edit-options,[data-theme="simple"] .zoom-label,[data-theme="simple"] .format-label,[data-theme="simple"] .camera-options{color:var(--text-muted)}
[data-theme="simple"] .editor,[data-theme="simple"] .theme-picker button{border-color:var(--border)}
[data-theme="simple"] header,[data-theme="simple"] footer,[data-theme="simple"] .theme-picker,[data-theme="simple"] .download-area{border-color:#ddd}
[data-theme="simple"] #status,[data-theme="simple"] #camera-status,[data-theme="simple"] #camera-label{color:#444}
[data-theme="simple"] input::placeholder{color:#777}

[data-theme="simple"] input[type=range],[data-theme="simple"] input[type=checkbox]{accent-color:#171717}
#wide-fit-label{margin-top:16px}#character-fit{display:block;margin:9px 0;padding:8px;width:100%;background:var(--panel);color:var(--text-main);border:1px solid var(--border);border-radius:5px}#wide-fit-label small{display:block;line-height:1.8;font-size:10px;color:var(--text-muted)}
.view-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);margin:0 0 26px;padding-bottom:12px}.view-tabs button{flex:1;border:1px solid var(--border);border-radius:9px;padding:15px 10px;background:var(--panel);color:var(--text-muted);font-size:13px}.view-tabs button[aria-selected=true]{background:var(--accent);color:#fff;border-color:var(--accent)}:root:not([data-theme=simple]):not([data-theme=cyworld]) .view-tabs button[aria-selected=true]{color:#24202a}.gallery-heading{margin:30px 0 24px}.gallery-heading h2{font-size:26px;margin:12px 0 20px}.gallery-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}.gallery-layout h3{font-size:16px}.gallery-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gallery-card{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel)}.gallery-card img{display:block;width:100%;height:auto}.gallery-card a{display:block;color:var(--text-main);font-size:12px;text-align:center;padding:14px;text-underline-offset:4px}.gallery-preview{padding:22px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.gallery-preview canvas{width:100%;height:auto;box-shadow:0 8px 22px #0002;margin:0 0 24px}.gallery-preview select{display:block;width:100%;margin-bottom:18px;padding:10px;background:var(--panel);color:var(--text-main);border:1px solid var(--border);border-radius:6px}.gallery-preview button{width:100%}.gallery-preview .description{margin:16px 0 0;font-size:11px}#gallery-status{font-size:12px;color:var(--text-muted);min-height:20px}#gallery-empty{padding:40px 20px;border:1px dashed var(--border);border-radius:10px;color:var(--text-muted)}@media(max-width:760px){.gallery-layout{grid-template-columns:1fr;gap:28px}.view-tabs button{font-size:12px}.gallery-heading h2{font-size:23px}}

.character-sources{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.character-sources button{padding:16px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text-main);font-size:13px;font-weight:700}.character-sources small{display:block;margin-top:7px;font-size:10px;font-weight:400;color:var(--text-muted)}.character-sources button[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.language-guide{margin:0 0 28px;padding:14px 18px;border:1px solid var(--border);border-radius:10px;color:var(--text-muted);font-size:12px;line-height:1.8}.language-guide summary{cursor:pointer;color:var(--text-main)}.language-guide h3{font-size:14px;color:var(--text-main);margin:18px 0 8px}.language-guide p{margin:8px 0}.language-guide>div+div{border-top:1px solid var(--border);margin-top:18px}

.intro .creator-credit{font-size:12px;color:var(--text-muted);margin-top:20px;line-height:1.8}.creator-link{color:var(--text-muted);text-underline-offset:4px}.creator-link:hover{color:var(--accent)}footer{gap:16px;flex-wrap:wrap}

.slots{touch-action:none;user-select:none;-webkit-user-select:none}

#camera-range{position:absolute;inset:0;pointer-events:none;border:2px solid #fff;box-shadow:inset 0 0 0 1px #0006;border-radius:8px}#camera-range span{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);white-space:nowrap;padding:5px 9px;border-radius:6px;color:#fff;background:#0008;font-size:11px}

/* Save sheet for phones and in-app browsers, loading notes, in-app notice. */
#save-dialog{max-height:94vh;overflow:auto}#save-image{display:block;width:100%;max-height:60vh;object-fit:contain;margin:4px 0 16px;border-radius:6px;background:#0002;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto}
.save-help{font-size:12px;line-height:1.7;color:var(--text-muted);margin:0 0 10px}.save-help span{font-size:10px}
.inapp-banner{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:16px 0 0;padding:12px 14px;border:1px solid var(--accent);border-radius:10px;background:var(--panel);font-size:12px;line-height:1.6;color:var(--text-main)}.inapp-banner p{margin:0}.inapp-banner span{display:block;font-size:10px;color:var(--text-muted)}.inapp-banner .text-button{white-space:nowrap;font-size:11px}
.gallery-loading{margin:10px 0 0;text-align:center}
/* Larger strip on wide screens, but never taller than the window so the sticky preview stays whole. */
@media(min-width:1100px){.paper{max-width:min(420px,calc((100vh - 230px)*.77))}}
@media(min-width:761px) and (max-height:760px){.preview-panel{padding-top:18px;padding-bottom:18px}.panel-top{margin-bottom:16px}.hint{margin-top:18px}}
.character-sources small{text-wrap:balance}
@media(pointer:coarse){.text-button{min-height:40px;padding:10px 8px}.creator-link{display:inline-block;padding:6px 0}}

/* Guide emphasis: button names in the accent colour, key actions in bold, essential notes highlighted. */
.language-guide b{color:var(--text-main);font-weight:700}
.language-guide strong{color:var(--accent);font-weight:700}
.language-guide mark{background:var(--guide-mark);color:var(--guide-mark-ink);padding:1px 3px;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.language-guide mark strong{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
/* Highlight colour per theme: a soft tint of each theme's accent, cream for Cyworld. */
:root{--guide-mark:color-mix(in srgb,var(--accent) 20%,transparent);--guide-mark-ink:var(--text-main)}
:root[data-theme="simple"]{--guide-mark:#f2f2f2;--guide-mark-ink:#171717}
:root[data-theme="cyworld"]{--guide-mark:#fff0c6;--guide-mark-ink:#51484b}
.language-guide .guide-note{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}
.language-guide summary b{font-weight:700;color:var(--text-main)}.language-guide summary .guide-langs{margin-left:6px;color:var(--text-muted);font-size:.95em}

/* Slot picker in the editor: which photo/character the controls below change. */
.slot-picker-row{display:flex;align-items:center;gap:12px;margin:2px 0 8px}.slot-picker-row .label{margin:0;white-space:nowrap}
.slot-picker{display:flex;gap:8px;flex-wrap:wrap}
.slot-pick{position:relative;min-width:44px;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text-main);font-size:14px;font-weight:700}
.slot-pick.active{background:var(--accent);border-color:var(--accent);color:var(--page-bg)}
[data-theme="simple"] .slot-pick.active{color:#fff}[data-theme="cyworld"] .slot-pick.active{color:#fffaf8}
.slot-pick.filled::after{content:'';position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}
.slot-picker-hint{margin:0 0 14px!important;font-size:11px}

/* Easier own-character flow: numbered steps and a two-button "what moves" toggle. */
.custom-steps{margin:10px 0 14px;padding-left:20px;font-size:12px;line-height:1.8;color:var(--text-muted)}.custom-steps b{color:var(--text-main)}
.layer-row{display:flex;align-items:center;gap:12px;margin:0 0 12px}.layer-row .label{margin:0;white-space:nowrap}
.layer-toggle{display:flex;gap:8px;flex-wrap:wrap}
.layer-pick{min-height:40px;padding:0 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text-main);font-size:13px;font-weight:700}
.layer-pick.active{background:var(--accent);border-color:var(--accent);color:var(--page-bg)}
[data-theme="simple"] .layer-pick.active{color:#fff}[data-theme="cyworld"] .layer-pick.active{color:#fffaf8}
.slot-picker-row .label,.layer-row .label{min-width:64px}

/* Merged own-character card: uploads, progress and the editor in one place. */
#custom-panel .actions .button{font-size:13px}
.custom-links{display:flex;flex-wrap:wrap;gap:4px 12px;margin:8px 0 2px}.custom-links .text-button{cursor:pointer}
.custom-progress{margin:6px 0 0!important;font-weight:700;color:var(--text-main)!important}
#main-editor.merged{margin:16px 0 0;padding:16px 0 0;border:0;border-top:1px dashed var(--border);border-radius:0;background:none}
.actions+label[for="caption"]{margin-top:24px}
.custom-camera{width:100%;margin-top:10px}
#custom-panel{margin-top:4px}
.gallery-images{align-items:start}
