:root,:root[data-theme="light"]{color-scheme:light;--bg:#fff;--surface:#fff;--ink:#111;--muted:#5f5f5f;--line:#d3d3d3;--soft:#f7f7f7;--focus:#111;--shadow:none}
:root[data-theme="dark"]{color-scheme:dark;--bg:#000;--surface:#000;--ink:#fff;--muted:#b8b8b8;--line:#444;--soft:#111;--focus:#fff;--shadow:none}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{background:var(--bg);color:var(--ink)}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;transition:background .15s ease,color .15s ease}
a{color:var(--ink)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.site-header{min-height:64px;padding:0 4vw;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;position:sticky;top:0;z-index:20}
.brand{font-size:1.05rem;font-weight:900;color:var(--ink);text-decoration:none}
.site-header nav{display:flex;gap:18px;flex:1}
.site-header nav a,.account-actions a,.link-button{color:var(--ink);text-decoration:none;font-size:.9rem;white-space:nowrap}
.site-header nav a:hover,.account-actions a:hover,.link-button:hover{text-decoration:underline}
.site-header nav details{position:relative}.site-header nav summary{list-style:none;cursor:pointer;font-size:.9rem;white-space:nowrap}.site-header nav summary::-webkit-details-marker{display:none}.site-header .nav-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:230px;padding:8px;background:var(--surface);border:1px solid var(--line);display:grid;gap:8px;z-index:30}.site-header .nav-menu span{font-size:.72rem;font-weight:900;color:var(--muted)}
.account-actions{display:flex;align-items:center;gap:12px;font-size:.82rem}
.account-actions form{margin:0}
.link-button{background:none;border:0;cursor:pointer;padding:0}
.theme-toggle{min-height:38px;white-space:nowrap;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:7px 12px;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}
.page-shell{width:min(1180px,92vw);margin:36px auto 64px}
.auth-card{width:min(460px,100%);margin:8vh auto;background:var(--surface);padding:38px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.auth-error{margin:18px 0 0;padding:11px 13px;border:1px solid var(--ink);border-left-width:4px;border-radius:8px;background:var(--soft);font-size:.86rem;line-height:1.5}
h1{margin:.15rem 0 .5rem;font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.04em}
.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:900;color:var(--muted);margin:0}
.muted{color:var(--muted);line-height:1.6}
.stack-form{display:grid;gap:9px;margin-top:24px}
.stack-form label{font-size:.84rem;font-weight:800;margin-top:7px}
.stack-form input,.search-box input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}
input::placeholder{color:var(--muted)}
.stack-form input:focus,.search-box input:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--ink)}
.form-help{margin:0 0 4px}
button,.file-upload{font:inherit;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:9px 13px;cursor:pointer;font-weight:750}
button:hover,.file-upload:hover{background:var(--soft)}
.primary-button{background:transparent;border-color:var(--ink);color:var(--ink);margin-top:13px;padding:12px}
.primary-button:hover{background:var(--soft)}
.automation-link{display:inline-block;text-decoration:none}
.notice,.inline-message{padding:11px 14px;border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:8px;margin-bottom:16px;background:var(--surface);color:var(--ink)}
.notice.warning,.status-pill.warn{border-style:dashed}
.notice.success,.inline-message.success,.status-pill.ok{border-style:double}
.app-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.status-pill{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:.78rem;font-weight:800}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--surface);padding:13px;border:1px solid var(--line);border-radius:12px 12px 0 0}
.search-box{flex:1;min-width:180px}
.write-actions{display:flex;gap:8px}
.breadcrumb{padding:12px 16px;background:var(--soft);border-left:1px solid var(--line);border-right:1px solid var(--line);display:flex;gap:6px;flex-wrap:wrap}
.breadcrumb button{padding:2px 7px;border:0;background:transparent;color:var(--ink)}
.folder-drop-target{transition:outline-color .12s ease,background .12s ease}
.folder-drop-target.is-dragover{outline:2px dashed var(--focus);outline-offset:-4px;background:var(--soft)}
.breadcrumb button.folder-drop-target.is-dragover{outline-offset:1px}
.inline-message{margin:12px 0 0;display:none}
.inline-message:not(:empty){display:block}
.file-panel{background:var(--surface);border:1px solid var(--line);border-radius:0 0 12px 12px;overflow:hidden}
.file-head,.file-row{display:grid;grid-template-columns:minmax(240px,2fr) minmax(130px,1fr) 160px 100px minmax(180px,auto);align-items:center;gap:14px;padding:12px 16px}
.file-head{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--soft);border-bottom:1px solid var(--line)}
.file-row{border-bottom:1px solid var(--line);font-size:.85rem}
.file-row:last-child{border-bottom:0}
.file-name{min-width:0;display:flex;align-items:center;gap:10px;font-weight:800}
.file-name button{border:0;padding:0;background:none;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-icon{position:relative;display:inline-block;flex:0 0 auto;width:17px;height:20px;border:1.5px solid currentColor;border-radius:2px;opacity:.72}
.file-icon.file::after{content:"";position:absolute;right:-1px;top:-1px;width:6px;height:6px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;background:var(--surface)}
.file-icon.folder{width:20px;height:15px;margin-top:4px}
.file-icon.folder::before{content:"";position:absolute;left:-1.5px;top:-6px;width:9px;height:6px;border:1.5px solid currentColor;border-bottom:0;border-radius:2px 2px 0 0;background:var(--surface)}
.file-actions{display:flex;gap:5px;flex-wrap:wrap}
.file-actions button,.file-actions a{font-size:.72rem;padding:5px 7px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.file-actions .danger{border-style:dashed}
.empty-state{padding:54px 20px;text-align:center;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.converter-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:18px}
.converter-card,.folder-card,.preview-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow)}
.folder-card h2,.preview-card h2{margin:.25rem 0 .7rem}
.folder-card code{display:inline-block;background:var(--soft);color:var(--ink);border:1px solid var(--line);padding:4px 7px;border-radius:6px}
.small{font-size:.82rem}
.folder-status{font-size:.78rem;color:var(--muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.privacy-note{margin-top:24px;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--soft);font-size:.82rem}
.privacy-note p{margin:.35rem 0 0;color:var(--muted);line-height:1.55}
.preview-card{margin-top:18px}
.preview-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.preview-head .primary-button{margin:0}
#markdown-preview{white-space:pre-wrap;word-break:break-word;max-height:65vh;overflow:auto;background:var(--soft);color:var(--ink);border:1px solid var(--line);padding:20px;border-radius:10px;line-height:1.6;font-size:.84rem}
@media(max-width:760px){.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:12px 4vw;align-items:center;gap:10px}.brand{min-width:0}.site-header nav{grid-column:1/-1;grid-row:2;display:flex;width:100%;gap:18px;overflow-x:auto;padding:3px 0 5px;scrollbar-width:none}.site-header nav::-webkit-scrollbar{display:none}.theme-toggle{grid-column:2;grid-row:1;margin:0}.account-actions{grid-column:1/-1;grid-row:3;width:100%;justify-content:flex-start;overflow-x:auto;padding-top:8px;border-top:1px solid var(--line)}.page-shell{margin-top:22px}.app-heading{align-items:flex-start;flex-direction:column}.file-head{display:none}.file-row{grid-template-columns:1fr;gap:6px;padding:16px}.file-row>span:not(.file-name)::before{content:attr(data-label) ': ';font-weight:800;color:var(--muted)}.file-actions{margin-top:4px}.auth-card{padding:26px}.converter-grid{grid-template-columns:1fr}.preview-head{align-items:flex-start;flex-direction:column}.preview-head button{width:100%}}
