:root{--bg:#f6f2e4;--surface:#fff;--surface-solid:#fff;--surface-2:#eee7d1;--ink:#262a1c;--muted:#75765f;--muted-2:#a5a389;--border:#262a1c1f;--border-soft:#262a1c14;--border-strong:#262a1c38;--glass-highlight:#ffffffb3;--accent:#a7c25c;--accent-dark:#87a442;--accent-ink:#23281a;--accent-soft:#a7c25c33;--accent-glow:#a7c25c61;--secondary:#6e5f82;--secondary-dark:#59496b;--secondary-soft:#6e5f8214;--on-dark:#f6f2e4;--danger:#a1432f;--danger-soft:#a1432f1a;--success:#6b8f3e;--warn:#a67f2e;--warn-soft:#a67f2e1f;--radius-lg:6px;--radius-md:4px;--radius-sm:3px;--shadow-sm:0 1px 2px #1c180c0a, 0 4px 14px #1c180c0d;--shadow-md:0 18px 40px #1c180c17, 0 4px 16px #1c180c0f;--font-display:"Alegreya", "Iowan Old Style", Georgia, serif;--font-body:"Golos Text", "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--ease:cubic-bezier(.22, .8, .25, 1);--ease-spring:cubic-bezier(.32, .72, 0, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;position:relative}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(1100px 560px at 50% -12%,#a7c25c1f,#0000 60%);position:fixed;inset:0}body:after{content:"";z-index:0;pointer-events:none;opacity:.018;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:1;min-height:100vh;position:relative}button,input,textarea{font-family:inherit}::placeholder{color:var(--muted-2)}textarea{resize:vertical}::selection{background:var(--accent);color:var(--accent-ink)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#1c180c24 padding-box padding-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#1c180c38 padding-box padding-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUpSmall{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.page{animation:fadeUp .5s var(--ease-spring)}.stagger{animation:fadeUpSmall .38s var(--ease-spring) both;animation-delay:calc(var(--i,0) * 40ms)}.eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border-strong);align-items:center;gap:7px;margin-bottom:16px;padding-bottom:8px;font-size:11px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);flex-shrink:0;width:5px;height:5px;transform:rotate(45deg)}.auth-shell{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:48px 20px;display:flex;position:relative}.auth-shell-shell{width:100%;max-width:452px}.auth-card{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md);padding:42px 40px;position:relative}.auth-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.6;height:1px;position:absolute;top:0;left:40px;right:40px}.auth-card h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 26px;font-size:30px;font-weight:600;line-height:1.2}.field-label{font-family:var(--font-mono);color:var(--muted);letter-spacing:.02em;margin-bottom:7px;font-size:12px;font-weight:500}.field{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-2);height:48px;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);align-items:center;gap:10px;margin-bottom:18px;padding:0 14px;display:flex}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.field input{height:100%;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:16px}.field-icon{color:var(--muted-2);font-size:15px}.role-switch{border-bottom:1px solid var(--border-soft);background:0 0;gap:2px;margin-bottom:22px;padding:0;display:flex}.role-switch button{height:42px;color:var(--muted);cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;font-size:15px;font-weight:600}.role-switch button.active{color:var(--accent);border-bottom-color:var(--accent)}.btn{background:var(--accent);width:100%;height:52px;color:var(--accent-ink);border-radius:var(--radius-sm);letter-spacing:.003em;cursor:pointer;transition:filter .25s var(--ease-spring), transform .2s var(--ease-spring), box-shadow .25s var(--ease-spring);border:none;padding:0 24px;font-size:15.5px;font-weight:700;position:relative}.btn:hover{filter:brightness(1.1);box-shadow:0 12px 26px var(--accent-glow);transform:translateY(-1px)}.btn:active{box-shadow:none;transform:translateY(0)scale(.985)}.btn:disabled{opacity:.4;cursor:default;box-shadow:none;transform:none}.btn.dark{background:var(--secondary);color:var(--on-dark);box-shadow:none}.btn.dark:hover{filter:brightness(1.12);box-shadow:0 12px 26px #6e5f8261}.btn.ghost{border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);background:0 0;width:auto;height:40px;padding:0 18px;font-size:14.5px}.btn.ghost:hover{border-color:var(--accent);color:var(--accent);box-shadow:none;transform:none}.btn.small{border-radius:var(--radius-sm);width:auto;height:39px;padding:0 17px;font-size:14.5px}.btn.outline{border:1.5px solid var(--accent);color:var(--accent);background:0 0}.btn.outline:hover{background:var(--accent-soft);box-shadow:none}.btn.subtle{background:var(--secondary-soft);color:var(--ink);box-shadow:none;filter:none}.btn.subtle:hover{background:var(--border-strong);color:var(--ink);box-shadow:none;filter:none}.btn.subtle:active{background:var(--border-strong)}.link{color:var(--accent);text-underline-offset:2px;cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.muted-link{color:var(--muted-2);cursor:pointer;transition:color .2s var(--ease);background:0 0;border:none;padding:0;font-size:15px;font-weight:600}.muted-link:hover{color:var(--accent)}.err{color:var(--danger);margin-top:9px;font-size:14px;font-weight:600}.hint{color:var(--muted);margin-top:6px;font-size:13.5px}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease);padding:20px}.card.tight{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.card.flat{box-shadow:none;background:0 0;border-color:#0000}.card-link{cursor:pointer}.card-link:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-link:active{transform:translateY(0)scale(.99)}.pill{background:var(--surface-2);color:var(--muted);border:1px solid var(--border-soft);border-radius:var(--radius-sm);text-align:center;padding:12px 13px;font-size:14px;font-weight:500}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-sm);padding:18px}.stat-tile .num{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--accent);font-size:26px;font-weight:700}.stat-tile .label{font-family:var(--font-mono);color:var(--muted);letter-spacing:.02em;margin-top:4px;font-size:11px}.empty-state{text-align:center;color:var(--muted);padding:56px 24px}.empty-state .icon{opacity:.7;margin-bottom:10px;font-size:32px}.empty-state .title{font-family:var(--font-display);color:var(--ink);margin-bottom:6px;font-size:19px;font-weight:600}.empty-state .sub{max-width:40ch;margin:0 auto;font-size:14.5px}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#1c180c0a 0%,#1c180c17 50%,#1c180c0a 100%) 0 0/200px 100%;animation:1.3s ease-in-out infinite shimmer}.toast{z-index:90;background:var(--secondary);color:var(--on-dark);border:1px solid #ffffff14;border-left:3px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);animation:toastIn .3s var(--ease-spring);max-width:80vw;padding:13px 22px;font-size:15px;font-weight:500;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.navbar{z-index:40;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);width:calc(100% - 32px);max-width:1180px;height:62px;box-shadow:var(--shadow-sm);align-items:center;gap:2px;margin:14px auto 34px;padding:0 12px 0 22px;display:flex;position:sticky;top:14px}.navbar .brand{cursor:pointer;align-items:center;gap:10px;margin-right:20px;display:flex}.navbar .brand-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:19px;font-weight:600}.navbar .brand-name .accent-syllable{color:var(--accent);font-style:italic;font-weight:600}.brand-mark{border-radius:var(--radius-sm);background:var(--ink);width:27px;height:27px;color:var(--accent);font-family:var(--font-mono);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.nav-item{height:40px;color:var(--muted);cursor:pointer;transition:color .2s var(--ease);white-space:nowrap;background:0 0;border:none;align-items:center;padding:0 14px;font-size:14px;font-weight:600;display:flex;position:relative}.nav-item:hover{color:var(--ink)}.nav-item.active{color:var(--accent)}.nav-item.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-10px;left:14px;right:14px}.container{z-index:1;max-width:1180px;margin:0 auto;padding:20px 28px 100px;position:relative}.container.narrow{max-width:620px}.container.form{max-width:560px;padding:20px 24px 100px}.container.mid{max-width:480px;padding:20px 24px 100px}h1.page-title{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0 0 26px;font-size:42px;font-weight:600;line-height:1.08}.auth-card h1,.modal-card h2{text-wrap:balance}.row-select{border-radius:var(--radius-sm);cursor:pointer;transition:background .2s var(--ease), border-color .2s var(--ease);border:1px solid #0000;align-items:center;gap:10px;padding:13px 14px;display:flex}.row-select:hover{background:var(--surface-2)}.row-select.selected{background:var(--accent-soft);border-color:var(--accent)}.row-select.selected .row-sub{color:var(--muted)!important}.checkbox-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;margin-bottom:8px;display:flex}.checkbox-box{border:1.5px solid var(--muted-2);background:var(--surface-solid);width:17px;height:17px;color:var(--accent-ink);transition:background .2s var(--ease), border-color .2s var(--ease);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.checkbox-box.checked{border-color:var(--accent);background:var(--accent)}.spinner-center{min-height:60vh;color:var(--muted);justify-content:center;align-items:center;font-size:16px;display:flex}a.plain{color:inherit;text-decoration:none}.avatar-circle{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--border-strong);width:30px;height:30px;font-family:var(--font-mono);color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1c180c59;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-md);animation:fadeUp .3s var(--ease-spring);padding:30px;position:relative}.modal-card h2{font-family:var(--font-display);font-weight:600}.textarea{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);width:100%;color:var(--ink);min-height:110px;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);outline:none;padding:12px 14px;font-size:15.5px}.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.notice{background:var(--warn-soft);border-radius:var(--radius-sm);color:var(--warn);border:1px solid #92691b4d;padding:10px 14px;font-size:14px}.grid-profile{grid-template-columns:300px 1fr 340px;align-items:start;gap:20px;display:grid}.grid-profile-mentor{grid-template-columns:1fr 340px;align-items:start;gap:20px;display:grid}.grid-profile-mentor-inner{grid-template-columns:260px 1fr;align-items:start;gap:26px;display:grid}.grid-tasks{grid-template-columns:340px 1fr 240px;align-items:stretch;gap:22px;display:grid}.grid-mentors{grid-template-columns:1fr 260px;align-items:stretch;gap:22px;display:grid}.grid-mentors-filters{grid-template-columns:repeat(4,1fr) 1fr;gap:24px;display:grid}.grid-guides{grid-template-columns:240px 1fr;align-items:stretch;gap:22px;display:grid}@media (width<=980px){.grid-profile,.grid-profile-mentor,.grid-tasks,.grid-mentors,.grid-guides,.grid-profile-mentor-inner{grid-template-columns:1fr}.grid-mentors-filters{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.container,.container.form,.container.mid{padding:16px 16px 80px}h1.page-title{margin-bottom:18px;font-size:28px}.navbar{scrollbar-width:none;gap:2px;width:calc(100% - 16px);margin:10px auto 24px;padding:0 8px 0 14px;overflow-x:auto}.navbar::-webkit-scrollbar{display:none}.navbar .brand-name{font-size:16px}.navbar .brand{margin-right:8px}.nav-item{flex-shrink:0;padding:0 10px;font-size:13px}.auth-card{padding:28px 24px}.auth-card h1{font-size:24px}.grid-mentors-filters{grid-template-columns:1fr}}
