@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600&display=swap";:root{--ink: #131311;--muted: #4b4b47;--bg: #f7f4ef;--bg-alt: #ece4da;--accent: #ff6b3d;--accent-deep: #1b3552;--card: #fffdf8;--line: rgba(19, 19, 17, .12);--shadow: rgba(15, 13, 10, .2);--header-h: 64px;--footer-h: 54px}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,system-ui,sans-serif;color:var(--ink);background:radial-gradient(circle at top,#ffffff 0%,var(--bg) 45%,#e7ded2 100%);min-height:100vh}img{max-width:100%;display:block}button{font-family:inherit}.app{min-height:100vh}.tag{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:600;color:var(--accent)}.lead{font-size:1.05rem;color:var(--muted);line-height:1.6}.note{color:var(--muted);font-size:.9rem}.ghost{border:1px solid var(--line);background:transparent;padding:.5rem .9rem;border-radius:999px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.cta{border:none;background:var(--accent-deep);color:#fff;padding:.65rem 1.2rem;border-radius:999px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.cta.ghost{border:1px solid var(--line);background:transparent;color:var(--ink)}.profile-menu{position:relative}.profile-menu:after{content:"";position:absolute;top:100%;right:0;width:220px;height:12px}.profile-button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.45rem .9rem;font-weight:600;cursor:pointer;transition:box-shadow .16s ease,transform .16s ease}.profile-button:hover,.profile-menu.open .profile-button{box-shadow:0 0 0 2px #ff6b3d40;transform:translateY(-1px)}.profile-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.4rem;display:grid;gap:.2rem;min-width:180px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .16s ease,transform .16s ease;box-shadow:0 14px 30px #0000001f;z-index:12}.profile-dropdown button{border:none;background:transparent;padding:.45rem .6rem;text-align:left;border-radius:8px;cursor:pointer}.profile-dropdown button:hover{background:var(--bg-alt)}.profile-dropdown.open{opacity:1;transform:translateY(0);pointer-events:auto}.profile-button-label{display:block;line-height:1.2}.profile-button-person{display:block;font-size:.72rem;color:var(--muted);line-height:1.2;font-weight:400}.profile-dropdown-person{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);margin-top:.25rem;padding-top:.4rem!important}.profile-dropdown-person:hover{color:var(--text)}.cogita-person-chip{font-size:.82rem;color:var(--muted);padding:.3rem .6rem;border-radius:20px;border:1px solid var(--line);background:transparent;cursor:pointer;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis;transition:color .15s,border-color .15s}.cogita-person-chip:hover{color:var(--text);border-color:var(--accent, #e86c3a)}.home{position:relative;height:100vh;height:100svh;overflow:hidden;--home-header-bg: rgba(247, 244, 239, .92);--home-header-line: rgba(19, 19, 17, .12);--home-header-link: #4b4b47;--home-header-chip-bg: rgba(255, 255, 255, .92);--home-header-chip-line: rgba(19, 19, 17, .12);--home-header-menu-bg: rgba(255, 255, 255, .96)}.home[data-slide="1"]{--home-header-bg: rgba(254, 246, 238, .94);--home-header-line: rgba(94, 56, 29, .2);--home-header-link: #5a4030}.home[data-slide="2"]{--home-header-bg: rgba(243, 247, 242, .94);--home-header-line: rgba(35, 79, 45, .2);--home-header-link: #24442e}.home[data-slide="3"]{--home-header-bg: rgba(247, 241, 230, .94);--home-header-line: rgba(95, 67, 35, .2);--home-header-link: #5a4027}.home[data-slide="4"]{--home-header-bg: rgba(244, 242, 247, .94);--home-header-line: rgba(73, 63, 95, .2);--home-header-link: #45395c}.home[data-slide="5"]{--home-header-bg: rgba(254, 245, 239, .94);--home-header-line: rgba(92, 57, 39, .2);--home-header-link: #563a2b}.home[data-slide="6"]{--home-header-bg: rgba(242, 244, 241, .94);--home-header-line: rgba(45, 67, 58, .2);--home-header-link: #2e4f44}.home[data-slide="7"],.home[data-slide="8"]{--home-header-bg: rgba(247, 240, 235, .94);--home-header-line: rgba(74, 58, 45, .2);--home-header-link: #4a3a2d}.home-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 7vw;background:var(--home-header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--home-header-line);transition:background-color .32s ease,border-color .32s ease;z-index:10}.brand{display:inline-flex;align-items:center;gap:.6rem;border:none;background:transparent;cursor:pointer;text-decoration:none}.brand img{width:160px;height:auto}.home-nav{display:flex;gap:1.05rem;flex-wrap:wrap}.home-menu-toggle{display:none;border:1px solid var(--home-header-chip-line);background:var(--home-header-chip-bg);border-radius:999px;padding:.42rem .85rem;font-weight:600;cursor:pointer;transition:background-color .32s ease,border-color .32s ease}.home-nav a{background:transparent;border:none;color:var(--home-header-link);cursor:pointer;font-size:.95rem;text-decoration:none;transition:color .32s ease}.home-actions{display:flex;gap:.7rem;align-items:center}.lang-select{position:relative}.lang-button{border:1px solid var(--home-header-chip-line);background:var(--home-header-chip-bg);border-radius:999px;padding:.45rem .9rem;font-weight:600;cursor:pointer;transition:box-shadow .16s ease,transform .16s ease,background-color .32s ease,border-color .32s ease}.lang-button:hover,.lang-select.open .lang-button{box-shadow:0 0 0 2px #ff6b3d40;transform:translateY(-1px)}.lang-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.4rem;display:grid;gap:.2rem;min-width:110px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .16s ease,transform .16s ease;box-shadow:0 14px 30px #0000001f;z-index:12}.lang-menu button{border:none;background:transparent;padding:.4rem .6rem;text-align:left;border-radius:8px;cursor:pointer}.lang-menu button:hover{background:var(--bg-alt)}.lang-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}.home-viewport{height:100vh;height:100svh;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth}.home-panel-open .home-viewport{pointer-events:none}.home-section{height:100vh;height:100svh;scroll-snap-align:start;display:flex;align-items:center;padding:calc(var(--header-h) + 4vh) 8vw calc(var(--footer-h) + 4vh)}.home-section h1{font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,5vw,3.8rem);margin:0 0 1rem}.home-section p{font-size:1.05rem;color:var(--muted);line-height:1.6;margin:0 0 1.6rem}.home-content{max-width:680px;opacity:0;transform:translateY(26px);transition:opacity .26s ease,transform .26s ease}.home-section.is-active .home-content{opacity:1;transform:translateY(0)}.home-section.section-1{background:linear-gradient(135deg,#fef6ee,#f1e2d1 60%,#d9e4f2)}.home-section.section-2{background:linear-gradient(135deg,#f3f7f2,#dde9df 55%,#d6e1ee)}.home-section.section-3{background:linear-gradient(135deg,#f7f1e6,#f0dfcc 55%,#e0e8f1)}.home-section.section-4{background:linear-gradient(135deg,#f4f2f7,#e6dae6 55%,#dbe6f0)}.home-section.section-5{background:linear-gradient(135deg,#fef5ef,#f0e1d3 55%,#d6e2ef)}.home-section.section-6{background:linear-gradient(135deg,#f2f4f1,#dfebdf 55%,#d7e2ea)}.home-section.section-7{background:linear-gradient(135deg,#f7f0eb,#eadfd1 55%,#d7e2ec)}.home-dots{position:fixed;right:2.4vw;top:50%;transform:translateY(-50%);display:grid;gap:.6rem;z-index:9}.dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(19,19,17,.3);background:transparent;cursor:pointer}.dot.active{background:var(--accent);border-color:var(--accent)}.home-footer{position:fixed;bottom:0;left:0;right:0;height:var(--footer-h);display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:#121312e6;color:#fff;z-index:10}.home-footer button{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;padding:.4rem .9rem;border-radius:999px;cursor:pointer}.footer-links{display:flex;gap:.8rem}.panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;z-index:20;opacity:0;pointer-events:none;transition:opacity .16s ease}.panel-scrim{border:none;background:#0000001f;cursor:pointer;padding:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex:0 0 100%;transition:opacity .16s ease,flex-basis .22s ease}.side-panel{height:100vh;width:100%;background:#fdfaf6;box-shadow:-20px 0 50px #0003;display:flex;flex-direction:column;transform:translate(100%);flex:0 0 0%;transition:transform .22s ease,flex-basis .22s ease}.panel-overlay.is-open{opacity:1;pointer-events:auto;animation:overlayFade .16s ease}.panel-overlay.is-open .side-panel{transform:translate(0);animation:panelSlide .22s ease;flex-basis:90%}.panel-overlay.is-open .panel-scrim{flex-basis:10%;opacity:1}.panel-overlay.is-closing{opacity:0;pointer-events:none}.panel-overlay.is-closing .panel-scrim{flex-basis:100%;opacity:0}.panel-overlay.is-closing .side-panel{flex-basis:0%;transform:translate(100%)}.panel-handle{padding:1.2rem 1.6rem;border-bottom:1px solid var(--line);display:flex;justify-content:flex-start}.panel-content{padding:2rem 1.8rem 3rem;overflow-y:auto}.faq,.legal{display:grid;gap:1.6rem}.faq-grid,.legal-grid{display:grid;gap:1.2rem}.faq-grid details,.legal-grid details{background:#fff;border-radius:16px;padding:1.2rem 1.4rem;border:1px solid var(--line)}.faq-grid summary,.legal-grid summary{cursor:pointer;font-weight:600;list-style:none}.faq-grid summary::-webkit-details-marker,.legal-grid summary::-webkit-details-marker{display:none}.faq-grid details p,.legal-grid details p{margin:.6rem 0 0;color:var(--muted);line-height:1.6}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes panelSlide{0%{transform:translate(100%)}to{transform:translate(0)}}.portal-page{min-height:100vh;background:#f7f4ef}.portal-page.cogita{background:#050f1c}.portal-page.cogita .portal-header.cogita-header{background:#050e1aeb;border-bottom:1px solid rgba(120,170,220,.18)}.portal-page.cogita .portal-header.cogita-header .portal-brand img{filter:drop-shadow(0 12px 24px rgba(0,0,0,.4));height:32px;width:auto}.portal-page.cogita .portal-header.cogita-header button,.portal-page.cogita .portal-header.cogita-header .profile-button,.portal-page.cogita .portal-header.cogita-header .lang-button{color:#e2efffeb}.portal-page.cogita .portal-header.cogita-header .profile-button,.portal-page.cogita .portal-header.cogita-header .lang-button{background:#0a1a2eb3;border:1px solid rgba(140,190,235,.3)}.portal-page.cogita .portal-header.cogita-header .profile-button:hover,.portal-page.cogita .portal-header.cogita-header .profile-menu.open .profile-button{background:#0c2036f2;border-color:#aad7ff8c;box-shadow:0 0 0 2px #0c203699}.portal-page.cogita .portal-header.cogita-header .profile-dropdown,.portal-page.cogita .portal-header.cogita-header .lang-menu{background:#0a1a2ef2;border:1px solid rgba(140,190,235,.3);color:#e2efffeb}.portal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 6vw;border-bottom:1px solid var(--line);background:#ffffffe6;position:sticky;top:0;z-index:5}.portal-header-left{display:flex;align-items:center;gap:.9rem}.portal-back{font-weight:600}.portal-brand{border:none;background:transparent;padding:0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}.portal-brand:focus-visible{outline:2px solid rgba(140,190,235,.7);outline-offset:4px;border-radius:10px}.portal-brand img{width:160px}.portal{padding:3rem 6vw 5rem}.portal-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem;align-items:start}.portal-card{background:var(--card);border-radius:20px;padding:1.6rem;border:1px solid var(--line);box-shadow:0 20px 50px #00000014}.portal-card ul{padding-left:1.2rem}.portal-footer{padding:1.2rem 6vw 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line)}.portal-footer-brand img{width:140px;height:auto;border:none;outline:none;box-shadow:none;filter:none}.portal-page.cogita .portal-footer .portal-brand{border:none;background:transparent;box-shadow:none}.portal-login{transition:opacity .16s ease}.portal-login:active{opacity:.65}.auth-panel{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid var(--line)}.auth-panel-compact{padding:1.1rem}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}.tabs button{padding:.6rem .9rem;border-radius:12px;border:1px solid var(--line);background:transparent;cursor:pointer;font-weight:600}.tabs button.active{background:var(--accent-deep);color:#fff}.auth-form{display:grid;gap:.9rem}.auth-form.compact{gap:.7rem}label{display:grid;gap:.4rem;font-size:.9rem;color:var(--muted)}input{padding:.7rem .85rem;border-radius:12px;border:1px solid var(--line);font-size:1rem}.toggle{display:flex;align-items:center;gap:.6rem}.status{margin-top:1.2rem;padding:.8rem 1rem;border-radius:12px;background:var(--bg-alt);display:grid;gap:.2rem;font-size:.85rem}.status.error{background:#f7dede}.status.success{background:#e3f3ec}.session-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.6rem}.session-actions button{border:1px solid var(--line);padding:.4rem .8rem;border-radius:999px;background:transparent;cursor:pointer}.session-info{margin-top:.8rem;font-size:.85rem;color:var(--muted)}.hint{font-size:.75rem;color:var(--muted)}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f141e8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:30;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .72s ease}.login-overlay.is-active{opacity:1;pointer-events:auto}.login-card{width:min(480px,100%);background:var(--card);border-radius:22px;padding:1.6rem;border:1px solid var(--line);box-shadow:0 20px 50px #0000004d;opacity:0;transform:translateY(12px) scale(.98);transition:opacity .72s ease,transform .36s ease}.login-overlay.is-active .login-card{opacity:1;transform:translateY(0) scale(1)}.login-card-header{display:flex;align-items:center;gap:.6rem;font-weight:600}.login-card-header img{width:80px;height:auto}.login-card-note{color:var(--muted);margin:.6rem 0 1rem}.person-card-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.person-card-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem .8rem;border:1px solid var(--line);border-radius:8px;background:transparent;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.person-card-item:hover{background:var(--bg-alt)}.person-card-item.is-active{border-color:var(--accent, #e86c3a);background:color-mix(in srgb,var(--accent, #e86c3a) 8%,transparent)}.person-card-avatar{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--accent, #e86c3a);color:#fff;font-size:.85rem;font-weight:600;flex-shrink:0}.person-card-name{font-weight:500}.person-card-add{margin-bottom:.5rem}.person-card-add summary{cursor:pointer;font-size:.85rem;color:var(--muted);padding:.25rem 0;-webkit-user-select:none;user-select:none}.person-card-add summary:hover{color:var(--text)}.person-card-form{display:flex;flex-direction:column;gap:.6rem;margin-top:.75rem}.person-card-input{width:100%;padding:.55rem .75rem;border:1px solid var(--line);border-radius:6px;font-size:1rem;background:var(--bg);color:var(--text)}.person-card-input:focus{outline:none;border-color:var(--accent, #e86c3a);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #e86c3a) 20%,transparent)}.person-card-error{font-size:.85rem;color:var(--error, #c0392b);margin:0}.person-card-close{display:block;width:100%;margin-top:.5rem;font-size:.85rem;color:var(--muted);text-align:center}@media (max-width: 1160px),(orientation: portrait){.home-header{padding:0 5vw}.home-nav{display:none;position:absolute;top:calc(var(--header-h) - 2px);left:5vw;right:5vw;padding:.6rem;border-radius:14px;border:1px solid var(--home-header-chip-line);background:var(--home-header-menu-bg);box-shadow:0 14px 30px #0000001f;z-index:11;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.home-nav.open{display:grid}.home-nav a{padding:.45rem .55rem;border:1px solid var(--home-header-chip-line);border-radius:10px;background:var(--home-header-chip-bg)}.home-menu-toggle{display:inline-flex}.home-section{padding:calc(var(--header-h) + 5vh) 6vw calc(var(--footer-h) + 5vh)}.home-footer{padding:0 5vw}.home-dots{right:5vw}.portal-header{padding:1.2rem 4vw}.portal{padding:2.5rem 4vw 4rem}}.chat-page{min-height:100vh;background:radial-gradient(1200px 500px at -10% -10%,rgba(29,78,216,.2),transparent 55%),radial-gradient(900px 500px at 120% -20%,rgba(4,120,87,.18),transparent 60%),linear-gradient(160deg,#f7fafc,#eef6ff 45%,#f7fcfb);color:#0f172a;display:grid;grid-template-rows:auto 1fr auto}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid rgba(15,23,42,.12);background:#ffffffc2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-brand{text-decoration:none;color:#0f172a;font-weight:700}.chat-top-nav{display:flex;align-items:center;gap:12px}.chat-top-nav a{text-decoration:none;color:#1e293b;font-size:.92rem}.chat-header-actions{display:flex;align-items:center;gap:10px}.chat-main{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);min-height:0}.chat-sidebar{border-right:1px solid rgba(15,23,42,.12);background:#ffffffd6;padding:16px;display:grid;grid-template-rows:auto auto 1fr;gap:14px;min-height:0}.chat-sidebar-head{display:grid;gap:8px}.chat-sidebar-head h1{margin:0;font-size:1.2rem}.chat-sidebar-head select,.chat-create-form input,.chat-create-form select,.chat-create-form textarea,.chat-send-form textarea,.chat-send-form input,.chat-send-actions select,.chat-participant-form input,.chat-participant-form select{border:1px solid rgba(15,23,42,.2);border-radius:10px;background:#fff;color:#0f172a;padding:10px;font:inherit}.chat-create-form{display:grid;gap:8px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid rgba(15,23,42,.08)}.chat-create-form h2{margin:0;font-size:1rem}.chat-create-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chat-list{overflow:auto;display:grid;gap:8px;align-content:start;min-height:0}.chat-item{border:1px solid rgba(15,23,42,.12);border-radius:12px;background:#fff;color:inherit;text-align:left;padding:10px;display:grid;gap:3px;cursor:pointer}.chat-item.active{border-color:#0284c78c;box-shadow:0 0 0 2px #0284c726}.chat-item span{font-size:.82rem;color:#475569}.chat-thread{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;min-height:0;padding:16px;gap:10px}.chat-thread-head{display:flex;justify-content:space-between;align-items:start;gap:10px}.chat-thread-head h2{margin:0}.chat-thread-head p{margin:4px 0 0;color:#475569;font-size:.88rem}.chat-public-link{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#ecfeff;border:1px solid rgba(6,182,212,.25);flex-wrap:wrap}.chat-public-link span{font-size:.82rem;color:#164e63;font-weight:500;white-space:nowrap}.chat-public-link a{color:#155e75;word-break:break-all;font-size:.82rem}.chat-messages{border:1px solid rgba(15,23,42,.1);border-radius:14px;padding:12px;background:#ffffffe6;overflow:auto;min-height:0;display:grid;gap:8px;align-content:start}.chat-message{border-radius:12px;border:1px solid rgba(15,23,42,.1);background:#fff;padding:10px}.chat-message.public{border-color:#16a34a40;background:#f0fdf4}.chat-message header{display:flex;gap:8px;align-items:center;font-size:.82rem;color:#334155}.chat-message header strong{color:#0f172a}.chat-message header time{margin-left:auto}.chat-message p{margin:8px 0 0;white-space:pre-wrap}.chat-send-form{display:grid;gap:8px}.chat-send-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.chat-participants{border-top:1px solid rgba(15,23,42,.12);padding-top:10px;display:grid;gap:8px}.chat-participants h3{margin:0}.chat-participant-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chat-participant-form label{display:inline-flex;align-items:center;gap:4px;font-size:.86rem;color:#334155}.chat-participants ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}.chat-participants li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;border:1px solid rgba(15,23,42,.08);border-radius:10px;padding:8px}.chat-field-row{display:grid;gap:4px}.chat-field-label{font-size:.82rem;color:#475569;font-weight:500}.chat-field-hint{font-size:.76rem;color:#94a3b8}.chat-role-select{border:1px solid rgba(15,23,42,.2);border-radius:10px;background:#fff;color:#0f172a;padding:6px 8px;font:inherit;min-height:80px}.chat-note{color:#64748b;font-size:.9rem}.chat-status{position:fixed;right:14px;bottom:14px;max-width:min(420px,calc(100% - 24px));border-radius:10px;border:1px solid rgba(15,23,42,.18);background:#fff;color:#0f172a;padding:10px 12px;box-shadow:0 10px 26px #0f172a29;z-index:30}.chat-footer{padding:10px 20px;border-top:1px solid rgba(15,23,42,.1);display:flex;justify-content:space-between;gap:12px;color:#475569;font-size:.84rem}.chat-page-guest .chat-guest-main{display:grid;place-content:center;justify-items:center;text-align:center;gap:12px;padding:20px}.chat-public-main{max-width:960px;width:min(100%,960px);margin:0 auto;padding:16px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:0}.chat-public-head h1{margin:0}.chat-public-head p{margin:4px 0 0;color:#475569}.chat-thread-actions{display:flex;gap:8px;flex-shrink:0;align-items:start}.chat-thread-links{display:grid;gap:6px}.chat-message-type{font-size:.75rem;background:#e0f2fe;color:#075985;border-radius:6px;padding:1px 6px;text-transform:capitalize}.chat-participant-perms{font-size:.82rem;color:#475569}.chat-invite-error{display:grid;gap:12px;justify-items:start;padding:24px 16px}.chat-invite-error h1{margin:0;color:#b91c1c}.chat-invite-error p{margin:0;color:#475569}.chat-invite-loading{color:#64748b;font-weight:400}.chat-invite-action-error{margin:0;color:#b91c1c;font-size:.88rem}.chat-invite-link-box{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#fefce8;border:1px solid rgba(234,179,8,.3);flex-wrap:wrap}.chat-invite-link-label{font-size:.82rem;color:#713f12;font-weight:500;white-space:nowrap}.chat-invite-link-url{color:#92400e;font-size:.82rem;word-break:break-all;flex:1;min-width:0}.chat-invite-page .chat-invite-main{max-width:960px;width:min(100%,960px);margin:0 auto;padding:16px;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-height:0}.chat-invite-head h1{margin:0}.chat-invite-scope{margin:4px 0 0;color:#475569;font-size:.9rem}.chat-invite-banner{display:grid;gap:10px;padding:14px 16px;border-radius:12px;background:#eff6ff;border:1px solid rgba(59,130,246,.25);align-items:center}.chat-invite-banner p{margin:0;color:#1e40af}.chat-invite-banner--auth{background:#f0fdf4;border-color:#16a34a40}.chat-invite-banner--auth p{color:#14532d}.chat-invite-banner--joined{background:#f0fdf4;border-color:#16a34a66}.chat-invite-banner--joined p{color:#15803d;font-weight:500}.chat-invite-role-select{border:1px solid rgba(15,23,42,.2);border-radius:10px;background:#fff;color:#0f172a;padding:8px 10px;font:inherit}@media (max-width: 1024px){.chat-main{grid-template-columns:1fr;grid-template-rows:auto 1fr}.chat-sidebar{border-right:none;border-bottom:1px solid rgba(15,23,42,.12)}}@media (max-width: 720px){.chat-header{flex-wrap:wrap;padding:12px}.chat-top-nav{width:100%;justify-content:space-around;order:3}.chat-thread{padding:12px}.chat-participants li{grid-template-columns:1fr;gap:4px}}.calendar-page{min-height:100vh;background:radial-gradient(1200px 560px at -20% -8%,rgba(14,116,144,.24),transparent 58%),radial-gradient(980px 520px at 120% -12%,rgba(16,185,129,.2),transparent 62%),linear-gradient(165deg,#f7faf7,#eef6f6 42%,#eff8fc);color:#0f172a;display:grid;grid-template-rows:auto 1fr}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid rgba(15,23,42,.12);background:#ffffffdb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.calendar-brand{text-decoration:none;color:#0f172a;font-weight:700}.calendar-top-nav{display:flex;align-items:center;gap:12px}.calendar-top-nav a{text-decoration:none;color:#0f172a}.calendar-header-actions{display:flex;align-items:center;gap:10px}.calendar-main{display:grid;gap:14px;padding:14px}.calendar-main-public{grid-template-columns:1fr;max-width:900px;margin:0 auto;width:100%}.calendar-main-simple{grid-template-columns:minmax(320px,420px) minmax(0,1fr);max-width:1200px;margin:0 auto;width:100%;align-items:start}.calendar-workspace{grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(500px,620px);grid-template-areas:"sidebar board detail";align-items:start}.calendar-sidebar,.calendar-board-section,.calendar-detail-panel,.calendar-panel{border:1px solid rgba(15,23,42,.1);border-radius:14px;background:#ffffffeb;padding:14px}.calendar-public-card{border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:12px;background:#fff;display:grid;gap:6px}.calendar-sidebar{grid-area:sidebar;display:grid;gap:10px}.calendar-board-section{grid-area:board}.calendar-detail-panel{grid-area:detail}.calendar-field-row{display:grid;gap:6px}.calendar-field-row input,.calendar-field-row select,.calendar-field-row textarea,.calendar-create-form input,.calendar-create-form select,.calendar-create-form textarea{width:100%;border:1px solid rgba(15,23,42,.2);border-radius:10px;padding:8px 10px;font:inherit;background:#fff}.calendar-create-form{display:grid;gap:8px;border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:10px;background:#f1f5f980}.calendar-detail-panel .calendar-create-form{margin-bottom:8px}.calendar-inline-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.calendar-view-switch{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.calendar-view-switch button,.calendar-range-nav button,.calendar-detail-actions button,.calendar-share-panel button,.calendar-occurrence-row button,.calendar-day-card button,.calendar-role-link-panel button{border:1px solid rgba(15,23,42,.18);background:#fff;border-radius:10px;padding:8px 10px;font:inherit;cursor:pointer;color:#0f172a}.calendar-view-switch .is-active{background:#0f766e;color:#fff;border-color:#0f766e}.calendar-range-nav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.calendar-board-header h2,.calendar-board-header p{margin:0}.calendar-board-header{display:grid;gap:6px;margin-bottom:10px}.calendar-month-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.calendar-day-card{border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:10px;background:#fff}.calendar-day-card h3{margin:0 0 8px}.calendar-day-card ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.calendar-day-card button{width:100%;text-align:left}.calendar-day-card button.is-selected{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e26}.calendar-occurrence-list{display:grid;gap:8px}.calendar-occurrence-row button{width:100%;display:grid;gap:4px;text-align:left}.calendar-occurrence-row.is-selected button{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e26}.calendar-conflicts{margin-top:12px}.calendar-conflicts ul,.calendar-share-panel ul,.calendar-graph-history ul{margin:8px 0 0;padding-left:18px;display:grid;gap:6px}.calendar-detail-panel{display:grid;gap:10px}.calendar-detail-panel h2,.calendar-detail-panel h3,.calendar-detail-panel p{margin:0}.calendar-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.calendar-share-panel,.calendar-graph-history{border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:10px;background:#f8fafcd9}.calendar-main-selected-panel{display:grid;gap:10px}.calendar-main-selected-panel h3,.calendar-main-selected-panel h4,.calendar-main-selected-panel p{margin:0}.calendar-selected-content{display:grid;gap:10px}.calendar-graph-flow{height:340px;border:1px solid rgba(15,23,42,.14);border-radius:10px;overflow:hidden;background:#fff}.calendar-graph-flow .react-flow__edge-path{stroke-linecap:round}.calendar-typed-node{min-width:250px;max-width:360px;max-height:420px;border:1px solid rgba(15,23,42,.18);border-radius:12px;background:#fff;box-shadow:0 6px 18px #0f172a14;overflow:hidden}.calendar-typed-node.is-selected{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e33,0 8px 20px #0f172a1f}.calendar-typed-node-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;background:linear-gradient(90deg,#f8fafc,#eef2ff);border-bottom:1px solid rgba(15,23,42,.08)}.calendar-typed-node-head strong{font-size:12px;color:#0f172a}.calendar-typed-node-head span{font-size:11px;text-transform:uppercase;letter-spacing:.02em;color:#334155}.calendar-typed-node-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;max-height:370px;overflow:auto}.calendar-typed-node-col{display:grid;gap:6px}.calendar-typed-node-empty{color:#94a3b8;font-size:11px}.calendar-typed-port{position:relative;min-height:20px;display:flex;align-items:center}.calendar-typed-port-in{justify-content:flex-start;padding-left:16px}.calendar-typed-port-out{justify-content:flex-end;padding-right:16px}.calendar-typed-handle{width:12px;height:12px;border:2px solid #fff;background:var(--port-color, #334155);box-shadow:0 0 0 1px #0f172a40}.calendar-port-type{border-radius:999px;padding:2px 7px;font-size:11px;line-height:1.2;border:1px solid transparent}.calendar-port-type-string{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.calendar-port-type-number{color:#c2410c;background:#ffedd5;border-color:#fdba74}.calendar-port-type-date{color:#6d28d9;background:#ede9fe;border-color:#c4b5fd}.calendar-port-type-boolean{color:#166534;background:#dcfce7;border-color:#86efac}.calendar-port-type-json{color:#334155;background:#e2e8f0;border-color:#cbd5e1}.calendar-port-legend{display:flex;flex-wrap:wrap;gap:8px}.calendar-role-link-panel{display:grid;gap:8px;border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:10px;background:#f1f5f980}.calendar-role-link-panel h2,.calendar-role-link-panel h3{margin:0}.calendar-role-link-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.calendar-role-link-panel li{display:flex;justify-content:space-between;align-items:center;gap:8px}.calendar-role-list-block{display:grid;gap:6px}.calendar-viewer-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.calendar-viewer-list li{display:flex;justify-content:space-between;align-items:center;gap:8px}.calendar-share-panel textarea,.calendar-share-panel select{width:100%;border:1px solid rgba(15,23,42,.2);border-radius:10px;padding:8px 10px;font:inherit;background:#fff}.calendar-qr-block{display:grid;gap:8px;justify-items:start;margin-top:8px}.calendar-qr-block p{word-break:break-all}.calendar-error{color:#b91c1c}.calendar-error-block{display:grid;gap:8px;padding:10px;border:1px solid rgba(185,28,28,.2);border-radius:10px;background:#fef2f2}.calendar-main-teamup{grid-template-columns:minmax(250px,300px) minmax(0,1fr) minmax(280px,340px);max-width:1400px;margin:0 auto;width:100%;align-items:start}.calendar-shell-sidebar{display:grid;gap:12px}.calendar-shell-main{display:grid;gap:12px;min-height:720px}.calendar-shell-right{display:grid;gap:12px;align-content:start;position:sticky;top:14px}.calendar-shell-meta{display:grid;gap:6px}.calendar-shell-meta h3,.calendar-shell-meta p{margin:0}.calendar-shell-toolbar{display:grid;gap:10px}.calendar-shell-range{margin:0;color:#334155;font-weight:600}.calendar-view-switch-shell{grid-template-columns:repeat(6,minmax(64px,1fr))}.calendar-mini-month{border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:10px;background:#f8fafc}.calendar-mini-month-header{margin-bottom:8px}.calendar-mini-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-mini-day{border:1px solid rgba(15,23,42,.14);border-radius:8px;background:#fff;padding:4px;font:inherit;font-size:12px;cursor:pointer}.calendar-mini-day.is-outside{color:#94a3b8}.calendar-mini-day.is-active{background:#0f766e;color:#fff;border-color:#0f766e}.calendar-sidebar-title{margin:0}.calendar-sidebar-chips{display:grid;gap:6px}.calendar-side-chip{border:1px solid rgba(15,23,42,.18);border-radius:8px;background:#fff;color:#0f172a;font:inherit;padding:6px 8px;text-align:left;display:flex;align-items:center;gap:8px;cursor:pointer}.calendar-side-chip.is-active{background:#ecfeff;border-color:#0f766e}.calendar-side-chip-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.calendar-advanced-link{color:#0f766e;font-weight:600;text-decoration:none}.calendar-scheduler-grid{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px}.calendar-time-column{display:grid;grid-template-rows:repeat(16,50px)}.calendar-time-cell{font-size:12px;color:#64748b;display:flex;align-items:flex-start;justify-content:flex-end;padding-right:4px}.calendar-scheduler-days{display:grid;gap:8px}.calendar-scheduler-day{border:1px solid rgba(15,23,42,.12);border-radius:10px;overflow:hidden;background:#fff}.calendar-scheduler-day-header{padding:8px 10px;border-bottom:1px solid rgba(15,23,42,.1);font-weight:600;font-size:13px}.calendar-scheduler-day-body{position:relative;height:800px;display:grid;grid-template-rows:repeat(16,1fr)}.calendar-scheduler-hour-line{border-top:1px dashed rgba(15,23,42,.12)}.calendar-scheduler-event{position:absolute;left:6px;right:6px;border:0;border-radius:8px;color:#fff;padding:6px;text-align:left;font:inherit;display:grid;gap:2px;cursor:pointer;overflow:hidden}.calendar-scheduler-event strong{font-size:12px;line-height:1.2}.calendar-scheduler-event span{font-size:11px}.calendar-scheduler-event.is-selected{box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #0f766eb3}.calendar-month-grid-shell{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day-card.is-outside{background:#f8fafc}.calendar-timeline,.calendar-year-grid{display:grid;gap:10px}.calendar-timeline-row,.calendar-year-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px;align-items:center}.calendar-timeline-label,.calendar-year-label{font-size:13px;font-weight:600;color:#334155}.calendar-timeline-track,.calendar-year-track{position:relative;height:36px;border:1px solid rgba(15,23,42,.12);border-radius:8px;background:repeating-linear-gradient(to right,#fff,#fff 23px,#0f172a0a 24px)}.calendar-timeline-event,.calendar-year-event{position:absolute;top:5px;height:26px;border:0;border-radius:6px;color:#fff;font:inherit;font-size:12px;padding:0 8px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-timeline-event.is-selected,.calendar-year-event.is-selected{box-shadow:0 0 0 2px #0f766ecc}.calendar-page-guest .calendar-guest-main{display:grid;place-content:center;justify-items:center;text-align:center;gap:12px;padding:20px}@media (max-width: 1200px){.calendar-main-teamup{grid-template-columns:minmax(220px,270px) minmax(0,1fr) minmax(240px,300px)}.calendar-workspace{grid-template-columns:minmax(260px,340px) minmax(460px,1fr);grid-template-areas:"sidebar detail" "board detail"}}@media (max-width: 1080px){.calendar-main-teamup{grid-template-columns:1fr;grid-template-areas:"sidebar" "detail" "board"}.calendar-main-simple{grid-template-columns:1fr}.calendar-workspace{grid-template-columns:1fr;grid-template-areas:"sidebar" "board" "detail"}.calendar-inline-grid{grid-template-columns:1fr}.calendar-view-switch-shell{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-shell-sidebar{grid-area:sidebar}.calendar-shell-right{grid-area:detail;position:static}.calendar-shell-main{grid-area:board}.calendar-timeline-row,.calendar-year-row{grid-template-columns:1fr}}@media (max-width: 900px){.calendar-header{flex-wrap:wrap}.calendar-top-nav{width:100%;order:3;overflow-x:auto}}:root{--cg-bg: #050F1C;--cg-surface: #0a1929;--cg-surface-2: #0f2236;--cg-border: rgba(126, 200, 255, .12);--cg-border-med: rgba(126, 200, 255, .22);--cg-cyan: #7EC8FF;--cg-cyan-dim: rgba(126, 200, 255, .7);--cg-red: #EE4D3C;--cg-text: rgba(220, 238, 255, .92);--cg-text-dim: rgba(180, 210, 240, .55);--cg-radius: 10px;--cg-nav-w: 220px;--cg-header-h: 52px}.cg-root{display:flex;flex-direction:column;min-height:100vh;background:var(--cg-bg);color:var(--cg-text);font-family:inherit}.cg-header{position:sticky;top:0;z-index:100;height:var(--cg-header-h);display:flex;align-items:center;padding:0 1.25rem;gap:.75rem;background:#050f1cf2;border-bottom:1px solid var(--cg-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cg-header-logo{font-size:1rem;font-weight:700;letter-spacing:.06em;color:var(--cg-cyan);text-decoration:none;cursor:pointer;background:none;border:none;padding:0}.cg-header-sep{color:var(--cg-text-dim);font-size:.85rem}.cg-header-crumb{font-size:.88rem;color:var(--cg-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.cg-header-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.cg-body{display:flex;flex:1;min-height:0}.cg-sidebar{width:var(--cg-nav-w);flex-shrink:0;display:flex;flex-direction:column;background:var(--cg-surface);border-right:1px solid var(--cg-border);padding:1rem 0;overflow-y:auto}.cg-sidebar-section{padding:0 .75rem;margin-bottom:.25rem}.cg-sidebar-label{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cg-text-dim);padding:.5rem .5rem .25rem}.cg-nav-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .6rem;border-radius:7px;font-size:.875rem;color:var(--cg-text-dim);background:none;border:none;cursor:pointer;text-align:left;transition:background .15s,color .15s}.cg-nav-item:hover{background:#7ec8ff12;color:var(--cg-text)}.cg-nav-item.active{background:#7ec8ff21;color:var(--cg-cyan);font-weight:600}.cg-nav-item-icon{font-size:.9rem;width:1rem;text-align:center;flex-shrink:0}.cg-main{flex:1;min-width:0;padding:1.75rem 2rem;overflow-y:auto}.cg-page-title{font-size:1.35rem;font-weight:700;color:var(--cg-text);margin:0 0 .25rem}.cg-page-sub{font-size:.85rem;color:var(--cg-text-dim);margin:0 0 1.5rem}.cg-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.cg-card{background:var(--cg-surface);border:1px solid var(--cg-border);border-radius:var(--cg-radius);padding:1.1rem 1.25rem;cursor:pointer;transition:border-color .18s,transform .18s;display:flex;flex-direction:column;gap:.35rem}.cg-card:hover{border-color:var(--cg-border-med);transform:translateY(-1px)}.cg-card-title{font-size:1rem;font-weight:600;color:var(--cg-text);margin:0}.cg-card-meta{font-size:.78rem;color:var(--cg-text-dim)}.cg-card-badge{display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:.18rem .5rem;border-radius:4px;background:#7ec8ff1a;color:var(--cg-cyan-dim);margin-top:.25rem;align-self:flex-start}.cg-card-badge.vocabulary{background:#3a9bd52e;color:#7ec8ff}.cg-card-badge.phonebook{background:#10b9812e;color:#34d399}.cg-card-badge.lesson{background:#8b5cf62e;color:#a78bfa}.cg-card-badge.custom{background:#f973162e;color:#fb923c}.cg-wizard{max-width:560px}.cg-wizard-title{font-size:1.1rem;font-weight:700;margin:0 0 1rem;color:var(--cg-text)}.cg-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.cg-template-card{background:var(--cg-surface);border:2px solid var(--cg-border);border-radius:var(--cg-radius);padding:1rem;cursor:pointer;transition:border-color .15s,background .15s;text-align:left}.cg-template-card:hover{border-color:var(--cg-border-med);background:var(--cg-surface-2)}.cg-template-card.selected{border-color:var(--cg-cyan);background:#7ec8ff0f}.cg-template-icon{font-size:1.5rem;margin-bottom:.4rem}.cg-template-name{font-size:.9rem;font-weight:600;color:var(--cg-text);margin:0 0 .2rem}.cg-template-desc{font-size:.75rem;color:var(--cg-text-dim);margin:0;line-height:1.4}.cg-field-group{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.cg-label{font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--cg-text-dim)}.cg-input{width:100%;background:var(--cg-surface-2);border:1px solid var(--cg-border-med);border-radius:7px;padding:.55rem .8rem;font-size:.9rem;color:var(--cg-text);outline:none;transition:border-color .15s;box-sizing:border-box}.cg-input:focus{border-color:var(--cg-cyan)}.cg-textarea{resize:vertical;min-height:80px}.cg-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:7px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:opacity .15s,background .15s}.cg-btn:disabled{opacity:.45;cursor:not-allowed}.cg-btn-primary{background:var(--cg-cyan);color:var(--cg-bg)}.cg-btn-primary:hover:not(:disabled){opacity:.88}.cg-btn-ghost{background:none;color:var(--cg-text-dim);border:1px solid var(--cg-border-med)}.cg-btn-ghost:hover:not(:disabled){background:#7ec8ff12;color:var(--cg-text)}.cg-btn-danger{background:none;color:var(--cg-red);border:1px solid rgba(238,77,60,.3)}.cg-btn-danger:hover:not(:disabled){background:#ee4d3c14}.cg-btn-sm{padding:.3rem .65rem;font-size:.8rem}.cg-table-wrap{overflow-x:auto;border-radius:var(--cg-radius);border:1px solid var(--cg-border)}.cg-table{width:100%;border-collapse:collapse;font-size:.875rem}.cg-table th{background:var(--cg-surface);padding:.6rem .9rem;text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cg-text-dim);border-bottom:1px solid var(--cg-border);white-space:nowrap}.cg-table td{padding:.65rem .9rem;border-bottom:1px solid var(--cg-border);color:var(--cg-text);vertical-align:middle}.cg-table tr:last-child td{border-bottom:none}.cg-table tr:hover td{background:#7ec8ff0a}.cg-table-actions{display:flex;gap:.4rem;justify-content:flex-end}.cg-lib-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem}.cg-lib-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;background:#7ec8ff1a;color:var(--cg-cyan)}.cg-lib-info{flex:1}.cg-lib-kicker{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cg-text-dim);margin:0 0 .25rem}.cg-lib-name{font-size:1.5rem;font-weight:700;color:var(--cg-text);margin:0}.cg-stats-row{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.cg-stat{display:flex;flex-direction:column;gap:.15rem}.cg-stat-value{font-size:1.6rem;font-weight:700;color:var(--cg-cyan);line-height:1}.cg-stat-label{font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--cg-text-dim)}.cg-action-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:2rem}.cg-kind-panel{background:var(--cg-surface);border:1px solid var(--cg-border);border-radius:var(--cg-radius);margin-bottom:1rem}.cg-kind-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--cg-border);-webkit-user-select:none;user-select:none}.cg-kind-name{font-size:.95rem;font-weight:600;color:var(--cg-text);flex:1}.cg-kind-subentity-badge{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cg-text-dim);background:var(--cg-surface-2);border-radius:4px;padding:.15rem .45rem}.cg-kind-body{padding:.75rem 1rem}.cg-field-row{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--cg-border);font-size:.85rem}.cg-field-row:last-child{border-bottom:none}.cg-field-name{flex:1;font-weight:500;color:var(--cg-text)}.cg-field-type{font-size:.75rem;color:var(--cg-cyan-dim);background:#7ec8ff14;padding:.15rem .4rem;border-radius:4px}.cg-field-flags{font-size:.72rem;color:var(--cg-text-dim);display:flex;gap:.3rem}.cg-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.cg-search{flex:1;min-width:180px;max-width:320px}.cg-select{background:var(--cg-surface-2);border:1px solid var(--cg-border-med);border-radius:7px;padding:.5rem .75rem;font-size:.875rem;color:var(--cg-text);outline:none;cursor:pointer}.cg-empty{text-align:center;padding:3rem 1rem;color:var(--cg-text-dim);font-size:.9rem}.cg-node-editor{max-width:700px}.cg-node-editor-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.cg-field-value-row{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.cg-field-value-label{flex-shrink:0;width:120px;padding-top:.55rem;font-size:.8rem;font-weight:600;color:var(--cg-text-dim);text-transform:uppercase;letter-spacing:.05em}.cg-field-value-input{flex:1}.cg-landing{min-height:100vh;background:var(--cg-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;text-align:center}.cg-landing-logo{font-size:1.1rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cg-cyan);margin-bottom:.5rem}.cg-landing-title{font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.15;color:var(--cg-text);margin:0 0 1rem}.cg-landing-title span{color:var(--cg-cyan)}.cg-landing-sub{font-size:1rem;color:var(--cg-text-dim);max-width:520px;margin:0 auto 2.5rem;line-height:1.6}.cg-landing-features{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.5rem;max-width:680px}.cg-landing-feature{background:var(--cg-surface);border:1px solid var(--cg-border);border-radius:var(--cg-radius);padding:1.25rem 1.5rem;text-align:left;width:190px}.cg-landing-feature-icon{font-size:1.5rem;margin-bottom:.5rem}.cg-landing-feature-title{font-size:.9rem;font-weight:700;color:var(--cg-text);margin:0 0 .3rem}.cg-landing-feature-desc{font-size:.78rem;color:var(--cg-text-dim);margin:0;line-height:1.45}.cg-landing-cta{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-bottom:2rem}.cg-landing-links{font-size:.82rem;color:var(--cg-text-dim);display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.cg-landing-link{color:var(--cg-cyan-dim);background:none;border:none;cursor:pointer;font-size:.82rem;text-decoration:underline;text-underline-offset:2px}.cg-landing-link:hover{color:var(--cg-cyan)}.cg-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--cg-text-dim);font-size:.9rem}.cg-error{color:var(--cg-red);font-size:.875rem;padding:.5rem .75rem;background:#ee4d3c14;border-radius:7px;border:1px solid rgba(238,77,60,.2)}.cg-section{margin-bottom:2rem}.cg-section-title{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cg-text-dim);margin:0 0 .75rem;padding-bottom:.4rem;border-bottom:1px solid var(--cg-border)}.cg-inline-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.cg-inline-form .cg-input{flex:1;min-width:140px}@media (max-width: 640px){:root{--cg-nav-w: 0px}.cg-sidebar{display:none}.cg-main{padding:1rem}.cg-template-grid{grid-template-columns:1fr}.cg-landing-feature{width:100%}}
