/* Palace AI Studio — own brand styling (deep green + gold on cream).
   No third-party branding anywhere. */
:root{
  --green:#1E4634; --green-2:#265c44; --gold:#B08D4F; --gold-2:#c9a86a;
  --cream:#FAF6EE; --ink:#1d2420; --muted:#6b7268; --line:#e3dcc9;
  --card:#ffffff; --warn:#8a5a12; --warn-bg:#fdf3e0; --ok:#1c6b3c; --ok-bg:#e7f4ec;
  --bad:#9c2b2b; --bad-bg:#fbeaea;
}
*{box-sizing:border-box}
body{margin:0;font-family:Georgia,'Times New Roman',serif;background:var(--cream);color:var(--ink)}
.layout{display:flex;min-height:100vh}
.sidebar{width:300px;flex:0 0 300px;background:var(--green);color:#f3ecd9;padding:18px 16px;display:flex;flex-direction:column;gap:14px}
.brand{display:flex;gap:12px;align-items:center}
.brand-mark{width:46px;height:46px;border-radius:12px;background:var(--gold);color:var(--green);
  display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:bold}
.brand-name{font-size:19px;font-weight:bold}
.brand-sub{font-size:12px;color:var(--gold-2)}
.honest-banner{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);
  border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.5}
.honest-banner code{background:rgba(0,0,0,.25);padding:0 4px;border-radius:4px}
#nav{display:flex;flex-direction:column;gap:2px}
#nav a{color:#f3ecd9;text-decoration:none;padding:8px 10px;border-radius:8px;font-size:15px}
#nav a:hover{background:rgba(255,255,255,.1)}
#nav a.active{background:var(--gold);color:var(--green);font-weight:bold}
.project-box{background:rgba(0,0,0,.18);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.project-box label{font-size:12px;color:var(--gold-2)}
.project-box select{padding:7px;border-radius:6px;border:1px solid var(--line);font-family:inherit}
.sidebar-foot{margin-top:auto;font-size:12px;color:#cfc7a8;line-height:1.5}
.view{flex:1;padding:26px 30px;max-width:1060px}
h1{color:var(--green);margin:0 0 6px;font-size:28px}
h2{color:var(--green);margin:22px 0 8px;font-size:20px}
h3{color:var(--green-2);margin:14px 0 6px}
p{line-height:1.55}
.muted{color:var(--muted);font-size:13px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:12px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.tile a{color:var(--green);font-weight:bold;text-decoration:none}
.badge{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:999px;vertical-align:middle}
.badge-wait{background:var(--warn-bg);color:var(--warn);border:1px solid #e8cf9a}
.badge-live{background:var(--ok-bg);color:var(--ok);border:1px solid #a9d3b8}
.badge-local{background:#eef2ff;color:#31448c;border:1px solid #c3cdf2}
.btn{background:var(--green);color:#fff;border:none;border-radius:8px;padding:9px 16px;
  font-family:inherit;font-size:14.5px;cursor:pointer}
.btn:hover{background:var(--green-2)}
.btn:disabled{background:#9aa79e;cursor:not-allowed}
.btn-gold{background:var(--gold);color:var(--green);font-weight:bold}
.btn-ghost{background:transparent;color:var(--green);border:1px solid var(--green)}
.btn-small{padding:5px 10px;font-size:13px}
input[type=text],input[type=url],input[type=number],select,textarea{
  width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:14.5px;background:#fff}
textarea{min-height:84px}
label.flabel{display:block;font-size:13px;color:var(--green-2);margin:10px 0 4px;font-weight:bold}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{border-bottom:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:top}
th{color:var(--green)}
.total-ok{color:var(--ok);font-weight:bold}
.total-bad{color:var(--bad);font-weight:bold}
.notice{border-radius:10px;padding:10px 14px;font-size:14px;line-height:1.5;margin:10px 0}
.notice-warn{background:var(--warn-bg);border:1px solid #e8cf9a}
.notice-ok{background:var(--ok-bg);border:1px solid #a9d3b8}
.stages{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.stage{font-size:12.5px;background:#f1ecdd;border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.stage::after{content:" →";color:var(--gold)}
.stage:last-child::after{content:""}
video{max-width:100%;border-radius:10px;background:#000}
audio{width:100%}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.spacer{flex:1}
pre{background:#14231c;color:#dce8d8;border-radius:10px;padding:12px;font-size:12px;overflow:auto;max-height:300px}
.kv{font-size:14px;line-height:1.7}
