:root{--blue: #007aff;--blue-hover: #0056b3;--text: #1d1d1f;--text-muted: #86868b;--danger: #ff3b30;--success: #34c759;--radius: 20px;--radius-sm: 12px;--glass-bg: rgba(255, 255, 255, .25);--glass-border: rgba(255, 255, 255, .4);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .6);--glass-shadow: 0 12px 40px rgba(31, 38, 135, .1);--glass-shadow-sm: 0 4px 16px rgba(31, 38, 135, .05);--select-arrow: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1d1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")}*{box-sizing:border-box}body{margin:0;background-color:#f0f2f5;background-image:radial-gradient(at 0% 0%,rgba(100,150,255,.4) 0px,transparent 60%),radial-gradient(at 100% 0%,rgba(255,120,150,.3) 0px,transparent 60%),radial-gradient(at 0% 100%,rgba(100,255,200,.3) 0px,transparent 60%),radial-gradient(at 100% 100%,rgba(255,200,100,.3) 0px,transparent 60%);background-attachment:fixed;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent;font-size:15px}h1,h2,h3,p{margin:0}.app-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.desktop-only,.desktop-only-flex{display:none}@media(min-width:769px){.app-layout{flex-direction:row;padding:24px;gap:24px}.mobile-nav{display:none!important}.sidebar,.main-content{background:var(--glass-bg);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),var(--glass-highlight);border-radius:var(--radius)}.sidebar{flex:none;width:28vw;max-width:320px;min-width:280px;transition:all .4s cubic-bezier(.175,.885,.32,1);transform-origin:left center}.sidebar.collapsed{width:0;min-width:0;margin-right:-24px;opacity:0;border:none;transform:scaleX(.9);pointer-events:none}.desktop-only{display:block}.desktop-only-flex{display:flex}}.mobile-nav{min-height:52px;margin:12px 16px 0;background:#ffffff70;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid rgba(255,255,255,.62);border-radius:18px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;flex-shrink:0;font-weight:600;font-size:18px;z-index:10;box-shadow:var(--glass-shadow-sm),inset 0 1px #ffffffd1}.nav-btn{background:none;border:none;color:var(--blue);font-size:16px;padding:8px 0;cursor:pointer;font-weight:500;transition:opacity .2s}.nav-btn:hover{opacity:.7}.sidebar{display:flex;flex-direction:column;flex:1;overflow:hidden}@media(min-width:769px){.sidebar{flex:0 0 min(28vw,320px);min-width:280px}.sidebar.collapsed{flex-basis:0;width:0;min-width:0;margin-right:-24px}}@media(max-width:768px){.sidebar{background:transparent}}.sidebar-header{padding:24px 20px 16px;display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{font-size:26px;font-weight:700;letter-spacing:-.5px}.skill-list{flex:1;overflow-y:auto;padding:0 20px 24px;display:flex;flex-direction:column;gap:12px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#0003}.skill-card{padding:18px;border-radius:var(--radius-sm);background:#fff6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6);cursor:pointer;transition:all .3s cubic-bezier(.2,.8,.2,1);box-shadow:var(--glass-shadow-sm)}.skill-card:hover{background:#ffffffb3;transform:translateY(-2px);box-shadow:0 6px 20px #1f268714}.skill-card:active{transform:scale(.98)}.skill-card.active{background:#ffffffe6;border:1px solid var(--blue);box-shadow:0 4px 15px #007aff26}.skill-card-title{font-weight:600;font-size:16px;margin-bottom:8px;word-break:break-word}.skill-card-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.main-content{flex:1;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:32px}.area-section{display:flex;flex-direction:column;gap:16px}.area-header{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;opacity:.8}@media(max-width:768px){.hidden-on-mobile{display:none!important}.main-content{background:transparent;padding-top:18px}}.card{background:#fff9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius);padding:24px;box-shadow:0 8px 32px #1f26870d,inset 0 1px #fffc}.card-title{font-size:19px;font-weight:600;margin-bottom:20px;letter-spacing:-.3px}.detail-header{margin-bottom:8px}.detail-header .title{font-size:32px;font-weight:800;margin-bottom:12px;word-break:break-word;line-height:1.15;letter-spacing:-1px}.detail-header .meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px}.badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:12px;font-size:12px;font-weight:700;text-transform:uppercase;background:#0000000d;color:var(--text-muted);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.4)}.badge.promoted{background:#34c75926;color:#248a3d;border-color:#34c75933}input,select,textarea{width:100%;padding:16px;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-sm);background:#fff6;font-size:16px;color:var(--text);box-sizing:border-box;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background-color .2s,border-color .2s,box-shadow .2s;box-shadow:inset 0 2px 4px #0000000d}input:focus,select:focus,textarea:focus{outline:none;background-color:#ffffffe6;border-color:var(--blue);box-shadow:0 0 0 3px #007aff33}textarea{resize:vertical}select{background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 16px center;background-size:16px}.btn-primary,.btn-secondary{padding:16px 24px;font-size:16px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-weight:600;text-align:center;transition:all .2s}.btn-primary{background:linear-gradient(135deg,var(--blue),#0056b3);color:#fff;box-shadow:0 4px 14px #007aff4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #007aff66}.btn-primary:active,.btn-secondary:active{transform:scale(.98)}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.7;transform:none}.btn-secondary{background:#fff9;color:var(--text);border:1px solid rgba(255,255,255,.6);box-shadow:var(--glass-shadow-sm),inset 0 1px #fffc}.btn-secondary:hover{background:#ffffffe6}.btn-full{width:100%;display:block}.btn-secondary.polish-button:disabled{background:linear-gradient(180deg,#ffffff70,#eef2f747);border-color:#ffffff8c;box-shadow:inset 0 1px #ffffffc7,0 3px 10px #6373810a;color:#6c77849e;opacity:1}.error-banner,.job-banner{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:var(--radius-sm);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);box-shadow:var(--glass-shadow-sm),inset 0 1px #ffffffbf}.error-banner{background:#ffffff9e;border:1px solid rgba(255,59,48,.24);color:#9f1d16}.error-banner svg{flex:none;color:var(--danger)}.job-banner{background:#ffffff94;border:1px solid rgba(0,122,255,.24)}.job-banner.failed{border-color:#ff3b303d}.job-dot{flex:none;width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px #007aff1f,0 0 18px #007aff59}.job-banner.failed .job-dot{background:var(--danger);box-shadow:0 0 0 5px #ff3b301f,0 0 18px #ff3b3059}.job-copy{min-width:0;text-align:left}.job-title{color:var(--text);font-weight:700;line-height:1.25}.job-message{color:var(--text-muted);font-size:13px;line-height:1.45;margin-top:3px;overflow-wrap:anywhere}.job-banner.failed .job-message{color:#9f1d16}.publish-section{text-align:center}.publish-button{background:linear-gradient(135deg,#34c759,#28a745);box-shadow:0 4px 14px #34c7594d}.publish-button:hover{box-shadow:0 6px 20px #34c75966}@keyframes pulse-ring{0%{box-shadow:0 0 #ff3b3066}70%{box-shadow:0 0 0 12px #ff3b3000}to{box-shadow:0 0 #ff3b3000}}.asr-actions{display:flex;gap:12px;margin-bottom:20px}.btn-upload-asr,.btn-record{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:30px;border:1px solid rgba(255,255,255,.6);background:#ffffff80;color:var(--text);font-weight:600;cursor:pointer;transition:all .3s;font-size:15px;box-shadow:var(--glass-shadow-sm),inset 0 1px #fffc}.btn-upload-asr:hover,.btn-record:hover{background:#ffffffe6}.btn-record.recording{background:var(--danger);color:#fff;border-color:var(--danger);animation:pulse-ring 1.5s infinite;box-shadow:none}.confidence-row{position:relative;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.72);background:#ffffff7a;box-shadow:var(--glass-shadow-sm),inset 0 1px #ffffffd1}.confidence-label{color:var(--text-muted);font-size:13px;font-weight:700;left:14px;line-height:1;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap;z-index:1}.confidence-select{background-color:transparent;background-image:var(--select-arrow);background-position:right 44px center;background-repeat:no-repeat;background-size:16px;border:none;border-radius:var(--radius-sm);box-shadow:none;cursor:pointer;height:54px;margin:0;padding:0 44px 0 118px;font-weight:700}.confidence-select:focus{background-color:#ffffff47}.material-actions{display:grid;grid-template-columns:minmax(120px,.42fr) minmax(140px,.58fr);gap:12px}.polish-control{display:flex;flex-direction:column;min-width:0;position:relative}.polish-control:focus{outline:none}.polish-button{width:100%}.polish-hint{background:#ffffffa3;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(255,255,255,.72);border-radius:999px;box-shadow:var(--glass-shadow-sm),inset 0 1px #ffffffd1;color:#65718094;display:inline-flex;font-size:11px;font-weight:600;left:50%;line-height:1.2;opacity:0;padding:5px 9px;pointer-events:none;position:absolute;text-align:center;top:-8px;transform:translate(-50%,-100%);transition:opacity .16s ease,transform .16s ease;white-space:nowrap;width:max-content;z-index:2}.polish-control.disabled:hover .polish-hint,.polish-control.disabled:focus .polish-hint,.polish-control.disabled:focus-within .polish-hint{opacity:1;transform:translate(-50%,calc(-100% - 2px))}@media(max-width:520px){.material-actions{grid-template-columns:1fr}}.mt-2{margin-top:12px}.mt-3{margin-top:20px}.mb-2{margin-bottom:12px}.mb-3{margin-bottom:24px}.text-muted{color:var(--text-muted)}.text-sm{font-size:13px}.text-center{text-align:center}.material-item{margin-bottom:12px}.material-item:last-child{margin-bottom:0}.material-preview-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;cursor:pointer}.material-item .m-type{font-weight:600;text-transform:capitalize}.material-item .m-id{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;color:var(--text-muted)}.code-block{background:#1c1c1ed9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#f2f2f7;padding:20px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.2);overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;margin:16px 0 0;max-height:400px;line-height:1.5;box-shadow:inset 0 2px 10px #0003;white-space:pre-wrap;word-break:break-word}.draft-block{background:#ffffff80;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.65);border-radius:var(--radius-sm);box-shadow:inset 0 1px #ffffffd9,0 4px 14px #1f26870a;color:var(--text);font-family:inherit;font-size:14px;line-height:1.65;margin:14px 0 0;max-height:420px;overflow:auto;padding:18px;white-space:pre-wrap;word-break:break-word}.agent-output{background:#ffffff85;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(255,255,255,.68);border-radius:var(--radius-sm);box-shadow:inset 0 1px #ffffffd9,0 6px 18px #1f26870f;overflow:hidden}.agent-output-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.58);color:var(--text-muted);font-size:12px;font-weight:700}.agent-output pre{color:var(--text);font-family:inherit;font-size:14px;line-height:1.65;margin:0;max-height:360px;overflow:auto;padding:16px;white-space:pre-wrap;word-break:break-word}details{background:#fff6;padding:14px 18px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.6);box-shadow:inset 0 1px #fffc,0 2px 8px #00000005}details summary{font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-content{background:#ffffffd9;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid var(--glass-border);box-shadow:0 20px 40px #00000026;border-radius:var(--radius);width:90%;max-width:500px;padding:24px;transform:translateY(20px);transition:transform .3s}.modal-overlay.open .modal-content{transform:translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-muted)}
