:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f1712;background:#efe6da;line-height:1.4;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 15% 15%,rgba(214,153,106,.22),transparent 42%),radial-gradient(circle at 88% 12%,rgba(114,160,147,.16),transparent 34%),linear-gradient(180deg,#f1e7db,#ece2d5)}#root{width:100%}.app-shell{max-width:1500px;margin:0 auto;padding:1.5rem 1rem 2.5rem}.hero{background-color:#20140e;background-image:var(--hero-image);background-position:center;background-repeat:no-repeat;background-size:cover;border:1px solid rgba(31,23,18,.08);border-radius:1.25rem;padding:1.25rem;box-shadow:0 16px 40px #4a302214;display:grid;gap:.7rem;align-items:start;overflow:hidden}.eyebrow{margin:0 0 .4rem;color:#7b4f2f;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.hero h1{margin:0;font-size:clamp(2.1rem,4.8vw,3.6rem);line-height:1.12;letter-spacing:.01em}.hero-title{color:#fcf4e7;white-space:nowrap;-webkit-text-stroke:.6px rgba(32,20,14,.38);text-shadow:0 2px 12px rgba(19,12,8,.55),0 1px 0 rgba(0,0,0,.22),0 0 1px rgba(31,23,18,.35)}.hero-controls{width:fit-content;max-width:min(100%,68rem);background:#fcf7f0e0;border:1px solid rgba(31,23,18,.12);border-radius:1rem;padding:.72rem .85rem .8rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 30px #1f120b2e}.lede{margin:.9rem 0 0;color:#4b3a2f;max-width:65ch}.hero-chips{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem}.hero-chips span{border-radius:999px;padding:.35rem .65rem;border:1px solid rgba(31,23,18,.12);background:#ffffffd9;font-size:.9rem}.backup-actions{margin-top:.2rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:end}.project-picker{display:grid;gap:.25rem;font-size:.85rem;color:#4b3a2f}.project-picker select{min-width:220px;border-radius:.6rem;border:1px solid rgba(31,23,18,.12);padding:.45rem .55rem;font:inherit;color:inherit;background:#ffffffeb}.grid{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.workspace-grid{margin-top:1rem;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.welcome-card{margin-top:1rem}.welcome-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.75rem}.welcome-card-block{border:1px solid rgba(31,23,18,.08);border-radius:.85rem;background:#ffffffa8;padding:.8rem}.welcome-card-block h3{margin:0 0 .35rem}.welcome-card-block p{margin:0}.empty-state{display:grid;gap:.3rem;padding:.75rem .8rem;border:1px dashed rgba(31,23,18,.16);border-radius:.8rem;background:#ffffff8f}.empty-state h3,.empty-state h4{margin:0;color:#2f241d}.empty-state p{margin:0}.card{background:#fffc;border:1px solid rgba(31,23,18,.08);border-radius:1rem;padding:1rem;box-shadow:0 10px 30px #4a30220d}.card h2{margin:0 0 .65rem;font-size:1.05rem}.card h3{margin:0 0 .5rem;font-size:.95rem}.card ul,.card ol{margin:0;padding-left:1.15rem;color:#4b3a2f}.card li+li{margin-top:.35rem}.panel{padding:.95rem}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.panel-header-actions{display:flex;align-items:center;gap:.45rem}.count-pill{border-radius:999px;padding:.2rem .5rem;background:#7b4f2f14;color:#7b4f2f;font-weight:700;font-size:.8rem}.project-list{margin:.75rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem}.project-row{width:100%;border:1px solid rgba(31,23,18,.08);border-radius:.85rem;background:#fffc;text-align:left;padding:.75rem;display:flex;justify-content:space-between;gap:.75rem;cursor:pointer;color:inherit}.project-row:hover{border-color:#7b4f2f4d}.project-row.is-active{border-color:#7b4f2f73;box-shadow:inset 0 0 0 1px #7b4f2f1f}.project-row strong{display:block;line-height:1.2}.project-row p{margin:.25rem 0 0;color:#5e4a3c;font-size:.85rem}.project-meta{display:grid;justify-items:end;align-content:start;gap:.35rem;font-size:.8rem;color:#5e4a3c}.status{border-radius:999px;padding:.18rem .45rem;font-size:.75rem;text-transform:capitalize;border:1px solid rgba(31,23,18,.1);background:#ffffffa6}.status-active{background:#5c977a29;border-color:#5c977a40}.status-planned{background:#c0954729;border-color:#c0954742}.status-paused{background:#a4826629}.status-finished{background:#58759b29}.muted{color:#5e4a3c}.detail-panel>.muted{margin:.15rem 0 .9rem}.detail-panel{background:#ffffffb8}.detail-tabs{display:flex;gap:.18rem;margin:.7rem 0 0;flex-wrap:wrap;align-items:end;padding:0 0 0 .25rem;border-bottom:1px solid rgba(31,23,18,.1)}.detail-tab-button{margin-bottom:-1px;border:1px solid transparent;border-bottom:none;border-radius:.9rem .9rem 0 0;background:transparent;color:#6b5a4d;padding:.68rem 1.12rem .72rem;font:inherit;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:color .14s ease,background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.detail-tab-button:hover{color:#3d2e24;background:#ffffff61}.detail-tab-button.is-active{border-color:#c67c3f3d;border-bottom-color:#fffdfa;background:#fffdfa;color:#6f3816;box-shadow:inset 0 1px #ffffffc2}.tab-panel{margin-top:0}.tab-panel.is-hidden{display:none}.tab-surface{border:1px solid rgba(31,23,18,.08);border-top:none;border-radius:0 0 1rem 1rem;background:#fffdfafa;padding:.95rem;box-shadow:0 10px 28px #4a30220a}.tab-surface-project{padding-top:.85rem}.project-edit-card{margin-bottom:.75rem;margin-top:.75rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.detail-card{border:1px solid rgba(31,23,18,.07);border-radius:.85rem;background:#ffffffb8;padding:.8rem}.pattern-assets-card{grid-column:1 / -1}.detail-card ul{margin:0;padding-left:1rem}.detail-card li+li{margin-top:.5rem}.detail-card p{margin:.35rem 0 0}.workbench-grid{margin-top:.75rem;display:grid;grid-template-columns:1fr;gap:.75rem;align-items:start}.workbench-panel{min-height:420px}.counter-actions{display:flex;gap:.5rem;margin-top:.5rem}.counter-secondary-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.small-button{border:1px solid rgba(31,23,18,.12);border-radius:.65rem;background:#ffffffeb;color:#2f241d;padding:.4rem .7rem;font:inherit;transition:border-color .14s ease,background-color .14s ease,color .14s ease,box-shadow .14s ease;cursor:pointer}.small-button:hover{border-color:#7b4f2f5c;background:#fff9f3fa}.small-button:disabled{border-color:#1f17121f;background:#f3f3f3f2;color:#8d8d8d;cursor:not-allowed}.button-primary{border-color:#b9662c;background:linear-gradient(180deg,#d9874d,#c86f35);color:#fff9f4;box-shadow:0 8px 18px #b9662c2e}.button-primary:hover{border-color:#a85924;background:linear-gradient(180deg,#cf7d46,#bb632d)}.button-primary:disabled{border-color:#1f17121f;background:#f3f3f3f2;color:#8d8d8d;cursor:not-allowed}.button-danger{border-color:#ab535347;background:#fff5f5f2;color:#8b2f2f}.button-danger:hover{border-color:#ab535366;background:#ffececfa}.button-selected{border-color:#c67c3f3d;background:#fcf1e7f2;color:#7a411c;box-shadow:inset 0 1px #ffffffbf}.counter-readout{font-size:1.2rem;font-weight:700;color:#2f241d}.line-wrap{overflow-wrap:anywhere}.note-chip{margin-left:.5rem;border-radius:999px;padding:.1rem .45rem;font-size:.75rem;background:#72a09326;border:1px solid rgba(114,160,147,.22)}.detail-card a{color:#7b4f2f}.detail-card a:hover{color:#60381f}.note-form{display:grid;gap:.45rem;margin-bottom:.75rem}.note-form .small-button{justify-self:start}.note-form textarea{width:100%;resize:vertical;border-radius:.7rem;border:1px solid rgba(31,23,18,.12);padding:.6rem .7rem;font:inherit;color:inherit;background:#ffffffeb}.project-form{display:grid;gap:.5rem}.project-form .small-button{justify-self:start}.project-form label{display:grid;gap:.25rem;font-size:.85rem;color:#4b3a2f}.project-form input,.project-form select{width:100%;border-radius:.6rem;border:1px solid rgba(31,23,18,.12);padding:.5rem .6rem;font:inherit;color:inherit;background:#ffffffeb}.links-editor,.tutorial-player{display:grid;gap:.45rem}.tutorial-player label{display:grid;gap:.25rem;font-size:.85rem;color:#4b3a2f}.tutorial-player select{width:100%;border-radius:.6rem;border:1px solid rgba(31,23,18,.12);padding:.45rem .55rem;font:inherit;color:inherit;background:#ffffffeb}.tutorial-player-frame{position:relative;width:100%;border:1px solid rgba(31,23,18,.12);border-radius:.6rem;overflow:hidden;background:#ffffffeb}.tutorial-player-frame:before{content:"";display:block;padding-top:56.25%}.tutorial-player-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.tutorial-player-embed{display:grid;gap:.35rem}.youtube-player-host{position:absolute;top:0;right:0;bottom:0;left:0}.tutorial-videos-grid{display:grid;gap:.7rem}.tutorial-video-card{border:1px solid rgba(31,23,18,.08);border-radius:.8rem;background:#ffffffb8;padding:.6rem;display:grid;gap:.45rem}.tutorial-video-summary{display:grid}.tutorial-video-toggle{width:100%;border:1px solid rgba(31,23,18,.12);border-radius:.65rem;background:#ffffffeb;color:inherit;font:inherit;cursor:pointer;padding:.45rem .55rem;display:flex;justify-content:space-between;align-items:center;gap:.45rem;text-align:left}.tutorial-video-toggle:hover{border-color:#7b4f2f5c}.tutorial-bookmark-form{display:grid;gap:.35rem;padding:.4rem;border:1px solid rgba(31,23,18,.08);border-radius:.65rem;background:#ffffffb8}.tutorial-bookmark-form label{display:grid;gap:.2rem;font-size:.82rem;color:#4b3a2f}.tutorial-bookmark-form input{width:100%;border-radius:.6rem;border:1px solid rgba(31,23,18,.12);padding:.45rem .55rem;font:inherit;color:inherit;background:#ffffffeb}.tutorial-bookmark-form .small-button{justify-self:start}.design-editor{display:grid;gap:.5rem}.design-sheet-row{display:flex;align-items:end;gap:.5rem;flex-wrap:wrap}.design-sheet-row label{display:grid;gap:.25rem;font-size:.85rem;color:#4b3a2f}.design-sheet-row select{min-width:220px;border-radius:.6rem;border:1px solid rgba(31,23,18,.12);padding:.45rem .55rem;font:inherit;color:inherit;background:#ffffffeb}.design-color-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.design-color-palette{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.design-color-restore{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.design-tool-button{padding-inline:.75rem}.design-sheet-note{display:grid;gap:.25rem}.design-sheet-note label{display:grid;gap:.25rem;font-size:.85rem;color:#4b3a2f}.design-sheet-note textarea{width:100%;resize:vertical;min-height:5.25rem;border-radius:.7rem;border:1px solid rgba(31,23,18,.12);padding:.6rem .7rem;font:inherit;color:inherit;background:#ffffffeb}.color-swatch{width:1.2rem;height:1.2rem;border-radius:999px;border:1px solid rgba(31,23,18,.25);cursor:pointer}.color-swatch.is-active{box-shadow:0 0 0 2px #0d5fd459}.design-canvas-frame{border:1px solid rgba(31,23,18,.12);border-radius:.6rem;background:#ffffffeb;padding:.4rem;overflow:auto}.design-canvas{display:block;max-width:100%;height:auto;cursor:crosshair}.design-sheet-list{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}.design-sheet-item{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.upload-block{display:grid;gap:.15rem}.upload-inline-row{display:flex;align-items:center;justify-content:flex-start;gap:.7rem;flex-wrap:wrap}.upload-label{margin:0;font-size:.85rem;color:#4b3a2f}.upload-file-row{display:flex;align-items:center;gap:.55rem}.upload-file-name{font-size:.95rem}.upload-input-hidden{display:none}.links-form{display:grid;gap:.45rem;scroll-margin-top:1rem}.links-form.is-editing{padding:.8rem;border:1px solid rgba(198,124,63,.24);border-radius:.9rem;background:#fffaf5e0}.links-form-header{display:grid;gap:.2rem}.links-form-header h4,.links-form-header p{margin:0}.links-form label{display:grid;gap:.25rem;font-size:.85rem;color:#4b3a2f}.links-form input,.links-form select{width:100%;border-radius:.6rem;border:1px solid rgba(31,23,18,.12);padding:.5rem .6rem;font:inherit;color:inherit;background:#ffffffeb}.links-actions{display:flex;gap:.45rem;margin-top:.15rem}.tutorial-link-note{margin:.35rem 0 0}.asset-top-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,520px);gap:.6rem;align-items:start}.asset-top-grid.is-bookmarking{grid-template-columns:1fr}.asset-row{display:flex;align-items:center;justify-content:flex-start;gap:.6rem;flex-wrap:wrap}.asset-actions{margin-top:0}.links-actions a.small-button{text-decoration:none}.link-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.bookmark-section{margin-top:.5rem;padding-top:.45rem;border-top:1px solid rgba(31,23,18,.08)}.bookmark-section h4{margin:0;font-size:.95rem}.bookmark-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.45rem}.bookmark-form{display:grid;gap:.45rem}.bookmark-form label{display:grid;gap:.2rem;font-size:.82rem;color:#4b3a2f}.bookmark-form input{width:100%;border-radius:.6rem;border:1px solid rgba(31,23,18,.12);padding:.45rem .55rem;font:inherit;color:inherit;background:#ffffffeb}.bookmark-list{margin-top:.45rem;padding:0;list-style:none;display:grid;gap:.65rem}.bookmark-item{padding:.75rem .8rem;border:1px solid rgba(31,23,18,.08);border-radius:.9rem;background:#ffffffb8;box-shadow:0 6px 18px #4a30220a}.bookmark-row{display:flex;gap:.45rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.bookmark-meta{margin:.4rem 0 0;font-size:.9rem;color:#6b5a4d}.bookmark-note{margin:.4rem 0 0;color:#4b3a2f}.bookmark-actions{margin-top:.55rem;flex-wrap:wrap}.bookmark-edit-form{display:grid;gap:.45rem;margin-top:.45rem}.bookmark-edit-form label{display:grid;gap:.2rem;font-size:.82rem;color:#4b3a2f}.bookmark-edit-form input{width:100%;border-radius:.6rem;border:1px solid rgba(31,23,18,.12);padding:.45rem .55rem;font:inherit;color:inherit;background:#ffffffeb}.bookmark-viewer{margin-top:.45rem;padding:.5rem;border:1px solid rgba(31,23,18,.08);border-radius:.75rem;background:#ffffffb8;display:grid;gap:.4rem}.bookmark-top-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:.45rem;align-items:start}.bookmark-viewer-meta{display:grid;gap:.25rem}.bookmark-viewer-controls{display:flex;gap:.35rem;align-items:end;flex-wrap:wrap;position:relative;z-index:2}.bookmark-viewer-controls label{display:grid;gap:.2rem;font-size:.82rem;color:#4b3a2f}.bookmark-viewer-controls input{width:7rem;border-radius:.6rem;border:1px solid rgba(31,23,18,.12);padding:.45rem .55rem;font:inherit;color:inherit;background:#ffffffeb}.bookmark-inline-bar{display:grid;gap:.35rem;padding:.4rem;border:1px solid rgba(31,23,18,.08);border-radius:.65rem;background:#ffffffb8}.bookmark-inline-bar label{display:grid;gap:.2rem;font-size:.82rem;color:#4b3a2f}.bookmark-inline-bar input{width:100%;border-radius:.6rem;border:1px solid rgba(31,23,18,.12);padding:.45rem .55rem;font:inherit;color:inherit;background:#ffffffeb}.bookmark-inline-bar .small-button{justify-self:start}.bookmark-inline-bar .muted{margin:0}.bookmark-inline-bar-top{align-self:start;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.bookmark-inline-bar-top label{display:flex;align-items:center;gap:.35rem;margin:0;white-space:nowrap}.bookmark-inline-bar-top input{width:20rem}.bookmark-inline-bar-top .muted,.bookmark-inline-bar-top .upload-error{flex-basis:100%}.pdf-frame{width:100%;min-height:min(72vh,860px);border:1px solid rgba(31,23,18,.12);border-radius:.6rem;background:#ffffffeb}.pdf-react-viewer{padding:.35rem;overflow:auto}.pdf-page-container{width:100%}.pdf-page-wrap{position:relative;display:inline-block;margin:0 auto}.pdf-react-viewer .react-pdf__Page{display:flex;justify-content:center}.pdf-react-viewer .react-pdf__Page canvas{max-width:100%;height:auto!important;cursor:crosshair}.pdf-bookmark-marker{position:absolute;width:14px;height:14px;border-radius:999px;border:2px solid #ffffff;background:#d35a1f;box-shadow:0 0 0 2px #1f171259;transform:translate(-50%,-50%);pointer-events:none}.pdf-bookmark-marker.is-pulsing{animation:bookmark-marker-pulse 1.2s ease-in-out infinite}@keyframes bookmark-marker-pulse{0%{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 0 2px #1f171259}50%{transform:translate(-50%,-50%) scale(1.35);box-shadow:0 0 0 7px #d35a1f29}to{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 0 2px #1f171259}}.project-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.create-project-wrapper{border:1px solid rgba(31,23,18,.08);border-radius:.85rem;background:#ffffffb8;padding:.65rem;margin:.7rem 0}.note-form textarea:focus,.small-button:focus,.tutorial-video-toggle:focus,.project-form input:focus,.project-form select:focus,.project-picker select:focus,.design-sheet-row select:focus,.design-sheet-note textarea:focus,.links-form input:focus,.links-form select:focus,.bookmark-form input:focus,.bookmark-edit-form input:focus,.bookmark-viewer-controls input:focus,.bookmark-inline-bar input:focus{outline:2px solid rgba(114,160,147,.45);outline-offset:2px}.detail-tab-button:focus{outline:none}.detail-tab-button:focus-visible{outline:2px solid rgba(114,160,147,.45);outline-offset:2px}.tutorial-bookmark-form input:focus{outline:2px solid rgba(114,160,147,.45);outline-offset:2px}input::placeholder,textarea::placeholder{color:#b6aaa0;opacity:1}.upload-error{color:#8e2f2f;margin:0}.success-feedback{margin:0;color:#1f6b41}.confirm-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#140e0a73;display:grid;place-items:center;padding:1rem;z-index:1000}.confirm-modal{width:min(460px,100%);background:#fffffffa;border:1px solid rgba(31,23,18,.12);border-radius:.9rem;box-shadow:0 20px 48px #1a120d38;padding:.95rem}.confirm-modal h3{margin:0}.confirm-modal p{margin:.55rem 0 0;color:#4b3a2f}.confirm-modal-actions{margin-top:.9rem;display:flex;justify-content:flex-end;gap:.5rem}.success-banner,.warning-banner,.error-banner{margin:.8rem 0 0;padding:.55rem .7rem;border-radius:.65rem;font-size:.9rem}.success-banner{color:#1f6b41;background:#5c977a24;border:1px solid rgba(92,151,122,.3)}.warning-banner{color:#6d4f19;background:#caa44f26;border:1px solid rgba(202,164,79,.35)}.error-banner{color:#7c2323;background:#ba4e4e1f;border:1px solid rgba(186,78,78,.28)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.grid,.workspace-grid,.welcome-card-grid,.detail-grid,.bookmark-top-grid,.asset-top-grid{grid-template-columns:1fr}.bookmark-inline-bar-top label{width:100%;white-space:normal}.bookmark-inline-bar-top input{width:100%}.project-form-grid{grid-template-columns:1fr}}@media(max-width:1200px){.bookmark-top-grid{grid-template-columns:1fr}}
