/* /AIWK_COMMON/styles/aiwk_ext4_base.css */
/* AIWK EXT4 v028 */
#aiwk-ext4-root, #aiwk-ext4-root * { box-sizing: border-box; }
#aiwk-ext4-root { position: fixed; inset: 0; z-index: 2147483000; pointer-events: none; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
#aiwk-ext4-root .aiwk-win { pointer-events: auto; min-width: 260px; min-height: 120px; touch-action: none; }
#aiwk-ext4-root .aiwk-win-header { min-height: 30px; }
#aiwk-ext4-root .aiwk-drag-handle { width: 22px; min-width: 22px; text-align: center; touch-action: none; cursor: move; }
#aiwk-ext4-root .aiwk-bottom-drag-handle { position: absolute; right: 21px; bottom: 0; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; cursor: move; touch-action: none; border-radius: 6px 0 0 0; opacity: .86; font-size: 13px; line-height: 1; }
#aiwk-ext4-root .aiwk-bottom-drag-handle:hover { opacity: 1; outline: 1px dashed currentColor; }
#aiwk-ext4-root .aiwk-title, #aiwk-ext4-root .aiwk-role, #aiwk-ext4-root .aiwk-status, #aiwk-ext4-root .aiwk-win-body, #aiwk-ext4-root .aiwk-btn { user-select: text; }
#aiwk-ext4-root .aiwk-btn { min-height: 24px; padding: 2px 7px; border-radius: 7px; border: 1px solid currentColor; font-size: 12px; cursor: pointer; }
#aiwk-ext4-root .aiwk-disabled { opacity: .38; cursor: not-allowed; text-decoration: line-through; }
#aiwk-ext4-root .aiwk-resize-handle { position: absolute; right: 0; bottom: 0; width: 20px; height: 20px; cursor: nwse-resize; touch-action: none; }
#aiwk-ext4-root .aiwk-resize-handle::after { content: ""; position: absolute; right: 3px; bottom: 3px; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; opacity: .8; }
#aiwk-ext4-root .aiwk-collapsed { height: 32px !important; min-height: 32px; }
#aiwk-ext4-root .aiwk-collapsed .aiwk-win-body, #aiwk-ext4-root .aiwk-collapsed .aiwk-status, #aiwk-ext4-root .aiwk-collapsed .aiwk-resize-handle { display: none; }
#aiwk-ext4-root .aiwk-collapsed .aiwk-bottom-drag-handle { right: 0; width: 24px; height: 24px; }
#aiwk-ext4-root .aiwk-textarea { min-height: 1.8em; resize: vertical; line-height: 1.4; user-select: text; width: 100%; max-width: 100%; }
#aiwk-ext4-root .aiwk-checkbox { border: 1px dashed currentColor; border-radius: 8px; padding: 6px 8px; opacity: .92; }
#aiwk-ext4-root .aiwk-moving, #aiwk-ext4-root .aiwk-resizing { opacity: .92; outline: 1px solid currentColor; }

#aiwk-ext4-root .aiwk-auth-panel { line-height: 1.45; }
#aiwk-ext4-root .aiwk-auth-role { font-weight: 800; }
#aiwk-ext4-root .aiwk-auth-mode { font-size: 12px; opacity: .82; }
#aiwk-ext4-root .aiwk-auth-actions { margin: 4px 0; }
#aiwk-ext4-root .aiwk-auth-payload { max-height: 120px; overflow: auto; margin: 4px 0; padding: 6px; border: 1px solid currentColor; border-radius: 8px; font-size: 11px; white-space: pre-wrap; opacity: .88; }
#aiwk-ext4-root .aiwk-auth-msg { min-height: 18px; font-size: 12px; }
#aiwk-ext4-root .aiwk-ok { color: #16a34a; }
#aiwk-ext4-root .aiwk-err { color: #dc2626; font-weight: 800; }
#aiwk-ext4-root .aiwk-role[data-role="guest"] { opacity: .72; }
#aiwk-ext4-root .aiwk-role[data-role="editor"] { font-weight: 900; }
#aiwk-ext4-root .aiwk-role[data-role="dev"] { font-weight: 900; text-decoration: underline; }

