:root{--pp-font-family:"Avenir Next", "Nunito", "M PLUS Rounded 1c", "Hiragino Sans", "Yu Gothic UI", sans-serif;--pp-font-family-mono:"Monaco", "Consolas", "Courier New", monospace;--pp-font-11:11px;--pp-font-12:12px;--pp-font-13:13px;--pp-font-14:14px;--pp-font-15:15px;--pp-font-16:16px;--pp-font-18:18px;--pp-font-20:20px;--pp-font-22:22px;--pp-font-24:24px;--pp-font-32:32px;--pp-font-44:44px;--pp-line-tight:1.2;--pp-line-base:1.5;--pp-line-loose:1.7;--pp-space-1:4px;--pp-space-2:8px;--pp-space-3:12px;--pp-space-4:16px;--pp-space-5:24px;--pp-space-6:32px;--pp-space-7:40px;--pp-space-8:48px;--pp-pad-chip:var(--pp-space-2) var(--pp-space-3);--pp-pad-button:var(--pp-space-3) var(--pp-space-4);--pp-pad-card:var(--pp-space-5);--pp-pad-panel:var(--pp-space-6);--pp-control-height:44px;--pp-icon-button-size:40px;--pp-radius-sm:10px;--pp-radius-md:16px;--pp-radius-lg:24px;--pp-radius-pill:999px;--pp-color-bg:#f7f1e8;--pp-color-panel:#fbf5ed;--pp-color-surface:#fffdf8;--pp-color-surface-soft:#fff7ee;--pp-color-border:#d9cdbf;--pp-color-border-strong:#bfae9c;--pp-color-text:#241a14;--pp-color-text-muted:#5f5146;--pp-color-text-soft:#837567;--pp-color-accent:#ff8a5b;--pp-color-accent-strong:#c95e2a;--pp-color-mint:#2b8a76;--pp-color-blue:#2457b8;--pp-color-warning:#b36a1d;--pp-color-danger:#b64736;--pp-color-success:#2f7f5f;--pp-workspace-canvas:#efe6da;--pp-workspace-surface:#f8f1e7;--pp-workspace-surface-strong:#fffdf8;--pp-workspace-surface-soft:#f3eadf;--pp-workspace-toolbar:#ede1d2;--pp-workspace-border:#d9cdbf;--pp-workspace-border-strong:#bfae9c;--pp-workspace-text:#241a14;--pp-workspace-text-muted:#5f5146;--pp-workspace-text-soft:#837567;--pp-workspace-icon:#6f5e51;--pp-workspace-hover:#ff8a5b1f;--pp-workspace-hover-strong:#ff8a5b33;--pp-workspace-active:#2457b81f;--pp-workspace-active-strong:#2457b833;--pp-workspace-danger-soft:#b647361f;--pp-workspace-overlay:#f8f1e7f0;--pp-workspace-shadow:0 18px 40px #241a141f;--pp-shadow-sm:0 6px 18px #241a140f;--pp-shadow-md:0 16px 36px #241a141a;--pp-shadow-lg:0 24px 48px #241a1424;--color-primary:#007acc;--color-primary-hover:#005a9e;--color-primary-active:#004578;--color-text-primary:var(--pp-color-text);--color-text-secondary:var(--pp-color-text-muted);--color-text-tertiary:var(--pp-color-text-soft);--color-text-error:var(--pp-color-danger);--color-text-success:var(--pp-color-success);--color-text-warning:var(--pp-color-warning);--color-bg-primary:var(--pp-workspace-canvas);--color-bg-secondary:var(--pp-workspace-surface);--color-bg-tertiary:var(--pp-workspace-toolbar);--color-bg-hover:var(--pp-workspace-hover);--color-bg-active:#2457b81f;--color-bubble-user:#ff8a5b1a;--color-bubble-assistant:transparent;--color-border-default:var(--pp-workspace-border);--color-border-active:var(--pp-color-blue);--color-border-hover:#5f51462e;--font-family-primary:var(--pp-font-family);--font-family-monospace:var(--pp-font-family-mono);--font-size-xs:var(--pp-font-12);--font-size-sm:var(--pp-font-12);--font-size-base:var(--pp-font-14);--font-size-md:var(--pp-font-16);--font-size-lg:var(--pp-font-16);--font-size-xl:var(--pp-font-18);--font-size-2xl:var(--pp-font-24);--font-size-3xl:var(--pp-font-32);--line-height-tight:var(--pp-line-tight);--line-height-base:var(--pp-line-base);--line-height-relaxed:var(--pp-line-loose);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--spacing-xs:var(--pp-space-1);--spacing-sm:var(--pp-space-2);--spacing-md:var(--pp-space-3);--spacing-lg:var(--pp-space-4);--spacing-xl:var(--pp-space-5);--spacing-2xl:var(--pp-space-6);--spacing-3xl:var(--pp-space-7);--radius-sm:2px;--radius-base:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #0003;--shadow-base:0 2px 4px #0000004d;--shadow-md:0 4px 8px #0000004d;--shadow-lg:0 8px 16px #0000004d;--shadow-xl:0 12px 24px #0006;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--z-base:1;--z-dropdown:1000;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:10000;--z-popover:3000;--z-tooltip:2000;--z-notification:800;--z-fullscreen:900;--z-max:999;--vscode-editor-background:var(--bg-primary,var(--pp-workspace-canvas));--vscode-editor-foreground:var(--text-primary,var(--pp-workspace-text));--vscode-editor-selectionBackground:var(--pp-workspace-active,#2457b81f);--vscode-editor-lineHighlightBackground:var(--bg-hover,var(--pp-workspace-hover));--vscode-titleBar-activeBackground:var(--bg-tertiary,var(--pp-workspace-toolbar));--vscode-titleBar-activeForeground:var(--text-primary,var(--pp-workspace-text));--vscode-titleBar-inactiveBackground:var(--bg-secondary,var(--pp-workspace-surface));--vscode-titleBar-inactiveForeground:var(--text-secondary,var(--pp-workspace-text-muted));--vscode-sideBar-background:var(--bg-secondary,var(--pp-workspace-surface));--vscode-sideBar-foreground:var(--text-primary,var(--pp-workspace-text));--vscode-sideBar-border:var(--border-default,var(--pp-workspace-border));--vscode-sideBarSectionHeader-background:var(--bg-tertiary,var(--pp-workspace-toolbar));--vscode-sideBarSectionHeader-border:var(--border-default,var(--pp-workspace-border));--vscode-panel-background:var(--bg-secondary,var(--pp-workspace-surface));--vscode-panel-border:var(--border-default,var(--pp-workspace-border));--vscode-panelTitle-inactiveForeground:var(--text-secondary,var(--pp-workspace-text-muted));--vscode-panelTitle-activeForeground:var(--text-primary,var(--pp-workspace-text));--vscode-panelTitle-activeBorder:var(--pp-color-blue,#2457b8);--vscode-activityBar-background:var(--bg-tertiary,var(--pp-workspace-toolbar));--vscode-activityBar-foreground:var(--ide-icon-default,var(--pp-workspace-icon));--vscode-activityBar-border:var(--border-dark,var(--pp-workspace-border-strong));--vscode-button-background:var(--pp-color-accent,#ff8a5b);--vscode-button-foreground:#fff;--vscode-button-hoverBackground:var(--pp-color-accent-strong,#c95e2a);--vscode-button-border:transparent;--vscode-button-secondaryBackground:var(--bg-elevated,var(--pp-workspace-surface-strong));--vscode-button-secondaryForeground:var(--text-primary,var(--pp-workspace-text));--vscode-button-secondaryHoverBackground:var(--bg-hover,var(--pp-workspace-hover));--vscode-extensionButton-prominentBackground:var(--pp-color-accent,#ff8a5b);--vscode-extensionButton-prominentForeground:#fff;--vscode-extensionButton-prominentHoverBackground:var(--pp-color-accent-strong,#c95e2a);--vscode-input-background:var(--bg-elevated,var(--pp-workspace-surface-strong));--vscode-input-foreground:var(--text-primary,var(--pp-workspace-text));--vscode-input-border:var(--border-default,var(--pp-workspace-border));--vscode-input-placeholderForeground:var(--text-tertiary,var(--pp-workspace-text-soft));--vscode-inputValidation-errorBackground:#b6473614;--vscode-inputValidation-errorForeground:var(--pp-color-danger,#b64736);--vscode-inputValidation-errorBorder:var(--pp-color-danger,#b64736);--vscode-foreground:var(--text-primary,var(--pp-workspace-text));--vscode-descriptionForeground:var(--text-secondary,var(--pp-workspace-text-muted));--vscode-errorForeground:var(--pp-color-danger,#b64736);--vscode-badge-background:var(--pp-color-accent,#ff8a5b);--vscode-badge-foreground:#fff;--vscode-textBlockQuote-background:var(--bg-quaternary,var(--pp-workspace-surface-soft));--vscode-textBlockQuote-border:var(--border-default,var(--pp-workspace-border));--vscode-textCodeBlock-background:var(--bg-quaternary,var(--pp-workspace-surface-soft));--vscode-focusBorder:var(--border-focus,var(--pp-color-blue));--vscode-gitDecoration-addedResourceForeground:var(--pp-color-success,#2f7f5f);--vscode-gitDecoration-deletedResourceForeground:var(--pp-color-danger,#b64736);--vscode-gitDecoration-modifiedResourceForeground:var(--pp-color-warning,#b36a1d);--vscode-toolbar-hoverBackground:var(--bg-hover,var(--pp-workspace-hover));--vscode-toolbar-activeBackground:var(--pp-workspace-active,#2457b81f);--vscode-keybindingLabel-background:var(--bg-elevated,var(--pp-workspace-surface-strong));--vscode-keybindingLabel-foreground:var(--text-primary,var(--pp-workspace-text));--vscode-keybindingLabel-border:var(--border-default,var(--pp-workspace-border));--vscode-editor-font-family:var(--font-family-monospace,"Monaco", "Consolas", "Courier New", monospace);--vscode-icon-foreground:var(--ide-icon-default,var(--pp-workspace-icon));--vscode-tab-activeBackground:var(--bg-elevated,var(--pp-workspace-surface-strong));--vscode-tab-activeForeground:var(--text-primary,var(--pp-workspace-text));--vscode-statusBar-background:var(--pp-color-accent,#ff8a5b);--vscode-statusBar-foreground:#fff;--vscode-editorGroup-border:var(--border-default,var(--pp-workspace-border));--vscode-sash-hoverBorder:var(--border-focus,var(--pp-color-blue));--vscode-sash-activeBorder:#1d4690;--vscode-widget-border:var(--border-default,var(--pp-workspace-border));--vscode-editorWidget-border:var(--border-default,var(--pp-workspace-border));--vscode-notifications-background:var(--bg-elevated,var(--pp-workspace-surface-strong));--vscode-notifications-foreground:var(--text-primary,var(--pp-workspace-text));--vscode-notifications-border:var(--border-default,var(--pp-workspace-border));--vscode-scrollbarSlider-background:#5f51462e;--vscode-scrollbarSlider-hoverBackground:#5f514647;--vscode-scrollbarSlider-activeBackground:#5f51465c;--vscode-list-hoverBackground:var(--bg-hover,var(--pp-workspace-hover));--vscode-list-activeSelectionBackground:var(--pp-workspace-active,#2457b81f);--vscode-list-activeSelectionForeground:var(--text-primary,var(--pp-workspace-text));--ide-icon-default:var(--pp-workspace-icon);--ide-icon-secondary:var(--pp-workspace-text-muted);--ide-text-active:var(--pp-workspace-text);--ide-text-secondary:var(--pp-workspace-text-muted);--ide-hover-bg:var(--pp-workspace-hover);--primary-700:var(--color-primary-hover,#005a9e);--z-content:10;--z-header:100;--z-navigation:200;--z-sidebar:300;--z-floating-elements:400;--z-sticky-elements:500;--z-drawer:4000;--z-overlay:5000;--z-debug:10200;--z-absolute-top:10300}*,:before,:after{box-sizing:border-box}:root{--primary-50:#e8f0ff;--primary-100:#c4d9ff;--primary-200:#9cc0ff;--primary-300:#74a7ff;--primary-400:#5694ff;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-800:#1e40af;--primary-900:#1e3a8a;--secondary-50:#f5f3ff;--secondary-100:#ede9fe;--secondary-200:#ddd6fe;--secondary-300:#c4b5fd;--secondary-400:#a78bfa;--secondary-500:#8b5cf6;--secondary-600:#7c3aed;--secondary-700:#6d28d9;--secondary-800:#5b21b6;--secondary-900:#4c1d95;--accent-pink:#ec4899;--accent-orange:#f97316;--accent-teal:#14b8a6;--accent-indigo:#6366f1;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--bg-primary:var(--pp-workspace-canvas);--bg-secondary:var(--pp-workspace-surface);--bg-tertiary:var(--pp-workspace-toolbar);--bg-quaternary:var(--pp-workspace-surface-soft);--bg-elevated:var(--pp-workspace-surface-strong);--bg-hover:var(--pp-workspace-hover);--bg-overlay:var(--pp-workspace-overlay);--text-primary:var(--pp-workspace-text);--text-secondary:var(--pp-workspace-text-muted);--text-tertiary:var(--pp-workspace-text-soft);--text-inverse:#fff;--text-link:var(--pp-color-blue);--text-link-hover:#1d4690;--ide-icon-default:var(--pp-workspace-icon);--ide-icon-secondary:var(--pp-workspace-text-muted);--ide-icon-inactive:var(--pp-workspace-text-soft);--ide-icon-hover:var(--pp-color-accent-strong);--ide-text-active:var(--pp-workspace-text);--ide-text-primary:var(--pp-workspace-text);--ide-text-secondary:var(--pp-workspace-text-muted);--ide-text-tertiary:var(--pp-workspace-text-soft);--ide-text-disabled:var(--pp-workspace-text-soft);--ide-hover-bg:var(--pp-workspace-hover);--hover-bg:var(--pp-workspace-hover);--border-light:#5f514629;--border-default:var(--pp-workspace-border);--border-dark:var(--pp-workspace-border-strong);--border-focus:var(--pp-color-blue);--border-color:var(--pp-workspace-border);--font-xs:calc(var(--pp-font-12) - 1px);--font-sm:var(--pp-font-14);--font-base:var(--pp-font-16);--font-lg:var(--pp-font-18);--font-xl:var(--pp-font-20);--font-2xl:var(--pp-font-24);--font-3xl:var(--pp-font-32);--font-4xl:40px;--font-5xl:52px;--leading-tight:var(--pp-line-tight);--leading-normal:var(--pp-line-base);--leading-relaxed:var(--pp-line-loose);--space-xs:var(--pp-space-1);--space-sm:var(--pp-space-2);--space-md:var(--pp-space-4);--space-lg:var(--pp-space-5);--space-xl:var(--pp-space-6);--space-2xl:var(--pp-space-7);--space-3xl:var(--pp-space-8);--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000f;--transition-fast:.15s ease-in-out;--transition-base:.25s ease-in-out;--transition-slow:.35s ease-in-out;--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--pp-font-family);font-size:var(--font-base);line-height:var(--leading-normal);color:var(--pp-color-text);background-color:var(--pp-workspace-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}button,input,textarea,select{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-md) 0;font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:var(--font-4xl);font-weight:var(--font-bold)}h2{font-size:var(--font-3xl)}h3{font-size:var(--font-2xl)}h4{font-size:var(--font-xl)}h5{font-size:var(--font-lg)}h6{font-size:var(--font-base)}p{margin:0 0 var(--space-md) 0;color:var(--text-secondary)}a{color:var(--primary-600);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-700);text-decoration:underline}code{background-color:var(--gray-100);border-radius:var(--radius-sm);color:var(--text-primary);padding:.125rem .25rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Roboto Mono,Courier New,monospace;font-size:.9em}pre{background-color:var(--gray-900);color:var(--gray-100);padding:var(--space-md);border-radius:var(--radius-lg);font-family:SF Mono,Monaco,Inconsolata,Fira Code,Fira Mono,Roboto Mono,Courier New,monospace;overflow-x:auto}.container{width:100%;max-width:1200px;padding:0 var(--space-md);margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}button,.btn{padding:var(--space-sm) var(--space-lg);font-size:var(--font-base);font-weight:var(--font-medium);line-height:var(--leading-normal);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:none;outline:none;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}button:focus,.btn:focus{box-shadow:0 0 0 3px #3b82f680}button:disabled,.btn:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-base);font-family:inherit;line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.card{background-color:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-spin{animation:1s linear infinite spin}@media (max-width:640px){:root{--font-4xl:2rem;--font-3xl:1.5rem;--font-2xl:1.25rem}.container{padding:0 var(--space-sm)}}
