/* ========== Kiro Dark Purple Theme ========== */
:root{
    --win-face:#1e1b2e;
    --win-light:#2d2a42;
    --win-shadow:#0f0d1a;
    --win-dark:#080610;
    --win-black:#e2e0f0;
    --win-blue:#a78bfa;
    --win-desktop:#13111f;
    --win-text:#e2e0f0;
    --win-text-muted:#8b87a8;
    --win-input-bg:#16132a;
    --win-input-border:#3d3860;
    --win-panel-bg:#1a1730;
    --win-accent:#a78bfa;
    --win-accent-hover:#a78bfa;
    --win-border-light:#3d3860;
    --win-border-dark:#0f0d1a;
    --win-titlebar:#9046FF;
    --win-titlebar-inactive:#2d2a42;
    --win-success-bg:#1a2a1a;
    --win-error-bg:#2a1a1a;
    --win-info-bg:#1a1a3a;
    --win-radius:10px;
    --font-family:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI","Noto Sans SC",sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }

html,body{
    margin:0; padding:0; min-height:100%;
    font-family:var(--font-family);
    font-size:13px; line-height:1.5;
    color:var(--win-text);
    background:var(--win-desktop);
    font-weight:400;
}

body{ background:var(--win-face); }

b,strong{ font-weight:500; }

/* Desktop gradient background */
.desktop-body,#desktop-root{
    background:0%, transparent 60%),
               0%, transparent 50%) var(--win-desktop);
}

button,input,textarea,select{ font:inherit; color:var(--win-text); font-weight:400; }

.window,fieldset,button,input,textarea,select,.group-box{
    background:var(--win-face);
    border:1px solid var(--win-border-light);
    border-radius:var(--win-radius);
    box-shadow:none;
}

button{
    padding:5px 14px; min-height:28px; cursor:pointer;
    background:var(--win-panel-bg);
    border:1px solid var(--win-border-light);
    border-radius:var(--win-radius);
    transition:background .15s,border-color .15s,box-shadow .15s;
    font-weight:400;
}
button:hover{ background:#2d2a42; border-color:var(--win-accent); box-shadow:0 0 0 1px rgba(167,139,250,.2); }
button:active{ background:#16132a; }

input,textarea,select{
    background:var(--win-input-bg);
    padding:6px 10px;
    border:1px solid var(--win-input-border);
    border-radius:var(--win-radius);
    color:var(--win-text);
    box-shadow:none;
}
input:focus,textarea:focus,select:focus{
    outline:none;
    border-color:var(--win-accent);
    box-shadow:0 0 0 2px rgba(167,139,250,.25);
}

textarea{ resize:none; }

select option{ background:var(--win-face); color:var(--win-text); }

.sunken-panel{
    background:var(--win-input-bg);
    border:1px solid var(--win-border-dark);
    border-radius:var(--win-radius);
    box-shadow:none;
}

.title-bar{
    display:flex; align-items:center; justify-content:space-between;
    gap:8px; background:var(--win-titlebar);
    color:#fff; padding:5px 10px; min-height:37px;
    user-select:none; border-radius:var(--win-radius) var(--win-radius) 0 0;
}
.title-bar.inactive{ background:var(--win-titlebar-inactive); }
.title-bar-text{ font-weight:400; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13px; }
.title-bar-controls{ display:flex; gap:4px; }
.title-bar-controls button{
    width:20px; min-width:20px; height:20px; min-height:20px;
    padding:0; position:relative; border-radius:50%;
    background:rgba(255,255,255,.12); border:none;
}
.title-bar-controls button:hover{ background:rgba(255,255,255,.25); }
.title-bar-controls button::before{ content:none; }

.window-body{ padding:12px; }

.field-row{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.field-row > span{ width:84px; flex:0 0 84px; color:var(--win-text-muted); }
.field-row > input{ flex:1 1 auto; }

.group-box{ position:relative; padding:16px 12px 12px; border-radius:var(--win-radius); }
.group-box-title{
    position:absolute; top:-8px; left:10px;
    background:var(--win-face); padding:0 6px;
    font-weight:400; color:var(--win-accent); font-size:11px;
}

.status-box{
    margin-bottom:10px; padding:8px 12px;
    border:1px solid var(--win-border-light);
    border-radius:var(--win-radius);
}
.status-success{ background:var(--win-success-bg); border-color:#2a5a3a; }
.status-error{ background:var(--win-error-bg); border-color:#5a2a2a; }
.status-info{ background:var(--win-info-bg); border-color:#3a2a5a; }

.hidden{ display:none !important; }

a{ color:var(--win-accent); text-decoration:none; }
a:hover{ text-decoration:underline; color:var(--win-accent-hover); }
