:root {
  color-scheme:dark; --bg:#10110f; --panel:#191a17; --field:#111210; --ink:#f6f0e4; --quiet:#bbb5a7;
  --gold:#e4c483; --line:#514936; --soft:#28271f; --shadow:0 24px 72px #0004;
  font:16px/1.55 "DM Sans","Noto Sans Thai",Tahoma,system-ui,sans-serif;
}
:root[data-theme=light] {
  color-scheme:light; --bg:#f4f0e7; --panel:#fffdf8; --field:#fffefa; --ink:#29251e; --quiet:#665f52;
  --gold:#805d1d; --line:#c9bda7; --soft:#efe7d9; --shadow:0 24px 64px #6b532218;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:.55rem .95rem;min-height:42px;background:var(--panel)}
button:hover{background:var(--soft);border-color:var(--gold)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
button:disabled{opacity:.6;cursor:wait}button.primary,button[type=submit]{background:linear-gradient(112deg,#e8cd98,#d2aa63);color:#241d12;border-color:#c8a261;font-weight:650}
button.primary:hover,button[type=submit]:hover{background:#ebcf96}
.topbar{min-height:80px;padding:16px max(5vw,20px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--panel)}
.brand,.controls,.tools,.switch{display:flex;align-items:center;gap:10px}.brand{font:600 clamp(20px,2vw,29px)/1.1 "Baskervville",Georgia,serif;white-space:nowrap}.brand em{font-weight:400;color:var(--gold)}
.brand i{width:23px;height:23px;border-radius:50%;background:radial-gradient(circle at 68% 25%,var(--panel) 0 48%,transparent 51%),linear-gradient(135deg,#fff1c4,#aa8040)}
.controls,.tools{flex-wrap:wrap}.switch{gap:2px;padding:3px;border:1px solid var(--line);border-radius:28px;background:var(--bg)}
.switch button{background:transparent;border:0;border-radius:22px;color:var(--quiet);min-height:36px;padding:4px 13px;font-size:.87rem}
.switch button[aria-pressed=true]{background:var(--soft);color:var(--gold);box-shadow:inset 0 0 0 1px var(--line)}
main{max-width:1200px;padding:0 clamp(16px,4vw,56px) 56px;margin:auto}
#account{margin:clamp(30px,8vh,90px) auto;display:grid;grid-template-columns:1.05fr 1fr;max-width:970px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}
.cover{position:relative;isolation:isolate;overflow:hidden;min-height:460px;padding:36px;background:radial-gradient(ellipse at 50% 20%,#383325,#191a16 56%,#10120f);color:#edd39d;display:flex;align-items:flex-end}
.dial{position:absolute;width:82%;aspect-ratio:1;top:36%;left:57%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #a789504a;display:grid;place-items:center}
.dial:before,.dial:after,.orbit,.moon{position:absolute;border-radius:50%}
.dial:before{content:"";inset:8%;border:1px dashed #b69d6d60}
.dial:after{content:"";inset:16%;border:1px solid #cbb28481}
.orbit{width:135%;height:38%;border:1px solid #bb995957;transform:rotate(-40deg)}
.moon{width:45%;height:45%;background:radial-gradient(circle at 76% 27%,#1b1c17 0%,#282820 53%,transparent 55%),linear-gradient(135deg,#fff2b9 0%,#d9ba78 40%,#8b692e 82%);box-shadow:0 0 44px #e3be6414}
.signature{position:relative;font:italic 70px/.97 "Baskervville",Georgia,serif;letter-spacing:-4px}.signature span{display:block;font:500 12px/2.4 system-ui,sans-serif;letter-spacing:.32em;text-transform:uppercase}
.login-panel,.card{padding:clamp(24px,4vw,52px)}.login-panel{align-self:center}.eyebrow{margin:0 0 5px;color:var(--gold);font-size:.86rem;font-weight:650}
h1,h2{line-height:1.25;margin:0;text-wrap:balance}h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.035em}h2{font-size:1.28rem;margin-bottom:18px}.intro,small{color:var(--quiet)}.intro{margin:10px 0 26px}
form,label{display:grid}form{gap:16px}label{gap:6px;font-size:.94rem;font-weight:550}input,textarea,select{min-width:0;width:100%;background:var(--field);border:1px solid var(--line);border-radius:7px;padding:10px 12px;line-height:1.55}
textarea{resize:vertical;min-height:120px}#login button{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
#status:not(:empty){color:var(--ink);background:var(--soft);padding:12px 16px;border-inline-start:3px solid var(--gold)}#status:empty{display:none}
.workspace-head{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:40px 0 24px}#who{display:block;overflow-wrap:anywhere;margin-top:10px}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:20px}.catalog{display:grid;gap:20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px}
article{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding:12px 0}article>span{overflow-wrap:anywhere}
article button{font-size:.87rem;min-height:36px;padding:4px 10px}.tools{gap:7px}#folderForm{margin-top:16px}
@media(max-width:720px){.workspace-grid{grid-template-columns:1fr}.cover{min-height:160px;padding:20px 24px}.signature{font-size:44px}.dial{width:235px;left:76%;top:39%}#account{grid-template-columns:1fr;max-width:490px}.topbar{flex-wrap:wrap;min-height:66px}.login-panel{padding:28px}.workspace-head{margin-top:25px}}
@media(max-width:390px){.topbar{padding:12px;gap:8px}.switch button{padding:4px 8px}.brand{gap:6px}.login-panel,.card{padding:20px}}