.aiwk-registry-list,.aiwk-run-result{max-height:130px;overflow:auto;border:1px solid var(--aiwk-border,#334155);border-radius:8px;padding:8px;background:rgba(15,23,42,.72);font-size:11px;line-height:1.35;white-space:pre-wrap;user-select:text;}
.aiwk-boot-error{position:fixed;left:20px;top:20px;z-index:2147483647;max-width:720px;white-space:pre-wrap;background:#3b0a0a;color:#fecaca;border:1px solid #dc2626;border-radius:10px;padding:12px;font-size:13px;user-select:text;}

#aiwk-ext4-root .aiwk-locked { text-decoration: line-through; text-decoration-thickness: 2px; }
#aiwk-ext4-root .aiwk-locked:hover { opacity: .7; outline: 1px dashed currentColor; }
#aiwk-ext4-root .aiwk-site-profile textarea { font-family: Consolas, Menlo, monospace; font-size: 12px; }


#aiwk-ext4-root .aiwk-module-test-result{max-height:180px;overflow:auto;border:1px solid var(--aiwk-border,#334155);border-radius:8px;padding:8px;margin:0 0 8px 0;background:rgba(2,6,23,.78);color:#e5e7eb;font-size:11px;line-height:1.35;white-space:pre-wrap;user-select:text;}

/* AIWK EXT4 v025 comm status */
#aiwk-ext4-root .aiwk-title-comm-mini{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:10px;line-height:1;}
#aiwk-ext4-root .aiwk-comm-status-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:3px 0;}
#aiwk-ext4-root .aiwk-comm-dot{display:inline-flex;align-items:center;gap:3px;border-radius:999px;border:1px solid currentColor;padding:2px 6px;font-size:10px;font-weight:800;line-height:1.1;user-select:text;}
#aiwk-ext4-root .aiwk-comm-dot::before{content:"";width:8px;height:8px;border-radius:999px;display:inline-block;background:currentColor;}
#aiwk-ext4-root .aiwk-comm-ok{color:#22c55e;background:rgba(34,197,94,.10);}
#aiwk-ext4-root .aiwk-comm-warn{color:#eab308;background:rgba(234,179,8,.12);}
#aiwk-ext4-root .aiwk-comm-bad{color:#ef4444;background:rgba(239,68,68,.12);}
#aiwk-ext4-root .aiwk-comm-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:4px 0;}
#aiwk-ext4-root .aiwk-comm-toolbar .aiwk-input{max-width:120px;min-height:24px;font-size:11px;padding:2px 5px;}
#aiwk-ext4-root .aiwk-comm-logline{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0;font-size:11px;}
#aiwk-ext4-root .aiwk-comm-trash{font-size:15px;min-width:26px;text-align:center;}
/* AIWK EXT4 v027: comm form stable full-width fields */
.aiwk-comm-field-full { display:block; width:100%; margin:6px 0; box-sizing:border-box; }
.aiwk-comm-field-label { font-size:11px; opacity:.82; margin:0 0 3px; user-select:text; }
.aiwk-comm-field-full input,
.aiwk-comm-field-full textarea,
.aiwk-comm-field-full select { width:100% !important; max-width:100% !important; box-sizing:border-box !important; display:block !important; }

/* AIWK EXT4 v031: manual JSON test manager */
#aiwk-ext4-root .aiwk-version-badge{font-size:10px;font-weight:800;border:1px solid currentColor;border-radius:999px;padding:1px 5px;opacity:.86;white-space:nowrap;user-select:text;}
#aiwk-ext4-root .aiwk-manual-test-manager{line-height:1.35;}
#aiwk-ext4-root .aiwk-manual-test-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0;padding:6px;border:1px dashed currentColor;border-radius:9px;}
#aiwk-ext4-root .aiwk-manual-test-toggle{display:inline-flex;align-items:center;gap:3px;font-size:12px;cursor:pointer;user-select:text;}
#aiwk-ext4-root .aiwk-manual-test-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:5px;margin:6px 0;}
#aiwk-ext4-root .aiwk-manual-test-form input,
#aiwk-ext4-root .aiwk-manual-test-form select,
#aiwk-ext4-root .aiwk-manual-test-form textarea{min-height:24px;border:1px solid currentColor;border-radius:7px;padding:3px 6px;background:rgba(15,23,42,.55);color:inherit;box-sizing:border-box;user-select:text;}
#aiwk-ext4-root .aiwk-manual-test-form textarea{grid-column:span 2;min-height:1.8em;resize:vertical;}
#aiwk-ext4-root .aiwk-manual-test-list{display:flex;flex-direction:column;gap:6px;margin:6px 0;}
#aiwk-ext4-root .aiwk-manual-test-row{border:1px solid currentColor;border-radius:10px;padding:7px;background:rgba(15,23,42,.50);}
#aiwk-ext4-root .aiwk-manual-test-head{display:flex;align-items:center;gap:6px;margin-bottom:4px;}
#aiwk-ext4-root .aiwk-manual-test-icon{font-size:16px;min-width:20px;text-align:center;}
#aiwk-ext4-root .aiwk-manual-test-name{font-weight:800;flex:1;}
#aiwk-ext4-root .aiwk-manual-test-group{font-size:10px;border:1px solid currentColor;border-radius:999px;padding:1px 6px;opacity:.82;}
#aiwk-ext4-root .aiwk-manual-test-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0;}
#aiwk-ext4-root .aiwk-manual-test-info{font-size:11px;opacity:.92;}
#aiwk-ext4-root .aiwk-test-row-done{opacity:.62;text-decoration:line-through;text-decoration-thickness:2px;background:rgba(22,163,74,.12);}
#aiwk-ext4-root .aiwk-test-row-test{background:rgba(59,130,246,.10);}
#aiwk-ext4-root .aiwk-test-row-module{background:rgba(168,85,247,.12);}
#aiwk-ext4-root .aiwk-test-row-bug{background:rgba(220,38,38,.15);outline:1px solid rgba(220,38,38,.75);}
#aiwk-ext4-root .aiwk-test-row-trash{opacity:.55;text-decoration:line-through;background:rgba(100,116,139,.18);}


/* AIWK EXT4 v031: client_id badge, 3-step collapse, restore effects */
#aiwk-ext4-root .aiwk-client-id-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid currentColor;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:900;background:rgba(59,130,246,.22);box-shadow:0 0 0 1px rgba(255,255,255,.06) inset;user-select:text;}
#aiwk-ext4-root .aiwk-win-hidden{display:none !important;}
#aiwk-ext4-root .aiwk-win-opening{animation:aiwkWinOpenV030 .34s ease-out both;}
#aiwk-ext4-root .aiwk-win-closing{animation:aiwkWinCloseV030 .22s ease-in both;}
@keyframes aiwkWinOpenV030{0%{opacity:0;transform:translateY(12px) scale(.96);}100%{opacity:1;transform:translateY(0) scale(1);}}
@keyframes aiwkWinCloseV030{0%{opacity:1;transform:scale(1);}100%{opacity:0;transform:translateY(10px) scale(.96);}}
#aiwk-ext4-root .aiwk-collapse-1{height:32px !important;min-height:32px;}
#aiwk-ext4-root .aiwk-collapse-1 .aiwk-win-body,#aiwk-ext4-root .aiwk-collapse-1 .aiwk-status,#aiwk-ext4-root .aiwk-collapse-1 .aiwk-resize-handle{display:none;}
#aiwk-ext4-root .aiwk-collapse-2{width:170px !important;height:32px !important;min-width:170px;min-height:32px;}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-win-body,#aiwk-ext4-root .aiwk-collapse-2 .aiwk-status,#aiwk-ext4-root .aiwk-collapse-2 .aiwk-resize-handle,#aiwk-ext4-root .aiwk-collapse-2 .aiwk-menu,#aiwk-ext4-root .aiwk-collapse-2 .aiwk-title-comm-mini{display:none;}
#aiwk-ext4-root .aiwk-collapse-3{width:44px !important;height:44px !important;min-width:44px !important;min-height:44px !important;border-radius:999px !important;overflow:visible !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-title,#aiwk-ext4-root .aiwk-collapse-3 .aiwk-role,#aiwk-ext4-root .aiwk-collapse-3 .aiwk-version-badge,#aiwk-ext4-root .aiwk-collapse-3 .aiwk-title-comm-mini,#aiwk-ext4-root .aiwk-collapse-3 .aiwk-menu,#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-body,#aiwk-ext4-root .aiwk-collapse-3 .aiwk-status,#aiwk-ext4-root .aiwk-collapse-3 .aiwk-resize-handle,#aiwk-ext4-root .aiwk-collapse-3 .aiwk-bottom-drag-handle{display:none !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-header{height:44px;min-height:44px;padding:0;justify-content:center;border-radius:999px;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-drag-handle{position:absolute;inset:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:0;border-radius:999px;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-drag-handle::after{content:"↕";font-size:14px;position:absolute;left:3px;bottom:1px;opacity:.86;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-client-id-badge{min-width:30px;max-width:38px;height:30px;padding:0;font-size:10px;pointer-events:none;}


/* AIWK EXT4 v031: folded window recovery menu and 1/2/3 whole collapse controls */
#aiwk-ext4-root .aiwk-fold-menu-wrap{position:relative;display:inline-flex;align-items:center;z-index:3;}
#aiwk-ext4-root .aiwk-fold-menu-btn{min-width:24px;height:22px;border:1px solid currentColor;border-radius:999px;background:rgba(15,23,42,.52);color:inherit;font-size:11px;font-weight:900;line-height:1;cursor:pointer;user-select:text;}
#aiwk-ext4-root .aiwk-fold-menu{display:none;position:absolute;right:0;top:25px;min-width:86px;padding:5px;border:1px solid currentColor;border-radius:10px;background:rgba(2,6,23,.96);box-shadow:0 8px 22px rgba(0,0,0,.38);z-index:2147483647;}
#aiwk-ext4-root .aiwk-fold-menu-wrap.open .aiwk-fold-menu,#aiwk-ext4-root .aiwk-fold-menu-wrap:hover .aiwk-fold-menu{display:flex;flex-direction:column;gap:4px;}
#aiwk-ext4-root .aiwk-fold-menu-item{border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(30,41,59,.9);color:inherit;font-size:11px;font-weight:800;padding:4px 6px;cursor:pointer;text-align:left;white-space:nowrap;}
#aiwk-ext4-root .aiwk-fold-menu-item:hover{outline:1px solid currentColor;background:rgba(59,130,246,.28);}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-fold-menu-wrap{display:inline-flex !important;}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-fold-menu-btn{background:rgba(234,179,8,.22);}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-fold-menu-wrap{display:none !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-header{cursor:move;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-client-id-badge{box-shadow:0 0 0 2px rgba(59,130,246,.22),0 8px 20px rgba(0,0,0,.28);}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-client-id-badge::after{content:"";}

/* AIWK EXT4 v033: stable folded menu, no resize handle while folded, no-wrap menu labels */
#aiwk-ext4-root .aiwk-nobr,
#aiwk-ext4-root button.aiwk-nobr,
#aiwk-ext4-root .aiwk-btn,
#aiwk-ext4-root .aiwk-fold-menu-item,
#aiwk-ext4-root .aiwk-win-menu-item{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;}
#aiwk-ext4-root .aiwk-collapse-1 .aiwk-resize-handle,
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-resize-handle,
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-resize-handle,
#aiwk-ext4-root .aiwk-collapse-1 .aiwk-bottom-drag-handle,
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-bottom-drag-handle{display:none !important;pointer-events:none !important;}
#aiwk-ext4-root .aiwk-win-menu-wrap{position:relative;display:inline-flex;align-items:center;z-index:10;flex:0 0 auto;}
#aiwk-ext4-root .aiwk-win-menu-btn{min-width:24px;height:22px;border:1px solid currentColor;border-radius:8px;background:rgba(15,23,42,.58);color:inherit;font-size:12px;font-weight:900;line-height:1;cursor:pointer;user-select:text;}
#aiwk-ext4-root .aiwk-win-menu-panel{display:none;position:absolute;left:0;top:22px;min-width:126px;padding:6px;border:1px solid currentColor;border-radius:12px;background:rgba(2,6,23,.97);box-shadow:0 10px 28px rgba(0,0,0,.42);z-index:2147483647;}
#aiwk-ext4-root .aiwk-win-menu-wrap::after,
#aiwk-ext4-root .aiwk-fold-menu-wrap::after{content:"";position:absolute;left:-8px;right:-8px;top:20px;height:12px;}
#aiwk-ext4-root .aiwk-win-menu-wrap.open .aiwk-win-menu-panel,
#aiwk-ext4-root .aiwk-win-menu-wrap:hover .aiwk-win-menu-panel{display:flex;flex-direction:column;gap:4px;}
#aiwk-ext4-root .aiwk-win-menu-item{border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(30,41,59,.92);color:inherit;font-size:11px;font-weight:800;padding:5px 8px;cursor:pointer;text-align:left;}
#aiwk-ext4-root .aiwk-win-menu-item:hover{outline:1px solid currentColor;background:rgba(59,130,246,.30);}
#aiwk-ext4-root .aiwk-win-menu-sep{height:1px;background:rgba(255,255,255,.22);margin:3px 1px;}
#aiwk-ext4-root .aiwk-fold-menu{top:22px;padding-top:7px;}
#aiwk-ext4-root .aiwk-fold-menu-wrap.open .aiwk-fold-menu,
#aiwk-ext4-root .aiwk-fold-menu-wrap:hover .aiwk-fold-menu{display:flex !important;flex-direction:column;gap:4px;}
#aiwk-ext4-root .aiwk-collapse-1 .aiwk-win-body,
#aiwk-ext4-root .aiwk-collapse-1 .aiwk-status{display:none !important;}
#aiwk-ext4-root .aiwk-collapse-2{overflow:visible !important;}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-win-header{overflow:visible !important;}
#aiwk-ext4-root .aiwk-collapse-2::before,
#aiwk-ext4-root .aiwk-collapse-2::after{content:"";position:absolute;top:50%;width:8px;height:8px;border-radius:999px;background:currentColor;opacity:.82;transform:translateY(-50%);box-shadow:0 0 0 3px rgba(59,130,246,.16);}
#aiwk-ext4-root .aiwk-collapse-2::before{left:-5px;}
#aiwk-ext4-root .aiwk-collapse-2::after{right:-5px;}
#aiwk-ext4-root .aiwk-collapse-3{overflow:visible !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-menu-wrap{display:none !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-client-id-badge{cursor:move;}


/* AIWK EXT4 v033: simplified header menu, folded no-wrap/overflow fix, no visible drag icon in 3단 */
#aiwk-ext4-root .aiwk-version-badge,
#aiwk-ext4-root .aiwk-fold-menu-wrap,
#aiwk-ext4-root .aiwk-fold-menu-btn,
#aiwk-ext4-root .aiwk-fold-menu{display:none !important;}
#aiwk-ext4-root .aiwk-nobr,
#aiwk-ext4-root button.aiwk-nobr,
#aiwk-ext4-root .aiwk-btn,
#aiwk-ext4-root .aiwk-win-menu-btn,
#aiwk-ext4-root .aiwk-win-menu-item,
#aiwk-ext4-root .aiwk-client-id-badge,
#aiwk-ext4-root .aiwk-role{white-space:nowrap !important;word-break:keep-all !important;overflow-wrap:normal !important;overflow:hidden;text-overflow:ellipsis;}
#aiwk-ext4-root .aiwk-win-menu-panel{min-width:142px;max-width:210px;overflow:hidden;}
#aiwk-ext4-root .aiwk-win-menu-item{max-width:100%;line-height:1.15;}
#aiwk-ext4-root .aiwk-collapse-1 .aiwk-win-menu-item,
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-win-menu-item{white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-drag-handle{font-size:0 !important;color:transparent !important;background:transparent !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-drag-handle::after{content:"" !important;display:none !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-header{cursor:move;}
#aiwk-ext4-root .aiwk-win[data-aiwk-skin="purple"]{box-shadow:0 0 0 1px rgba(168,85,247,.45),0 18px 40px rgba(88,28,135,.36);}
#aiwk-ext4-root .aiwk-win[data-aiwk-skin="light"]{filter:brightness(1.08);}
#aiwk-ext4-root .aiwk-win[data-aiwk-template="win-mini"] .aiwk-status{display:none;}


/* AIWK EXT4 v036: 2단 overflow hard fix, 3단 icon+order badge, package/palette planning UI */
#aiwk-ext4-root .aiwk-win-icon-badge,
#aiwk-ext4-root .aiwk-win-order-badge{display:none;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:clip;user-select:text;}
#aiwk-ext4-root .aiwk-collapse-2{width:178px !important;min-width:178px !important;overflow:visible !important;}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-win-header{width:100%;max-width:100%;overflow:hidden !important;display:flex;flex-wrap:nowrap;gap:3px;}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-title{display:block !important;flex:0 1 54px !important;min-width:0 !important;max-width:54px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:clip !important;line-height:1.05 !important;font-size:11px !important;}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-client-id-badge{flex:0 0 auto;min-width:28px;max-width:36px;padding-left:5px;padding-right:5px;}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-drag-handle{flex:0 0 18px;width:18px;min-width:18px;overflow:hidden;}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-win-menu-wrap{flex:0 0 24px;min-width:24px;overflow:visible !important;}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-win-menu-panel{overflow:hidden !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-client-id-badge{display:none !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-icon-badge{display:inline-flex !important;position:absolute;left:8px;top:7px;width:28px;height:24px;border-radius:999px;font-size:18px;line-height:1;background:rgba(15,23,42,.22);pointer-events:none;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-order-badge{display:inline-flex !important;position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border:1px solid currentColor;border-radius:999px;background:rgba(239,68,68,.90);color:#fff;font-size:10px;font-weight:900;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.35);pointer-events:none;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-header{position:relative;overflow:visible !important;}
#aiwk-ext4-root .aiwk-win-menu-item{white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}


/* AIWK EXT4 v036: window menu title editor and stricter folded menu clipping */
#aiwk-ext4-root .aiwk-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-title{max-width:42px !important;text-overflow:clip !important;}
#aiwk-ext4-root .aiwk-collapse-1 .aiwk-win-menu-btn,
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-win-menu-btn{white-space:nowrap !important;overflow:hidden !important;text-overflow:clip !important;}
#aiwk-ext4-root .aiwk-win-menu-item{white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;word-break:keep-all !important;}


/* AIWK EXT4 v037: rounded folded edge, restored 3단 menu, two-level hamburger menu */
#aiwk-ext4-root .aiwk-collapse-1,
#aiwk-ext4-root .aiwk-collapse-2{border-radius:16px !important;}
#aiwk-ext4-root .aiwk-collapse-1 .aiwk-win-header,
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-win-header{border-radius:16px !important;}
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-title{max-width:34px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:clip !important;}
#aiwk-ext4-root .aiwk-win-submenu-wrap{position:relative;display:block;max-width:100%;}
#aiwk-ext4-root .aiwk-win-menu-parent{position:relative;padding-right:20px !important;}
#aiwk-ext4-root .aiwk-win-menu-parent::after{content:"›";position:absolute;right:7px;top:50%;transform:translateY(-50%);font-weight:900;opacity:.9;}
#aiwk-ext4-root .aiwk-win-submenu-panel{display:none;position:absolute;left:calc(100% - 2px);top:0;min-width:138px;max-width:220px;padding:6px;border:1px solid currentColor;border-radius:12px;background:rgba(2,6,23,.98);box-shadow:0 10px 28px rgba(0,0,0,.42);z-index:2147483647;overflow:hidden;}
#aiwk-ext4-root .aiwk-win-submenu-wrap:hover .aiwk-win-submenu-panel,
#aiwk-ext4-root .aiwk-win-submenu-wrap.open .aiwk-win-submenu-panel{display:flex;flex-direction:column;gap:4px;}
#aiwk-ext4-root .aiwk-win-submenu-panel::before{content:"";position:absolute;left:-10px;top:0;width:12px;height:100%;}
#aiwk-ext4-root .aiwk-win-menu-panel,
#aiwk-ext4-root .aiwk-win-submenu-panel{white-space:nowrap !important;}
#aiwk-ext4-root .aiwk-win-menu-item{white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-menu-wrap{display:inline-flex !important;position:absolute;left:-7px;top:-7px;z-index:2147483647;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-menu-btn{min-width:18px !important;width:18px !important;height:18px !important;border-radius:999px !important;font-size:10px !important;padding:0 !important;opacity:.92;background:rgba(2,6,23,.92) !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-menu-panel{left:0 !important;top:18px !important;min-width:138px !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-icon-badge{left:9px !important;top:9px !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-header{border-radius:999px !important;}

/* AIWK EXT4 v038 · WSS tab/token 표시 */
.aiwk-comm-top-info{
  display:block;
  max-width:100%;
  padding:4px 8px;
  border-radius:10px;
  border:1px solid rgba(125,140,170,.35);
  background:rgba(20,30,50,.18);
  font-size:11px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


/* AIWK EXT4 v045 · communication pulse indicator for normal/folded/icon windows */
#aiwk-ext4-root .aiwk-win.aiwk-comm-pulse{animation:aiwkCommPulse .78s ease-out 1;outline:2px solid rgba(96,165,250,.95) !important;box-shadow:0 0 0 4px rgba(96,165,250,.22),0 18px 42px rgba(15,23,42,.38) !important;}
#aiwk-ext4-root .aiwk-win.aiwk-comm-pulse-wss{outline-color:rgba(34,197,94,.98) !important;box-shadow:0 0 0 4px rgba(34,197,94,.22),0 18px 42px rgba(15,23,42,.38) !important;}
#aiwk-ext4-root .aiwk-win.aiwk-comm-pulse-bus{outline-color:rgba(59,130,246,.98) !important;box-shadow:0 0 0 4px rgba(59,130,246,.22),0 18px 42px rgba(15,23,42,.38) !important;}
#aiwk-ext4-root .aiwk-win.aiwk-comm-pulse-nr{outline-color:rgba(245,158,11,.98) !important;box-shadow:0 0 0 4px rgba(245,158,11,.26),0 18px 42px rgba(15,23,42,.38) !important;}
@keyframes aiwkCommPulse{0%{filter:brightness(1.45);transform:scale(1.018);}55%{filter:brightness(1.12);transform:scale(1.006);}100%{filter:brightness(1);transform:scale(1);}}
#aiwk-ext4-root .aiwk-collapse-3.aiwk-comm-pulse{animation:aiwkCommPulseIcon .78s ease-out 1;}
@keyframes aiwkCommPulseIcon{0%{filter:brightness(1.6);transform:scale(1.16);}100%{filter:brightness(1);transform:scale(1);}}

/* AIWK v079: ☰ 공통 메뉴 고정 규칙. 헤더 빠른 버튼 대신 모든 창 기능은 메뉴 안에 둔다. */
#aiwk-ext4-root .aiwk-win{overflow:visible !important;}
#aiwk-ext4-root .aiwk-win-header{overflow:visible !important;}
#aiwk-ext4-root .aiwk-win-menu-wrap{z-index:2147483646 !important;overflow:visible !important;}
#aiwk-ext4-root .aiwk-win-menu-wrap.open .aiwk-win-menu-panel,
#aiwk-ext4-root .aiwk-win-menu-wrap:hover .aiwk-win-menu-panel{display:flex !important;z-index:2147483647 !important;}
#aiwk-ext4-root .aiwk-win-menu-panel{z-index:2147483647 !important;overflow:visible !important;max-height:70vh;overflow-y:auto !important;}
#aiwk-ext4-root .aiwk-win-submenu-wrap{position:relative;overflow:visible !important;}
#aiwk-ext4-root .aiwk-win-submenu-panel{z-index:2147483647 !important;}
#aiwk-ext4-root .aiwk-menu{display:none !important;}


/* AIWK v102-stage4.9-ext4-store-resize-noise-fix: ☰ 메뉴 단일 패널, 스크롤/잘림/이중 submenu 방지 */
#aiwk-ext4-root .aiwk-win{overflow:visible !important;}
#aiwk-ext4-root .aiwk-win-header{overflow:visible !important;position:relative;z-index:2147483600 !important;}
#aiwk-ext4-root .aiwk-win-menu-wrap{position:relative !important;overflow:visible !important;z-index:2147483646 !important;flex:0 0 auto !important;}
#aiwk-ext4-root .aiwk-win-menu-btn{min-width:28px !important;width:34px !important;height:24px !important;border-radius:999px !important;padding:0 !important;line-height:1 !important;}
#aiwk-ext4-root .aiwk-win-menu-panel{display:none;position:absolute !important;left:0 !important;top:30px !important;width:184px !important;min-width:184px !important;max-width:240px !important;max-height:none !important;overflow:visible !important;overflow-x:visible !important;overflow-y:visible !important;padding:8px !important;border-radius:12px !important;box-shadow:0 16px 34px rgba(0,0,0,.48) !important;z-index:2147483647 !important;}
#aiwk-ext4-root .aiwk-win-menu-wrap.open .aiwk-win-menu-panel,#aiwk-ext4-root .aiwk-win-menu-wrap:hover .aiwk-win-menu-panel{display:flex !important;flex-direction:column !important;gap:5px !important;}
#aiwk-ext4-root .aiwk-win-menu-item{display:block !important;width:100% !important;min-height:28px !important;padding:6px 9px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;text-align:left !important;border-radius:8px !important;line-height:1.2 !important;}
#aiwk-ext4-root .aiwk-win-menu-sep{height:1px !important;margin:4px 2px !important;background:rgba(148,163,184,.35) !important;flex:0 0 auto !important;}
#aiwk-ext4-root .aiwk-win-submenu-wrap,#aiwk-ext4-root .aiwk-win-submenu-panel{display:none !important;}
#aiwk-ext4-root .aiwk-menu{display:none !important;}
#aiwk-ext4-root .aiwk-win-menu-panel::-webkit-scrollbar{display:none !important;}

/* AIWK v102-stage4.9-ext4-store-resize-noise-fix: 공통/창별/모듈별 메뉴 체계 */
#aiwk-ext4-root .aiwk-win-menu-panel{width:206px !important;min-width:206px !important;max-width:260px !important;gap:3px !important;padding:8px !important;}
#aiwk-ext4-root .aiwk-win-menu-label{display:block;padding:3px 8px 2px;font-size:11px;font-weight:800;letter-spacing:.02em;opacity:.78;white-space:nowrap;user-select:text;-webkit-user-select:text;}
#aiwk-ext4-root .aiwk-win-menu-sep{height:1px !important;margin:5px 3px !important;opacity:.9;}
#aiwk-ext4-root .aiwk-win-menu-item{font-size:12px !important;min-height:27px !important;padding:6px 9px !important;}
#aiwk-ext4-root .aiwk-menu-todo{opacity:.72;font-style:italic;}
#aiwk-ext4-root .aiwk-menu-todo::after{content:" · 준비";opacity:.75;font-size:11px;}

/* AIWK v102-stage4.9-ext4-store-resize-noise-fix
   공통 ☰ 메뉴: 짧은 항목은 가로 버튼 묶음으로 표시하고, 창 투명도 1~5단계를 복구한다. */
#aiwk-ext4-root .aiwk-win-menu-inline{display:flex;align-items:center;gap:4px;flex-wrap:wrap;max-width:240px;padding:2px 0;}
#aiwk-ext4-root .aiwk-win-menu-inline-label{font-size:10px;font-weight:900;opacity:.78;min-width:42px;padding:2px 3px;user-select:text;}
#aiwk-ext4-root .aiwk-win-menu-inline .aiwk-win-menu-item{min-width:26px !important;width:auto !important;padding:4px 7px !important;text-align:center !important;border-radius:999px !important;font-size:11px !important;line-height:1 !important;flex:0 0 auto;}
#aiwk-ext4-root .aiwk-win-menu-panel{min-width:178px !important;max-width:min(280px, calc(100vw - 24px)) !important;max-height:min(72vh, 620px) !important;overflow:auto !important;}
#aiwk-ext4-root .aiwk-win[data-aiwk-alpha-level="2"]{box-shadow:0 0 0 1px rgba(96,165,250,.28),0 14px 36px rgba(15,23,42,.22) !important;}
#aiwk-ext4-root .aiwk-win[data-aiwk-alpha-level="3"]{box-shadow:0 0 0 1px rgba(96,165,250,.24),0 12px 32px rgba(15,23,42,.18) !important;}
#aiwk-ext4-root .aiwk-win[data-aiwk-alpha-level="4"],#aiwk-ext4-root .aiwk-win[data-aiwk-alpha-level="5"]{backdrop-filter:blur(2px);}


/* AIWK v102-stage4.9-ext4-store-resize-noise-fix
   접힘 1/2/3단에서도 ☰ 메뉴를 열 수 있게 하고, 짧은 단계 메뉴는 가로 버튼으로 유지한다.
   핵심: 메뉴는 창/헤더/드래그핸들보다 항상 위에 있어야 하며, 3단 아이콘에서도 숨기지 않는다. */
#aiwk-ext4-root .aiwk-win.aiwk-menu-open,
#aiwk-ext4-root .aiwk-win:has(.aiwk-win-menu-wrap.open){z-index:2147483646 !important;overflow:visible !important;}
#aiwk-ext4-root .aiwk-collapse-1,
#aiwk-ext4-root .aiwk-collapse-2,
#aiwk-ext4-root .aiwk-collapse-3{overflow:visible !important;}
#aiwk-ext4-root .aiwk-collapse-1 .aiwk-win-header,
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-win-header,
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-header{overflow:visible !important;position:relative !important;z-index:2147483600 !important;}
#aiwk-ext4-root .aiwk-collapse-1 .aiwk-win-menu-wrap,
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-win-menu-wrap,
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-menu-wrap{display:inline-flex !important;visibility:visible !important;opacity:1 !important;pointer-events:auto !important;overflow:visible !important;z-index:2147483647 !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-menu-wrap{position:absolute !important;right:-9px !important;top:-9px !important;width:24px !important;height:24px !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-menu-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:24px !important;min-width:24px !important;height:24px !important;min-height:24px !important;border-radius:999px !important;font-size:12px !important;line-height:1 !important;padding:0 !important;box-shadow:0 3px 12px rgba(0,0,0,.32) !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-menu-panel{left:auto !important;right:0 !important;top:27px !important;}
#aiwk-ext4-root .aiwk-collapse-1 .aiwk-win-menu-panel,
#aiwk-ext4-root .aiwk-collapse-2 .aiwk-win-menu-panel,
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-win-menu-panel{z-index:2147483647 !important;max-height:min(78vh, 680px) !important;overflow:auto !important;overscroll-behavior:contain !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-drag-handle{z-index:1 !important;pointer-events:auto !important;}
#aiwk-ext4-root .aiwk-collapse-3 .aiwk-client-id-badge{z-index:2 !important;}
#aiwk-ext4-root .aiwk-win-menu-inline{display:flex !important;align-items:center !important;gap:4px !important;flex-wrap:nowrap !important;max-width:100% !important;}
#aiwk-ext4-root .aiwk-win-menu-inline-label{flex:0 0 42px !important;min-width:42px !important;max-width:48px !important;}
#aiwk-ext4-root .aiwk-win-menu-inline .aiwk-win-menu-item{flex:0 0 auto !important;min-width:24px !important;width:auto !important;min-height:24px !important;padding:4px 7px !important;}
#aiwk-ext4-root .aiwk-win-menu-panel{width:214px !important;min-width:214px !important;max-width:min(300px, calc(100vw - 24px)) !important;}

/* AIWK v085: compact skin buttons and cyan skin support */
#aiwk-ext4-root[data-aiwk-chart-skin="cyan"] .aiwk-win,
html[data-aiwk-chart-skin="cyan"] #aiwk-ext4-root .aiwk-win{
  background:#073b4c !important;
  color:#ecfeff !important;
  border-color:rgba(103,232,249,.34) !important;
  box-shadow:0 8px 18px rgba(2,44,54,.36) !important;
}
#aiwk-ext4-root[data-aiwk-chart-skin="cyan"] .aiwk-win-header,
html[data-aiwk-chart-skin="cyan"] #aiwk-ext4-root .aiwk-win-header{
  background:linear-gradient(135deg,#042f35,#075985) !important;
  color:#ecfeff !important;
  border-bottom:1px solid rgba(103,232,249,.34) !important;
}
#aiwk-ext4-root[data-aiwk-chart-skin="cyan"] .aiwk-win-menu-panel,
html[data-aiwk-chart-skin="cyan"] #aiwk-ext4-root .aiwk-win-menu-panel{
  background:#073b4c !important;
  color:#ecfeff !important;
  border-color:rgba(103,232,249,.34) !important;
}
