:root{font-family:'DM Sans','Noto Sans Thai',sans-serif;color:#242428;background:#f8f8fa;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a8a8b8;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.brand{display:flex;align-items:center;gap:9px;font-size:21px;letter-spacing:-.7px;white-space:nowrap}.brand strong{font-weight:600}.brand span{font-weight:400}.brand svg{width:25px;height:25px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#8b8b95;text-transform:uppercase}.muted{color:#7d7d87;font-size:12px;line-height:1.9}.pill{display:inline-flex;align-items:center;gap:5px;font-size:10px;padding:4px 9px;border:1px solid #e4e4e9;border-radius:20px;white-space:nowrap;color:#777781;background:#fff}.pill.live{background:#eff5f1;border-color:#e0ebe3;color:#587061}.pill.changed{background:#faf5eb;border-color:#eee4cf;color:#8d7750}.primary,.secondary,.subtle{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:11px 17px;border-radius:9px;font-size:12px;transition:background .18s,transform .18s}.primary{background:#252529;color:#fff;border:1px solid #252529}.primary:hover{background:#414147}.secondary{background:#fff;border:1px solid #dddde4}.secondary:hover{background:#f6f6f9}.subtle{color:#777781;padding:8px 10px}.subtle:hover{color:#242428;background:#f0f0f4}.primary svg,.secondary svg,.subtle svg{width:16px;height:16px}.icon-button{padding:7px;border-radius:7px;display:grid;place-content:center;color:#8b8b95}.icon-button:hover{background:#f0f0f4;color:#242428}.icon-button svg{width:17px;height:17px}.loading-screen{min-height:100vh;display:grid;place-content:center;color:#8b8b95}.auth-page{min-height:100vh;display:flex;flex-direction:column;padding:35px 5vw}.auth-header{display:flex;justify-content:space-between;align-items:center}.auth-card{width:min(440px,100%);margin:auto;padding:65px 12px}.auth-icon{width:57px;height:57px;background:white;border:1px solid #e6e6ed;border-radius:16px;display:grid;place-content:center;margin-bottom:30px;box-shadow:0 6px 22px #00000003}.auth-icon svg{width:27px;height:27px}.auth-card h1{font-size:31px;font-weight:500;letter-spacing:-1px;line-height:1.5;margin:8px 0 12px}.auth-card>p{color:#85858f;font-size:13px;line-height:1.9;margin-bottom:28px}.auth-form{display:grid;gap:18px}.auth-form .primary{margin-top:5px;padding:13px}.auth-foot{text-align:center;color:#94949e;font-size:10px;padding:20px}.auth-foot strong{color:#555560;font-weight:500}.field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;color:#62626e}.field input,.field textarea,.field select,.search{border:1px solid #e0e0e7;background:white;color:#303039;border-radius:9px;padding:11px 12px;min-width:0;width:100%;outline-offset:1px;font-size:13px}.field textarea{resize:vertical;line-height:1.9;min-height:85px}.field input:disabled{background:#f6f6f8;color:#94949e}.field small{font-size:10px;color:#9999a3;line-height:1.7}.field .mono{font-family:ui-monospace,monospace;font-size:12px}.field input[type=file]{font-size:12px}.error{padding:12px 14px;border-radius:9px;background:#fcf1ef;color:#a35045;font-size:12px;line-height:1.8}.shell{display:grid;grid-template-columns:222px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e9e9ef;padding:29px 22px 21px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{font-size:19px}.sidebar .eyebrow{font-size:8px;margin:10px 0 42px 34px}.nav-caption{font-size:9px;color:#b0b0b9;letter-spacing:1.1px;margin:0 12px 12px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{display:flex;align-items:center;gap:11px;padding:12px;border-radius:9px;text-align:left;color:#8b8b95;font-size:12px}.nav button svg{width:17px;height:17px}.nav button:hover{background:#fafafb}.nav button.active{background:#f0f0f4;color:#2e2e37;font-weight:500}.sidebar-bottom{margin-top:auto}.local-status{display:flex;align-items:center;gap:7px;font-size:10px;color:#9999a3;border-top:1px solid #ececf1;padding:17px 10px}.local-status i{width:5px;height:5px;border-radius:50%;background:#90a38f}.account{display:flex;gap:10px;align-items:center;padding:5px 9px}.avatar{width:31px;height:31px;border-radius:50%;background:#ededf2;display:grid;place-content:center;font-size:11px;color:#777782}.account>div{flex:1;min-width:0}.account strong{display:block;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis}.account small{font-size:9px;color:#a0a0aa}.content{min-width:0}.topbar{height:80px;border-bottom:1px solid #e8e8ee;padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:#fff}.topbar>span{font-size:11px;color:#92929c}.topbar>span strong{color:#555561;font-weight:400;margin-left:8px}.topbar .secondary{font-size:11px;padding:8px 13px}.page{max-width:1240px;margin:auto;padding:38px 40px 25px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px}.page-heading h1{font-size:28px;letter-spacing:-.7px;font-weight:500;margin:7px 0}.page-heading .actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0}.stat{background:#fff;border:1px solid #e8e8ee;border-radius:13px;padding:22px 23px}.stat>span{font-size:11px;color:#92929d}.stat strong{display:block;font-size:32px;letter-spacing:-1px;font-weight:500;margin:12px 0 4px}.stat small{font-size:10px;color:#a0a0ab}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:21px}.panel{background:#fff;border:1px solid #e7e7ed;border-radius:13px;padding:25px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px}.panel-heading h2{font-size:15px;font-weight:500}.panel-heading a,.panel-heading button{font-size:11px;color:#83838d}.entry-row{display:flex;align-items:center;gap:13px;padding:15px 0;border-top:1px solid #efeff3}.entry-mark{width:40px;height:40px;border-radius:11px;display:grid;place-content:center;background:#f5f3f2;color:#b5a29a;font-size:13px;font-weight:500;flex-shrink:0}.entry-mark svg{width:20px;height:20px}.entry-row>div:nth-child(2){flex:1;min-width:0}.entry-row strong{font-size:12px;font-weight:500}.entry-row small{display:block;font-size:10px;color:#a2a2ac;margin-top:4px}.entry-row>.subtle{font-size:11px}.steps{display:grid;gap:23px}.step{display:flex;gap:12px}.step>b{font-size:10px;font-weight:400;color:#aaaab5;border:1px solid #e5e5ec;width:23px;height:23px;border-radius:50%;display:grid;place-content:center;flex-shrink:0}.step strong{font-size:12px;font-weight:500}.step p{font-size:11px;color:#92929d;line-height:1.9;margin-top:6px}.notice{padding:14px 17px;background:#f1f1f5;border-radius:9px;color:#858590;font-size:11px;line-height:1.9;margin-top:24px}.studio-footer{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#aaaab4;padding:28px 0 10px}.studio-footer strong{font-weight:500;color:#666672}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px}.search{max-width:300px;padding:10px 13px;font-size:12px}.filters{display:flex;gap:4px}.filters button{padding:8px 12px;border-radius:20px;font-size:11px;color:#92929c}.filters button.active{background:#2e2e34;color:#fff}.table-wrap{border:1px solid #e6e6ed;border-radius:12px;overflow:auto;background:#fff}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th{text-align:left;font-size:10px;letter-spacing:.3px;font-weight:400;color:#92929c;padding:15px 21px;background:#fcfcfd}td{border-top:1px solid #eeeef3;padding:17px 21px}td .entry-title{display:flex;align-items:center;gap:13px}td strong{font-weight:500}td small{display:block;color:#a0a0aa;font-size:10px;margin-top:4px}td .subtle{font-size:11px}.editor-tabs{display:flex;gap:26px;border-bottom:1px solid #e2e2e9;margin-bottom:25px;overflow:auto;white-space:nowrap}.editor-tabs button{font-size:12px;color:#92929d;padding:12px 2px 15px;border-bottom:2px solid transparent}.editor-tabs button.active{border-color:#30303a;color:#30303a}.editor-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(255px,1fr);gap:22px;align-items:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.span-2{grid-column:1/-1}.form-stack{display:grid;gap:21px}.panel h3{font-size:13px;font-weight:500;margin-bottom:18px}.panel .section-description{font-size:11px;color:#92929d;margin:-8px 0 22px;line-height:1.9}.editor-meta{display:flex;align-items:center;gap:9px;margin-top:10px}.editor-meta span{font-size:10px;color:#9999a3}.upload-box{border:1px dashed #cfcfd9;border-radius:10px;padding:23px 16px;text-align:center;background:#fcfcfd}.upload-box>svg{width:28px;height:28px;color:#a8a8b4;margin-bottom:12px}.upload-box strong{display:block;font-size:12px;font-weight:500}.upload-box p{font-size:10px;color:#9999a3;line-height:1.8;margin:8px 0 15px}.upload-box label{display:inline-flex;border:1px solid #dddde6;border-radius:8px;padding:8px 12px;font-size:11px;cursor:pointer}.file-input{position:absolute;width:1px;height:1px;opacity:0}.file-input:focus-visible+label{outline:3px solid #aaaaba}.file-status{font-size:11px;color:#6c776d;overflow-wrap:anywhere;margin-top:10px}.repeat-card{background:#fcfcfd;border:1px solid #e8e8ee;border-radius:10px;padding:18px;margin-bottom:15px}.repeat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:11px;color:#91919d}.coordinates{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.coordinates .field input{font-family:ui-monospace,monospace}.check-label{display:flex;gap:8px;align-items:center;font-size:11px;color:#7e7e8b}.check-label input{accent-color:#33333b}.quiz-options{display:grid;gap:10px}.option-field{display:flex;align-items:center;gap:10px}.option-field>input[type=radio]{accent-color:#33333b}.option-field>input[type=text]{flex:1;border:1px solid #e0e0e7;border-radius:8px;padding:10px 12px;min-width:0;font-size:12px}.history-list{display:grid;gap:10px}.history-list>div{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:12px 0;border-bottom:1px solid #ededf2;font-size:12px}.history-list small{color:#9999a5;font-size:10px}.empty{text-align:center;padding:45px 20px;font-size:12px;color:#9999a5;line-height:1.9}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.asset-card{border:1px solid #e7e7ef;background:white;border-radius:12px;overflow:hidden}.asset-art{height:130px;background:#f0f0f4;display:grid;place-content:center;color:#b1b1be}.asset-art svg{width:40px;height:40px;stroke-width:1}.asset-info{padding:17px}.asset-info strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.asset-info p{font-size:10px;color:#9999a3;margin-top:7px}.asset-info a{display:inline-block;font-size:11px;color:#73737e;margin-top:14px}.toast{position:fixed;bottom:27px;left:50%;transform:translateX(-50%);background:#29292f;color:#fff;padding:12px 21px;border-radius:10px;font-size:12px;box-shadow:0 8px 35px #0002;z-index:99;max-width:90vw}.save-message{font-size:11px;color:#858590}.editor-sticky{position:sticky;top:20px}.backup-card{max-width:650px}.backup-card h2{font-size:19px;font-weight:500;margin-bottom:14px}.backup-card p{line-height:1.9;color:#85858f;font-size:12px;margin-bottom:20px}.backup-card code{display:block;background:#f5f5f8;border:1px solid #e5e5ed;border-radius:8px;padding:13px 16px;font-size:12px;margin:13px 0}.error-panel{padding:35px}.hero-line{font-size:13px;color:#7d7d87;line-height:1.9;max-width:560px}.row-actions{display:flex;gap:4px;align-items:center;justify-content:flex-end}.auth-tag{font-size:10px;color:#9b9ba5}.progress-loader{color:#9999a3;font-size:12px;padding:20px}
@media(max-width:1100px){.sidebar{padding:26px 15px}.shell{grid-template-columns:195px minmax(0,1fr)}.page{padding:30px 26px}.topbar{padding:0 26px}.stats{gap:12px}.stat{padding:18px}.dashboard-grid{grid-template-columns:1fr}.editor-grid{grid-template-columns:1fr}.editor-sticky{position:static}.asset-grid{grid-template-columns:1fr 1fr}.editor-tabs{gap:20px}}
@media(max-width:720px){.shell{display:block}.sidebar{height:auto;position:static;padding:19px 20px 0;border-right:0;border-bottom:1px solid #e6e6ed}.sidebar .eyebrow,.nav-caption,.sidebar-bottom{display:none}.nav{flex-direction:row;overflow:auto;margin-top:20px;gap:8px}.nav button{font-size:11px;white-space:nowrap;padding:10px 9px;border-radius:7px 7px 0 0}.nav button svg{width:15px;height:15px}.topbar{height:61px;padding:0 20px}.topbar>span{font-size:10px}.topbar .secondary{font-size:10px}.page{padding:25px 18px}.page-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:23px}.page-heading h1{font-size:25px}.page-heading .actions{justify-content:flex-start}.stats{grid-template-columns:1fr 1fr;gap:11px}.stat{padding:16px}.stat strong{font-size:29px}.stat>span{font-size:10px}.panel{padding:20px}.entry-row{gap:10px}.entry-mark{width:33px;height:33px}.entry-row strong{font-size:11px}.entry-row small{font-size:9px}.entry-row .pill{font-size:9px;padding:3px 6px}.entry-row>.subtle{padding:7px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.toolbar{align-items:flex-start;flex-direction:column}.search{max-width:none}.filters{flex-wrap:wrap}.editor-tabs{gap:19px}.editor-tabs button{font-size:11px}.asset-grid{grid-template-columns:1fr 1fr;gap:12px}.asset-art{height:105px}.asset-info{padding:13px}.asset-info strong{font-size:11px}.auth-page{padding:24px}.auth-header .brand{font-size:20px}.auth-tag{font-size:8px}.auth-card{padding:55px 0}.auth-card h1{font-size:28px}.studio-footer{font-size:8px}.editor-meta{flex-wrap:wrap}.primary,.secondary{font-size:11px;padding:10px 14px}.auth-form .primary{font-size:13px}.mobile-logout{display:inline-flex!important}.desktop-logout{display:none}}
@media(prefers-reduced-motion:no-preference){.page,.auth-card{animation:appear .25s ease}@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
