:root{--color-bg: #f5f6fb;--color-surface: #ffffff;--color-border: #e2e4ee;--color-text: #1f2333;--color-text-muted: #6b7080;--color-primary: #6d5bd0;--color-primary-hover: #5c4bc0;--color-primary-contrast: #ffffff;--color-danger: #d0453d;--color-danger-bg: #fdecea;--color-success: #2f9e6f;--color-note-bg: #fff2a8;--color-note-border: #e8d97a;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--shadow-sm: 0 1px 2px rgba(20, 20, 40, .06);--shadow-md: 0 4px 16px rgba(20, 20, 40, .08);--shadow-lg: 0 12px 32px rgba(20, 20, 40, .12);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 var(--space-2);font-weight:700;letter-spacing:-.01em}p{margin:0 0 var(--space-2);line-height:1.5}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 6px}input{font:inherit;color:inherit;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6d5bd026}button{font:inherit;font-weight:600;cursor:pointer;padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast);transition:background .15s ease,transform .05s ease,opacity .15s ease}button:hover:not(:disabled){background:var(--color-primary-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--color-primary)}button.secondary:hover:not(:disabled){background:#6d5bd014}button.icon-btn{padding:4px 10px;border-radius:999px;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}button.icon-btn[aria-pressed=true]{background:#fff4cf;border-color:var(--color-note-border);color:#8a6d00}.app-shell{max-width:960px;margin:0 auto;padding:var(--space-6) var(--space-4)}.app-header{margin-bottom:var(--space-5)}.app-header p{color:var(--color-text-muted);margin:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);margin-bottom:var(--space-4)}.card form{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.card form input{width:100%}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.field-row{display:flex;gap:var(--space-2);width:100%}.field-row input{flex:1}.dynamic-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3);margin:var(--space-3) 0 var(--space-4)}.dynamic-option{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);background:var(--color-bg)}.dynamic-option h3{font-size:15px;margin-bottom:0}.dynamic-icon{font-size:32px;line-height:1}.dynamic-icon.inline{font-size:18px;margin-right:var(--space-2);vertical-align:middle}.dynamic-option button{margin-top:var(--space-2);align-self:flex-start}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--color-bg);color:var(--color-text-muted)}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-text-muted)}.badge.online{color:var(--color-success);background:#e8f7f0}.badge.online:before{background:var(--color-success)}.badge.offline{color:var(--color-danger);background:var(--color-danger-bg)}.badge.offline:before{background:var(--color-danger)}.badge.checking:before{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.meta{font-size:13px;color:var(--color-text-muted)}.alert{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(208,69,61,.25);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:14px}.join-code{font-size:15px}.phase-bar{display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);position:sticky;top:var(--space-3);z-index:10}.phase-bar-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.phase-bar .phase-name{font-size:15px;text-transform:capitalize;background:#6d5bd01a;color:var(--color-primary);padding:4px 12px;border-radius:999px}.phase-bar .spacer{margin-left:auto;display:flex;flex-wrap:wrap;gap:var(--space-2)}.phase-explanation{font-size:14px;color:var(--color-text);background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0}.dynamic-watermark{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.dynamic-watermark span{position:absolute;line-height:1;filter:saturate(.7)}.composer{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.composer input{flex:1}.phase-select{font:inherit;font-size:13px;text-transform:capitalize;color:var(--color-primary);background:#6d5bd014;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-2)}.board-surface{position:relative;height:480px;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:auto;background-color:var(--color-surface);background-image:radial-gradient(circle,var(--color-border) 1px,transparent 1px);background-size:20px 20px;box-shadow:var(--shadow-sm)}.cursor-flag{position:absolute;z-index:1;pointer-events:none;font-size:12px;font-weight:600;color:var(--color-primary);transform:translate(-2px,-100%);white-space:nowrap}.note-board{position:relative;overflow:hidden}.note-board-content{position:relative;z-index:1}.phase-section{margin-bottom:var(--space-4)}.phase-section .phase-name{font-size:13px;text-transform:capitalize;background:#6d5bd01a;color:var(--color-primary);padding:3px 10px;border-radius:999px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3);margin:var(--space-3) 0 0}.summary-note{background:var(--color-note-bg);border:1px solid var(--color-note-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:var(--space-3)}.summary-note p{margin:0;font-size:14px;white-space:pre-wrap;word-break:break-word}.action-item-list{margin:var(--space-2) 0 0;padding-left:var(--space-4)}.action-item-list li{margin-bottom:var(--space-1)}.sticky-note{position:absolute;z-index:1;width:160px;padding:var(--space-3);background:var(--color-note-bg);border:1px solid var(--color-note-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:box-shadow .15s ease}.sticky-note:active{cursor:grabbing;box-shadow:var(--shadow-lg)}.note-phase-tag{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#8a6d00;background:#0000000f;border-radius:999px;padding:1px 8px;margin-bottom:var(--space-1)}.sticky-note p{margin:0;font-size:14px;white-space:pre-wrap;word-break:break-word}.sticky-note .sticky-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2);font-size:12px;color:var(--color-text-muted)}@media (max-width: 640px){.app-shell{padding:var(--space-4) var(--space-3)}.phase-bar .spacer{width:100%;margin-left:0}.phase-bar .spacer button{flex:1}.composer{flex-direction:column;align-items:stretch}.composer .phase-select{width:100%}}
