:root{--bg:#f8f7f3;--fg:#0b101e;--muted:#737785;--line:#d8dbe0;--blue:#1451ff;--panel:#fff;--code:#111827}html[data-theme=dark]{--bg:#11151d;--fg:#eef0f6;--muted:#a2abba;--line:#303848;--blue:#7c9cff;--panel:#1b2230}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}button,a,input,select{transition:background .18s,color .18s,border-color .18s}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.shell{max-width:1280px;margin:auto;padding:0 40px}header{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:20px;font-size:25px;font-weight:750;letter-spacing:-1px}.brand small{display:block;color:var(--muted);font-size:15px;font-weight:400;letter-spacing:0;margin-top:-5px}.logo{color:var(--blue);font-size:42px;position:relative;text-shadow:-13px 17px 0 var(--fg),15px 17px 0 var(--fg);margin-right:15px;margin-top:-18px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav button{background:none;color:var(--fg);font-size:28px;padding:0;border:0}.subtle{color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:60px;padding:48px 0 32px;border-bottom:1px solid var(--line)}h1,h2,h3{line-height:1.1;letter-spacing:-1.3px;margin:0 0 16px}h1{font-size:58px;letter-spacing:-2.8px;font-weight:800}h2{font-size:38px;font-weight:750}h3{font-size:22px;letter-spacing:-.6px}.hero p,.featured p{font-size:20px;line-height:1.45;color:var(--muted);margin:0}.hero img{width:100%;height:285px;object-fit:cover}.featured{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}.featured img{width:100%;height:250px;object-fit:cover}.eyebrow{text-transform:uppercase;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:1.5px;margin-bottom:18px}.eyebrow span{color:var(--muted);margin-left:10px}.meta{font-size:13px;color:var(--muted);margin:20px 0}.meta span{padding:0 10px}.read{color:var(--blue);display:inline-block;margin-top:4px}.contentgrid{display:grid;grid-template-columns:3fr 1fr;gap:28px;padding:26px 0}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.sectionhead h2{font-size:24px;margin:0}.sectionhead a{font-size:13px;color:var(--blue)}.note{display:grid;grid-template-columns:225px 1fr;gap:24px;border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:18px}.note img{width:225px;height:125px;object-fit:cover}.note .eyebrow{margin:0;font-size:10px}.note h3{font-size:21px;margin:7px 0}.note p{color:var(--muted);font-size:15px;line-height:1.4;margin:0}.note .meta{margin:12px 0 0}.contentgrid aside{border-left:1px solid var(--line);padding-left:28px}.contentgrid aside h3{font-size:20px}.topic{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0;font-size:14px}.topic span{flex:1}.bio{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.bio p{color:var(--muted);font-size:14px;margin:5px 0}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:25px 0;color:var(--muted);font-size:12px;margin-top:35px}.article{max-width:820px;margin:50px auto}.article h1{margin-top:25px}.article .eyebrow{margin-top:30px}.lede{font-size:23px;color:var(--muted)}.cover{width:100%;height:330px;object-fit:cover;margin:20px 0}.prose{font-size:18px;line-height:1.85}.prose h1{font-size:36px}.prose h2{font-size:28px;margin-top:40px}.prose img{max-width:100%}.prose a{color:var(--blue)}pre{padding:24px;background:var(--code);color:#e5edf9;border-radius:8px;overflow:auto;font-size:14px}code{font-family:Consolas,monospace}blockquote{border-left:3px solid var(--blue);margin-left:0;padding-left:24px;color:var(--muted)}.adminnav{display:flex;gap:28px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.adminnav form{margin-left:auto}.pagehead{display:flex;justify-content:space-between;align-items:center;margin:40px 0 28px}.pagehead h1{font-size:42px}.pagehead p{color:var(--muted);margin:0}.panel{background:var(--panel);border:1px solid var(--line);padding:25px;border-radius:10px;margin-bottom:24px}.panel h2{font-size:25px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.stats>div{padding:22px;border:1px solid var(--line);border-radius:10px;color:var(--muted)}.stats strong{display:block;color:var(--fg);font-size:32px}button,.button{background:var(--blue);color:white;border:0;border-radius:5px;padding:11px 19px;cursor:pointer;font:600 14px 'Segoe UI',sans-serif;display:inline-block}button:hover,.button:hover{filter:brightness(.9);color:white}.secondary{background:transparent;color:var(--fg);border:1px solid var(--line)}.textbutton{color:var(--muted);background:none;padding:0}.danger{color:#ce4054}.inline{display:inline-block;margin-left:18px}label{display:block;font-size:13px;font-weight:600;margin-bottom:17px}input,textarea,select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:5px;padding:11px 12px;font:15px 'Segoe UI',sans-serif}textarea{resize:vertical;min-height:75px}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px}td,th{padding:17px 10px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted);margin-top:6px}.badge{background:var(--bg);padding:5px 10px;border-radius:20px;font-size:12px}.editorgrid{display:grid;grid-template-columns:1fr 290px;gap:25px}.cover-preview{width:100%;height:140px;object-fit:cover;margin-bottom:20px}.editorgrid aside button{margin:10px 0}.editorgrid aside>a{display:block;font-size:13px;color:var(--blue)}.settingsgrid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.muted{color:var(--muted);font-size:13px}.auth{max-width:460px;margin:65px auto}.auth h1{font-size:40px}.auth>p{color:var(--muted)}.auth>a{display:block;margin-top:22px;color:var(--blue);font-size:14px}.auth button{width:100%}.narrow{max-width:650px}.notice{padding:15px;border:1px solid var(--blue);border-radius:5px;margin:20px 0}.error{color:#ce4054}.rowform{display:flex;align-items:center;gap:15px}.rowform select{width:120px;margin:0}.rowform label{margin:0}.upload{display:flex;align-items:end;gap:20px}.upload label{flex:1;margin:0}.mediagrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mediaitem img{width:100%;height:180px;object-fit:cover;margin-bottom:15px}.mediaitem strong{font-size:14px;word-break:break-word}.mediaitem button{margin:12px 0}.mediaitem p{font-size:13px;color:var(--muted)}#search{padding:20px 0}#search input{width:80%;display:inline-block;margin-right:15px}.pagination{display:flex;justify-content:space-between;color:var(--blue)}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.toastui-editor-defaultUI{background:white}.toastui-editor-contents{font-size:16px!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-width:900px){.shell{padding:0 24px}h1{font-size:44px}.hero{gap:20px}.note{grid-template-columns:160px 1fr}.note img{width:160px}.contentgrid{grid-template-columns:1fr}.contentgrid aside{border-left:0;padding:20px 0}.editorgrid{grid-template-columns:1fr}.upload{flex-wrap:wrap}.mediagrid{grid-template-columns:repeat(2,1fr)}nav{gap:16px}.brand{font-size:20px}}@media(max-width:600px){header{height:auto;padding:22px 0;align-items:start;gap:20px;flex-direction:column}nav{flex-wrap:wrap}.hero,.featured,.settingsgrid{grid-template-columns:1fr}.hero img{height:220px}.hero{padding-top:30px}h1{font-size:42px}.featured h2{font-size:30px}.note{grid-template-columns:100px 1fr;gap:14px}.note img{width:100px;height:100px}.note h3{font-size:18px}.note p{font-size:13px}.adminnav{gap:14px;flex-wrap:wrap}.pagehead h1{font-size:32px}.stats{gap:10px}.stats>div{padding:14px}.panel{padding:18px;overflow:auto}.mediagrid{grid-template-columns:1fr}.rowform{flex-wrap:wrap}footer{gap:20px}.article h1{font-size:40px}}

.brand .logo{display:flex;align-items:center;margin:0;color:var(--blue);text-shadow:none;font-size:inherit}.brand .logo svg{display:block}

.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
