@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,400,0,0&family=Material+Symbols+Sharp:opsz,wght,FILL,GRAD@20..48,400,0,0&display=swap";:root{color-scheme:light;font-family:Inter,sans-serif;line-height:1.5;font-weight:400;background:radial-gradient(circle at top left,rgba(200,200,200,.2),transparent 32%),radial-gradient(circle at top right,rgba(160,160,160,.15),transparent 28%),#f8f8f8;color:#101010;--bg: #f8f8f8;--surface: rgba(250, 250, 250, .95);--surface-strong: #ffffff;--surface-border: rgba(50, 50, 50, .15);--ink: #101010;--muted: #787878;--accent: #404040;--accent-strong: #202020;--accent-soft: rgba(80, 80, 80, .12);--danger: #606060;--danger-soft: rgba(96, 96, 96, .12);--shadow: 0 20px 50px rgba(0, 0, 0, .08);--radius-lg: 24px;--radius-md: 16px;--radius-sm: 10px}:root.theme-dark{color-scheme:dark;background:radial-gradient(circle at top left,rgba(80,80,80,.2),transparent 32%),radial-gradient(circle at top right,rgba(60,60,60,.15),transparent 28%),#1a1a1a;color:#f0f0f0;--bg: #1a1a1a;--surface: rgba(30, 30, 30, .95);--surface-strong: #252525;--surface-border: rgba(200, 200, 200, .15);--ink: #f0f0f0;--muted: #a8a8a8;--accent: #d0d0d0;--accent-strong: #e8e8e8;--accent-soft: rgba(200, 200, 200, .12);--danger: #c0c0c0;--danger-soft: rgba(192, 192, 192, .12);--shadow: 0 20px 50px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.material-symbols-rounded,.material-symbols-sharp{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:1.25rem;line-height:1;display:inline-block;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr}.material-symbols-sharp{font-family:Material Symbols Sharp}.app-shell,.auth-shell{min-height:100vh}.app-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem clamp(.75rem,2vw,1.5rem);border-bottom:1px solid var(--surface-border)}.app-header-brand,.app-header-actions,.app-nav,.auth-form,.field-block,.stack-layout,.resource-form,.resource-list,.resource-item-main,.empty-state,.error-alert,.error-alert-content,.empty-state-copy{display:flex;flex-direction:column}.stack-layout{gap:.75rem}.app-header-brand{flex-direction:row;align-items:center;gap:.9rem}.app-header-mark{width:2.75rem;height:2.75rem;border-radius:.9rem;display:grid;place-items:center;background:linear-gradient(135deg,#404040,#202020);color:#f8f8f8}.app-header-kicker,.section-label,.field-label,.resource-item-meta,.muted-copy,.status-copy,.auth-kicker{margin:0;color:var(--muted);font-family:Inter,sans-serif;font-size:.85rem;letter-spacing:.03em;text-transform:uppercase}.app-header-title,.page-title,.auth-title,.section-title{margin:0;line-height:1.1}.app-header-title{font-size:1rem}.app-header-actions{flex-direction:row;align-items:center;gap:1rem}.app-nav{flex-direction:row;gap:.5rem;align-items:center}.app-nav-link{padding:.7rem 1rem;border-radius:999px;color:var(--muted)}.app-nav-link-active{background:var(--accent-soft);color:var(--accent-strong)}.app-mobile-bottom-nav{display:none}.app-main,.auth-shell-main{width:min(1240px,calc(100% - 1rem));margin:0 auto;padding:.85rem 0 1rem}.page-shell,.auth-page{display:flex;flex-direction:column;gap:.75rem}.page-shell-narrow{max-width:760px}.page-header-block{display:flex;flex-direction:column;gap:.2rem}.page-title,.auth-title{font-size:clamp(1.2rem,2.5vw,1.7rem);max-width:none}.auth-copy{margin:0;max-width:60ch;color:var(--muted);font-size:.9rem}.split-layout{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:.75rem}.panel,.auth-panel,.subpanel,.surface-card,.empty-state,.error-alert{background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.panel,.subpanel,.auth-panel,.surface-card{padding:.85rem}.panel-form,.panel-list{min-width:0}.subpanel{margin-top:1rem}.resource-form{gap:.65rem}.resource-form-heading-row,.toolbar-row,.form-actions,.resource-item-actions,.tag-row{display:flex;gap:.5rem}.form-actions{justify-content:end}.resource-form .form-actions{flex-direction:column}.resource-form .form-actions>.btn-primary,.resource-form .form-actions>.btn-secondary,.resource-form .form-actions>.btn-danger{width:100%}.resource-form-heading-row,.toolbar-row{justify-content:space-between;align-items:end}.toolbar-row{margin-bottom:.65rem}.field-block{gap:.4rem}.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.rich-text-editor{display:flex;flex-direction:column;gap:0;border:1px solid rgba(20,32,43,.16);border-radius:var(--radius-sm);background:var(--surface-strong);overflow:hidden}.rich-text-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem;background:var(--surface);border-bottom:1px solid rgba(20,32,43,.16);align-items:center}.rich-text-toolbar-button{background:transparent;border:1px solid transparent;padding:.4rem;color:var(--muted);cursor:pointer;display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius-sm);transition:background .15s,border-color .15s,color .15s}.rich-text-toolbar-button:hover{color:var(--ink);background:var(--accent-soft)}.rich-text-toolbar-button-active{background:var(--accent-soft);color:var(--accent-strong);border-color:#14202b29}.rich-text-toolbar-divider{width:1px;height:1.5rem;background:#14202b29;margin:0 .25rem}.rich-text-toolbar-more{position:relative;display:flex;align-items:center}.rich-text-toolbar-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--surface-strong);border:1px solid rgba(20,32,43,.16);border-radius:var(--radius-sm);padding:.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;z-index:100;box-shadow:0 4px 12px #00000014}.rich-text-editor-content{padding:.75rem;min-height:12rem;max-height:24rem;outline:none;color:var(--ink);min-width:0;max-width:100%;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.rich-text-editor-content>*{margin:0 0 .5rem}.rich-text-editor-content p{margin:.5rem 0;line-height:1.6}.rich-text-editor-content h2{font-size:1.3rem;font-weight:600;margin:1rem 0 .5rem}.rich-text-editor-content ul,.rich-text-editor-content ol{margin:.5rem 0 .5rem 1.5rem;padding:0}.rich-text-editor-content li{margin:.25rem 0;line-height:1.6}.rich-text-editor-content blockquote{border-left:3px solid var(--accent);padding-left:.75rem;margin:.5rem 0;color:var(--muted);font-style:italic}.rich-text-editor-content code{background:var(--accent-soft);padding:.2rem .4rem;border-radius:3px;font-family:Inter,sans-serif;font-size:.9rem}.rich-text-editor-content pre{background:var(--accent-soft);padding:.75rem;border-radius:var(--radius-sm);overflow-x:auto;margin:.5rem 0}.rich-text-editor-content pre code{background:transparent;padding:0}.rich-text-editor-content a{color:var(--accent);text-decoration:underline;cursor:pointer}.rich-text-editor-content a:hover{opacity:.8}.ProseMirror{outline:none;min-width:0;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.ProseMirror *{max-width:100%}.ProseMirror p.is-editor-empty:first-child:before{color:var(--muted);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.input-field,.textarea-field{width:100%;border:1px solid rgba(20,32,43,.16);background:var(--surface-strong);color:var(--ink);padding:.62rem .72rem;border-radius:var(--radius-sm)}.textarea-field{resize:vertical;min-height:6rem}.textarea-field-large{min-height:12rem}.input-field:focus,.textarea-field:focus,.app-nav-link:focus,.btn-primary:focus,.btn-secondary:focus,.btn-danger:focus{outline:2px solid rgba(32,32,32,.25);outline-offset:2px}.btn-primary,.btn-secondary,.btn-danger{border:0;padding:.58rem .72rem;border-radius:10px;transition:background-color .12s ease,color .12s ease,opacity .12s ease}.btn-primary{background:var(--accent);color:#f8f8f8}.btn-primary:hover{background:var(--accent-strong)}.btn-secondary{background:#14202b0f;color:var(--ink)}.btn-secondary:hover{background:#14202b1a}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover{background:#60606033}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{cursor:default;opacity:.6}.toolbar-search{flex:1}.toolbar-action-button{min-height:calc(1.5em + 1.24rem);align-self:end;min-width:calc(1.5em + 1.24rem);display:inline-grid;place-items:center;padding:.58rem}.toolbar-action-button .material-symbols-rounded{font-size:1.25rem}.toolbar-action-button-active{background:var(--accent-soft);color:var(--accent-strong)}.toggle-field{display:flex;align-items:center;gap:.6rem;color:var(--muted)}.resource-list{gap:.55rem}.resource-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;padding:.72rem;border-radius:12px;border:1px solid rgba(20,32,43,.08);background:var(--surface-strong)}.resource-item-muted{opacity:.72}.resource-item-title{margin:0;font-size:1.1rem}.resource-item-body{margin:.35rem 0 0;color:var(--muted);white-space:pre-wrap}.resource-item-body-preview{margin:.35rem 0 0;color:var(--ink);font-size:.95rem;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.resource-item-body-preview p{margin:0 0 .5rem;line-height:1.5}.resource-item-body-preview strong,.resource-item-body-preview b{font-weight:600;color:var(--ink)}.resource-item-body-preview em,.resource-item-body-preview i{font-style:italic}.resource-item-body-preview ul,.resource-item-body-preview ol{margin:.5rem 0 .5rem 1rem;color:var(--muted)}.resource-item-body-preview li{margin:.2rem 0}.resource-item-body-preview h2{font-size:1.05rem;font-weight:600;margin:0;color:var(--ink)}.resource-item-body-preview code{background:var(--accent-soft);padding:.2rem .3rem;border-radius:3px;font-family:Inter,sans-serif;font-size:.85rem}.resource-item-body-preview a{color:var(--accent);text-decoration:underline}.resource-item-body-preview blockquote{border-left:2px solid var(--accent);padding-left:.6rem;margin:.35rem 0;color:var(--muted);font-style:italic;font-size:.95rem}.resource-item-body-clickable{cursor:pointer}.resource-item-body-clickable:hover{opacity:.86}.resource-item-actions{flex-wrap:wrap;justify-content:end;align-self:start}.tag-row{flex-wrap:wrap;margin-top:.85rem}.tag-chip,.status-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.85rem}.status-chip{background:#14202b0f;color:var(--muted)}.item-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.4rem;-webkit-user-select:none;user-select:none}.item-details>summary::-webkit-details-marker{display:none}.item-summary-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex:1;min-width:0}.item-summary-main{display:flex;align-items:center;gap:.5rem;min-width:0}.item-summary-main .resource-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-item-actions{position:relative;display:flex;align-items:center;gap:.35rem;margin-left:auto;flex-shrink:0}.resource-item-action-button{background:transparent;border:1px solid transparent;padding:.35rem;color:var(--muted);cursor:pointer;display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius-sm);transition:background .15s,border-color .15s,color .15s}.resource-item-action-button:hover,.resource-item-action-button:focus-visible{color:var(--ink);border-color:var(--surface-border);background:var(--accent-soft)}.resource-item-action-button .material-symbols-rounded{font-size:1.45rem}.resource-item-action-button-danger{color:var(--danger)}.resource-item-action-button-danger:hover,.resource-item-action-button-danger:focus-visible{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 18%,transparent)}.item-details>summary:after{content:"›";font-size:1rem;color:var(--muted);flex-shrink:0;display:inline-block;opacity:.4;transition:transform .15s ease;line-height:1}.item-details[open]>summary:after{transform:rotate(90deg)}.item-detail{display:flex;flex-direction:column;gap:.3rem;margin-top:.4rem;padding-top:.4rem;border-top:1px solid rgba(20,32,43,.06)}.item-detail .resource-item-body,.item-detail .tag-row{margin:0}.auth-page{min-height:calc(100vh - 8rem);align-items:center;justify-content:center;display:grid;grid-template-columns:minmax(320px,460px);gap:1.25rem}.auth-panel{min-height:100%}.auth-panel-form,.auth-form-header{display:flex;flex-direction:column;gap:.75rem}.auth-form-header h2,.auth-form-header p{margin:0}.auth-submit-btn{width:100%}.error-alert,.empty-state{gap:.85rem;padding:1rem}.error-alert{flex-direction:row;align-items:start;border-color:#60606047;background:#60606017}.error-alert-icon,.empty-state-icon-wrap{width:2.5rem;height:2.5rem;border-radius:999px;display:grid;place-items:center;background:#14202b0f}.error-alert-title,.error-alert-message,.empty-state-title,.empty-state-subtitle,.empty-state-message{margin:0}.route-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-family:Inter,sans-serif}.app-hamburger-button{display:none;background:none;border:none;padding:.5rem;color:var(--ink);cursor:pointer;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .15s}.app-hamburger-button:hover{background:var(--accent-soft)}.app-add-button{display:none;background:none;border:1px solid transparent;padding:.5rem;color:var(--ink);cursor:pointer;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .15s,border-color .15s,color .15s}.app-add-button:hover{background:var(--accent-soft);border-color:var(--surface-border)}.app-add-button .material-symbols-rounded{font-size:1.4rem}.create-modal-close{position:absolute;top:.8rem;right:.8rem;background:transparent;border:1px solid var(--surface-border);border-radius:999px;width:2rem;height:2rem;padding:0;color:var(--muted);cursor:pointer;display:grid;place-items:center;z-index:10;transition:color .15s,background .15s,border-color .15s}.create-modal-close:hover{color:var(--ink);background:var(--accent-soft);border-color:var(--surface-border)}.create-modal-content{position:fixed;inset:0;background:#00000080;display:grid;place-items:center;z-index:300;padding:1rem;overflow-y:auto}.create-modal-panel{background:var(--surface-strong);border-radius:var(--radius-lg);padding:2.25rem 1.25rem 1.25rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative}@media(max-width:960px){.app-main,.auth-shell-main{width:min(100%,calc(100% - .75rem));padding:.65rem 0 6.75rem}.split-layout,.auth-page,.field-grid,.resource-item{grid-template-columns:1fr}.split-layout{grid-template-rows:auto 1fr auto}.split-layout .panel-list{order:2}.split-layout .panel-form{display:none}.panel-list{margin-bottom:0;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.app-header{position:sticky;top:0;z-index:220;flex-direction:row;justify-content:space-between;padding:.65rem clamp(.5rem,2vw,1rem);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-header-brand{flex-direction:row;gap:.6rem}.app-header-mark{width:2.25rem;height:2.25rem}.app-header-title{font-size:.88rem}.app-header-kicker{display:none}.app-header-actions{flex-direction:row;gap:.25rem;align-items:center}.app-hamburger-button,.app-add-button{display:flex}.app-nav{position:fixed;left:.5rem;right:.5rem;top:3.75rem;background:var(--surface-strong);border:1px solid var(--surface-border);border-radius:var(--radius-md);box-shadow:0 12px 28px #00000029;flex-direction:column;gap:0;padding:.4rem;max-height:min(70dvh,28rem);overflow-y:auto;z-index:200;visibility:hidden;opacity:0;transform:translateY(-10px);transition:visibility .2s,opacity .2s,transform .2s}.app-nav[data-open=true]{visibility:visible;opacity:1;transform:translateY(0)}.app-nav-link{padding:.75rem 1rem;font-size:.95rem;border-radius:var(--radius-sm);transition:background .15s}.app-nav-link:hover{background:var(--accent-soft)}.app-nav button{text-align:left;width:100%;border:none}.app-main{padding-bottom:6.75rem}.app-mobile-bottom-nav{position:fixed;left:max(.65rem,env(safe-area-inset-left));right:max(.65rem,env(safe-area-inset-right));bottom:max(.65rem,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.45rem;background:color-mix(in srgb,var(--surface-strong) 92%,transparent);border:1px solid var(--surface-border);border-radius:calc(var(--radius-lg) - 4px);box-shadow:0 16px 36px #0000001f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:180}.app-mobile-bottom-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:3.3rem;padding:.45rem .7rem;border-radius:var(--radius-sm);color:var(--muted);transition:background .15s,color .15s}.app-mobile-bottom-link .material-symbols-rounded{font-size:1.5rem}.app-mobile-bottom-label{font-family:Inter,sans-serif;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.app-mobile-bottom-link-active{background:var(--accent-soft);color:var(--accent-strong)}.toolbar-row{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:.4rem;margin-bottom:.5rem}.toolbar-search{width:auto;flex:1 1 auto;min-width:0}.toolbar-search .field-label{display:none}.toolbar-search .input-field{min-height:44px;padding:.58rem .7rem;font-size:.9rem}.toolbar-action-button{min-width:44px;min-height:44px;padding:.45rem;flex-shrink:0;align-self:center}.rich-text-editor{min-width:0;max-width:100%}.rich-text-editor-content{max-height:42vh;-webkit-overflow-scrolling:touch}.rich-text-editor-content pre{white-space:pre-wrap;word-break:break-word;overflow-x:hidden}.create-modal-content{display:flex;align-items:center;justify-content:center;padding:.5rem max(.5rem,env(safe-area-inset-right)) calc(.5rem + env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left))}.create-modal-panel{max-width:100%;width:min(100%,42rem);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1rem);border-radius:14px;padding:2.2rem .9rem calc(.9rem + env(safe-area-inset-bottom));overflow-y:auto}.create-modal-close{top:.55rem;right:.55rem;width:2.2rem;height:2.2rem}.input-field,.textarea-field{padding:.75rem .85rem;font-size:1rem}.btn-primary,.btn-secondary,.btn-danger{padding:.75rem 1rem;font-size:.95rem;min-height:44px;border-radius:8px}.auth-submit-btn{width:100%;min-height:48px}.resource-item{padding:.78rem}.resource-item-title{font-size:1rem;line-height:1.2}.resource-item-actions{display:flex;flex-direction:row;align-items:center;gap:.2rem}.resource-item-action-button{background:transparent;border:1px solid transparent;padding:.5rem;color:var(--muted);cursor:pointer;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);transition:background .15s,border-color .15s,color .15s}.resource-item-action-button:hover,.resource-item-action-button:focus-visible{color:var(--ink);border-color:var(--surface-border);background:var(--accent-soft)}.item-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.35rem}.item-summary-main{flex:1 1 auto;min-width:0;overflow:hidden}.item-summary-main .resource-item-title{flex:1 1 auto;min-width:0}.status-chip{max-width:6.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-item-actions{margin-left:0}.item-detail{gap:.5rem;margin-top:.5rem;padding-top:.5rem}.resource-item-meta{font-size:.76rem}.resource-item-action-button .material-symbols-rounded{font-size:1.5rem}.page-title{font-size:clamp(1.1rem,2vw,1.4rem)}.page-shell{gap:.45rem}.page-shell-narrow{max-width:100%}.auth-page{width:100%;max-width:32rem;gap:.85rem;min-height:auto;padding:.35rem 0 1.25rem;margin:0 auto}.auth-panel{border-radius:14px}.auth-panel-form{gap:.9rem;padding:1rem}.auth-form-header{gap:.3rem}.auth-form-header h2{font-size:1.1rem;line-height:1.2}.auth-form{gap:.85rem}.auth-form>[style]{margin-bottom:.1rem}.form-field{gap:.35rem}.form-field span{font-size:.92rem;font-weight:500}.auth-panel-form>.btn-secondary{width:100%}.split-layout .panel-list{padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.toggle-field{gap:.5rem}.toggle-field input{width:1.25rem;height:1.25rem}}@media(min-width:961px){.app-mobile-bottom-nav{display:none}.panel-form{position:sticky;top:.75rem;align-self:start}}
