@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@1&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body{width:390px;height:100dvh;min-height:100vh;overflow:hidden;background:#04101e}body{position:relative}#root{position:relative;width:390px;height:100dvh;min-height:100vh}#cv{position:absolute;bottom:0;left:0;z-index:1;width:390px;font-size:10px;letter-spacing:2px;line-height:1;padding:0 8px;white-space:pre;cursor:crosshair;-webkit-user-select:none;user-select:none;font-family:monospace;background:transparent;overflow:hidden}.response-text{position:absolute;top:32px;left:0;right:0;z-index:15;padding:0 28px;text-align:center;font-family:"Instrument Serif",serif;font-style:italic;font-size:17px;color:transparent;line-height:1.55;white-space:pre-wrap;transition:color .9s ease;pointer-events:none}.response-text.visible{color:#ffffffeb}.status-text{position:absolute;top:8px;left:0;right:0;text-align:center;z-index:15;font-family:"Instrument Serif",serif;font-style:italic;font-size:11px;color:#ffffff40;transition:color .4s ease;pointer-events:none}@keyframes listening-glow{0%,to{text-shadow:0 0 6px rgba(100,220,255,.25);opacity:.55}50%{text-shadow:0 0 14px rgba(100,220,255,.9),0 0 28px rgba(100,220,255,.35);opacity:.9}}.status-text.listening{color:#64dcff8c;animation:listening-glow 2.5s ease-in-out infinite}.status-text.error{color:#ffa078d9;animation:none}.entry-screen{position:absolute;top:0;left:0;width:390px;height:100dvh;z-index:20;background:#04101ed1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;cursor:pointer;transition:opacity .8s ease}.entry-screen.hidden{opacity:0;pointer-events:none}.entry-title{font-family:"Instrument Serif",serif;font-style:italic;font-size:22px;color:#ffffffd9}.entry-sub{font-family:"Instrument Serif",serif;font-style:italic;font-size:13px;color:#ffffff52}.settings-btn{position:absolute;top:10px;right:12px;z-index:30;opacity:.35;cursor:pointer;transition:opacity .3s ease;background:none;border:none;padding:0;line-height:0}.settings-btn:hover{opacity:.75}.settings-icon{width:22px;height:22px;display:block}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#020a1273;z-index:98;pointer-events:auto}.resource-drawer{position:absolute;top:0;right:0;height:100%;min-height:100%;width:min(42%,170px);background:#060f1bfa;box-shadow:-12px 0 36px #00000047;transform:translate(100%);transition:transform .35s cubic-bezier(.22,1,.36,1);z-index:99;padding:18px 14px;display:flex;flex-direction:column;gap:12px;color:#ffffffe6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-y:auto}.resource-drawer.open{transform:translate(0)}.drawer-header{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c}.system-diagram-page{position:absolute;top:0;bottom:0;left:50%;z-index:1000;max-width:390px;width:100%;height:100%;transform:translate(-50%);background:#04101ef5;display:flex;justify-content:center;align-items:center}.system-diagram-shell{width:100%;height:100%;padding:14px;display:flex;flex-direction:column;gap:12px}.system-diagram-close{align-self:flex-start;background:#ffffff14;color:#fffffff5;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:10px 12px;font-size:14px;cursor:pointer}.system-diagram-frame{position:relative;flex:1;overflow:hidden;border-radius:20px;background:#0a121aeb;border:1px solid rgba(255,255,255,.06);touch-action:none}.system-diagram-image{position:absolute;top:0;left:0;height:100%;width:auto;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;will-change:transform}.system-diagram-image:active{cursor:grabbing}.page-overlay{position:absolute;top:0;bottom:0;left:50%;z-index:1000;max-width:390px;width:100%;height:100%;transform:translate(-50%);background:#04101ef5;display:flex;justify-content:center;align-items:center}.page-shell{width:100%;height:100%;max-width:390px;padding:16px;display:flex;flex-direction:column;gap:14px}.page-close,.kb-close{align-self:flex-start;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:14px;color:#fffffff0;padding:10px 12px;font-size:14px;cursor:pointer}.page-box{width:100%;max-width:100%;background:#060f1bfa;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:12px}.page-title,.knowledge-base-title{font-size:18px;font-weight:700;letter-spacing:.02em;color:#ffffffeb}.page-scroll,.knowledge-base-scroll{overflow-y:auto;padding-right:6px;color:#ffffffe0;font-size:14px;line-height:1.5;white-space:pre-wrap}.page-scroll p,.knowledge-base-scroll p{margin:0 0 .9em}.page-input,.kb-custom-input,.sa-input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:18px;color:#ffffffeb;padding:10px 14px;font-size:14px;outline:none}.page-input::placeholder{color:#ffffff70}.page-button,.kb-save-btn,.sa-send-btn{min-height:44px;background:#3b82f63d;border:1px solid rgba(59,130,246,.45);color:#fffffff0;padding:10px 14px;border-radius:18px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.page-button:hover:not(:disabled),.sa-send-btn:hover:not(:disabled),.kb-save-btn:hover:not(:disabled){background:#3b82f661}.page-button.saved,.page-button.sent,.kb-save-btn.saved{background:#22c55e3d;border-color:#22c55e73}.page-button:disabled,.kb-save-btn:disabled{opacity:.72;cursor:default}.page-section-label,.sa-label{font-family:"Instrument Serif",serif;font-style:italic;font-size:16px;color:#ffffffeb}.kb-close{align-self:flex-start;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:14px;color:#fffffff0;padding:10px 12px;font-size:14px;cursor:pointer}.knowledge-base-box{width:100%;max-width:100%;background:#060f1bfa;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:12px}.knowledge-base-title{font-size:18px;font-weight:700;letter-spacing:.02em;color:#ffffffeb}.solo-tests-page{position:relative}.solo-tests-shell{color:#ffffffeb}.st-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}.st-title{font-size:20px;margin:0;font-weight:600}.st-body{display:flex;flex-direction:column;gap:28px}.sa-section{display:flex;flex-direction:column;gap:12px}.sa-label{font-family:"Instrument Serif",serif;font-style:italic;font-size:16px;color:#ffffffeb}.sa-box{background:#ffffff0f;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px}.sa-system,.sa-output{height:160px;overflow-y:auto}.sa-input-row{display:flex;gap:10px;align-items:center}.sa-input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:10px 14px;color:#fffffff0;outline:none}.sa-send-btn{background:#3b82f63d;border:1px solid rgba(59,130,246,.45);color:#fff;padding:10px 14px;border-radius:16px;cursor:pointer}.sa-loading{color:#ffffffc7;opacity:.9}.sa-formatted-output{display:flex;flex-direction:column;gap:8px}.sa-out-freshness{font-size:11px;color:#ffffff61;letter-spacing:.03em;margin-bottom:2px}.sa-out-row{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.45}.sa-out-label{color:#ffffff70;min-width:84px;flex-shrink:0}.sa-out-value{color:#ffffffeb}.sa-text-output{font-size:14px;line-height:1.6;color:#ffffffeb;margin:0}.sa-out-error{font-size:13px;color:#ff6464e6}.sa-verdict{font-size:18px;font-weight:700;letter-spacing:.08em;margin-bottom:4px}.sa-verdict-safe{color:#4ade80}.sa-verdict-caution{color:#fbbf24}.sa-verdict-avoid{color:#f87171}.sa-sched-title{font-size:15px;font-weight:600;color:#fffffff5;margin-bottom:2px}.sa-conflict{font-size:13px;color:#fbbf24;margin-top:4px}.sa-out-felt{font-size:12px;color:#ffffff8c;letter-spacing:.02em}.sa-out-divider{height:1px;background:#ffffff12;margin:4px 0}.sa-best-header{font-size:14px;font-weight:600;color:#fffffff5;letter-spacing:.01em}.sa-best-unknown{font-style:italic;opacity:.65}.knowledge-base-scroll{height:50vh;overflow-y:auto;padding-right:6px;color:#ffffffe0;font-size:14px;line-height:1.5;white-space:pre-wrap}.knowledge-base-scroll p{margin:0 0 .9em}.kb-custom-label{color:#ffffffc2;font-size:13px}.kb-custom-input{width:100%;min-height:120px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:18px;color:#ffffffeb;padding:14px 16px;font-size:14px;resize:vertical;outline:none}.kb-custom-input::placeholder{color:#ffffff70}.kb-save-btn{width:100%;min-height:44px;background:#3b82f63d;border:1px solid rgba(59,130,246,.45);border-radius:18px;color:#fffffff0;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.kb-save-btn:hover:not(:disabled){background:#3b82f661}.kb-save-btn.saved{background:#22c55e3d;border-color:#22c55e73}.kb-save-btn:disabled{opacity:.72;cursor:default}.drawer-option{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;color:#fffffff0;padding:12px 14px;font-size:14px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:transform .18s ease,background .18s ease}.drawer-option:hover,.drawer-option:focus-visible{background:#ffffff1c;transform:translate(2px)}#cv.dimmed{opacity:.35;transition:opacity .45s ease}#cv:not(.dimmed){transition:opacity .45s ease}.invite-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;background:#0a121aed;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:13px 22px;text-align:center;opacity:0;transition:opacity .4s ease;pointer-events:none;white-space:nowrap}.invite-toast.visible{opacity:1}.invite-toast-label{display:block;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;color:#ffffff59;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}.invite-toast-text{display:block;font-family:"Instrument Serif",serif;font-style:italic;font-size:15px;color:#ffffffd1}.schedule-panel{position:fixed;bottom:0;left:0;width:390px;height:92dvh;background:#0a121af7;border-radius:20px 20px 0 0;z-index:40;transform:translateY(100%);transition:transform .45s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;overflow:hidden;color:#ffffffe0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.schedule-panel.open{transform:translateY(0)}.sp-scroll-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sp-scroll-body::-webkit-scrollbar{display:none}.sp-scroll-body>.sp-section:first-child{padding-top:20px}.sp-back-floating{position:absolute;top:10px;left:12px;z-index:45;background:none;border:none;color:#ffffff8c;font-size:14px;cursor:pointer;padding:6px 4px;letter-spacing:.03em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1}.sp-back-floating:hover{color:#ffffffd9}.sp-section{padding:10px 20px}.sp-scroll-body>.sp-section:last-of-type{padding-bottom:0}.sp-divider{height:1px;background:#ffffff12;margin:4px 0;flex-shrink:0}.sp-month-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sp-month-label{font-size:15px;font-weight:500;letter-spacing:.02em}.sp-month-btns{display:flex;gap:4px}.sp-month-btns button{background:none;border:none;color:#ffffff8c;font-size:20px;cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;line-height:1}.sp-month-btns button:hover{background:#ffffff14}.sp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:6px}.sp-weekdays span{font-size:11px;color:#ffffff4d;letter-spacing:.04em;padding:4px 0}.sp-day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.sp-day{background:none;border:none;color:#ffffffbf;font-size:14px;width:100%;aspect-ratio:1;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.sp-day:hover:not(:disabled){background:#ffffff1a}.sp-day-sel{background:#3b82f6!important;color:#fff!important;font-weight:600}.sp-day-past{color:#fff3;cursor:default}.sp-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.sp-info-label{font-size:13px;color:#fff6;letter-spacing:.03em}.sp-info-value{font-size:13px;color:#ffffffb3}.sp-time-input{background:#3b82f62e;border:1px solid rgba(59,130,246,.4);border-radius:20px;padding:5px 14px;font-size:13px;color:#ffffffd9;cursor:pointer;letter-spacing:.03em;outline:none;color-scheme:dark}.sp-time-input::-webkit-calendar-picker-indicator{filter:invert(.75);cursor:pointer}.sp-section-label{display:block;font-size:11px;color:#ffffff4d;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}.sp-friends-scroll{display:flex;flex-direction:row;gap:14px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}.sp-friends-scroll::-webkit-scrollbar{display:none}.sp-avatar-btn{display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:none;cursor:pointer;padding:0;flex-shrink:0}.sp-avatar-circle{width:46px;height:46px;border-radius:50%;background:hsl(var(--avatar-hue, 210),45%,28%);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:#ffffffe6;border:2px solid transparent;transition:border-color .15s ease;overflow:hidden}.sp-avatar-img{width:100%;height:100%;object-fit:cover}.sp-avatar-sel .sp-avatar-circle{border-color:#3b82f6}.sp-avatar-name{font-size:11px;color:#ffffff73;letter-spacing:.02em}.sp-avatar-sel .sp-avatar-name{color:#ffffffbf}.sp-add-btn{width:46px;height:46px;border-radius:50%;background:#ffffff0f;border:1.5px dashed rgba(255,255,255,.2);color:#fff6;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-start;transition:background .15s ease}.sp-add-btn:hover{background:#ffffff1a}.sp-add-form{display:flex;flex-direction:column;gap:6px;min-width:160px;flex-shrink:0}.sp-add-input{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:6px 10px;font-size:13px;color:#ffffffd9;outline:none}.sp-add-input::placeholder{color:#ffffff40}.sp-add-input:focus{border-color:#3b82f680}.sp-add-save{background:#3b82f640;border:1px solid rgba(59,130,246,.4);border-radius:8px;padding:5px 12px;font-size:12px;color:#fffc;cursor:pointer}.sp-add-save:hover{background:#3b82f666}.sp-error{padding:0 20px 4px;font-size:12px;color:#ffa078d9}.sp-confirm-area{padding:0 20px max(20px,env(safe-area-inset-bottom));flex-shrink:0}.sp-confirm-btn{width:100%;height:52px;background:#0c161e;border:.5px solid rgba(255,255,255,.9);border-radius:14px;font-family:"Instrument Serif",serif;font-style:italic;font-size:20px;font-weight:400;color:#fff;cursor:pointer;letter-spacing:.02em;transition:opacity .15s ease}.sp-confirm-btn:hover{opacity:.88}.sp-confirm-btn:disabled{opacity:.45;cursor:not-allowed}
