*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a1a;-webkit-font-smoothing:antialiased;background:#e6e6e6;min-height:100vh;font-family:DM Mono,monospace}a{color:inherit;text-decoration:none}.spinner{border:2px solid #d0d0d0;border-top-color:#7c3aed;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-nav{padding:14px 24px}.nav-links{align-items:center;gap:24px;display:flex}.nav-item{letter-spacing:.06em;align-items:center;gap:6px;font-size:12px;text-decoration:none;display:flex}.nav-new{justify-content:center;align-items:center;padding:8px 16px;display:flex}.nav-icon{flex-shrink:0;display:none}@media (max-width:640px){.app-nav{padding:10px 16px}.nav-links{gap:4px}.nav-label{display:none}.nav-icon{width:22px;height:22px;display:block}.nav-item{padding:9px}.nav-new{display:none}body{padding-bottom:88px}}.fab{right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:55;width:56px;height:56px;display:none;position:fixed}.fab-backdrop{z-index:54;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#e6e6e68c;position:fixed;inset:0}.fab-blobs{pointer-events:none;width:180px;height:180px;position:absolute;bottom:0;right:0}.fab-layer{position:absolute;inset:0}.fab.goo .fab-layer{filter:url(#goo)}.fab.goo .fab-blobs{filter:drop-shadow(0 4px 10px #7c3aed59)}.fab:not(.goo) .fab-layer:first-child .fab-blob-main{box-shadow:0 4px 14px #7c3aed59,0 2px 4px #0000001f}.fab-blob{background:#7c3aed;border-radius:50%;position:absolute}.fab-blob-main{width:56px;height:56px;transition:transform .15s;bottom:0;right:0}.fab.pressing .fab-blob-main{transform:scale(.9)}.fab-blob-opt,.fab-opt,.fab-bridge{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.fab-blob-opt,.fab-opt{width:48px;height:48px;bottom:4px;right:4px}.fab-bridge{width:24px;height:24px;bottom:16px;right:16px}.fab.open .fab-1{transform:translateY(-76px)}.fab.open .fab-2{transform:translate(-76px)}.fab.open .fab-3{transform:translate(-53.7px,-53.7px)}.fab.open .fab-1-bridge{transform:translateY(-38px)}.fab.open .fab-2-bridge{transform:translate(-38px)}.fab.open .fab-3-bridge{transform:translate(-26.9px,-26.9px)}.fab.open .fab-1.hovered{transform:translateY(-76px)scale(1.14)}.fab.open .fab-2.hovered{transform:translate(-76px)scale(1.14)}.fab.open .fab-3.hovered{transform:translate(-53.7px,-53.7px)scale(1.14)}.fab-blob-opt.hovered{background:#8b5cf6}.fab-opt.hovered{box-shadow:0 0 0 3px #ffffffbf,0 0 22px 6px #a78bfad9}.fab-opt.hovered .fab-label{background:#7c3aed}.fab-btn{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.fab-main{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;inset:0}.fab-opt{opacity:0;pointer-events:none}.fab.open .fab-opt{opacity:1;pointer-events:auto;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .2s .1s}.fab-label{color:#fff;letter-spacing:.04em;white-space:nowrap;pointer-events:none;opacity:0;background:#1a1a1a;border-radius:6px;padding:4px 8px;font-family:DM Mono,monospace;font-size:11px;transition:opacity .2s;position:absolute}.fab.open .fab-label{opacity:1;transition-delay:.2s}.fab-1 .fab-label{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.fab-2 .fab-label,.fab-3 .fab-label{top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.fab-badge{color:#fff;pointer-events:none;background:#ef4444;border:2px solid #e6e6e6;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-family:DM Mono,monospace;font-size:10px;font-weight:600;display:flex;position:absolute;top:-2px;right:-2px}.fab-tutorial-backdrop{z-index:53;background:#1a1a1a59;position:fixed;inset:0}.fab-tutorial{right:20px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:56;color:#1a1a1a;background:#f0f0f0;border:1px solid #d0d0d0;border-radius:12px;width:240px;padding:16px;position:fixed;box-shadow:0 12px 32px #0000002e}.fab-tutorial:after{content:"";background:#f0f0f0;border-bottom:1px solid #d0d0d0;border-right:1px solid #d0d0d0;width:12px;height:12px;position:absolute;bottom:-7px;right:22px;transform:rotate(45deg)}.fab.teaching .fab-main:after{content:"";border:2px solid #a78bfa;border-radius:50%;animation:1.6s ease-out infinite fab-pulse;position:absolute;inset:-6px}.fab.away{opacity:0;pointer-events:none}.fab.returning{animation:.45s cubic-bezier(.34,1.56,.64,1) fab-pop}@keyframes fab-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.fab-ball{z-index:57;color:#fff;touch-action:none;will-change:transform;background:#7c3aed;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:opacity .25s,scale .25s;display:flex;position:fixed;top:0;left:0;box-shadow:0 6px 16px #7c3aed66}.fab-ball.leaving{opacity:0;scale:.6}@keyframes fab-pulse{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(1.45)}}@media (max-width:640px){.fab{display:block}}@media (prefers-reduced-motion:reduce){.fab-blob-opt,.fab-opt,.fab-blob-main,.fab-bridge{transition:none!important}.fab.teaching .fab-main:after{animation:none}}.home-page{min-height:100dvh}.home-hero{padding:120px 24px 48px}@media (max-width:640px){.home-page{min-height:calc(100dvh - 88px)}.home-hero{padding:88px 16px 24px}}.skeleton{background:#dcdcdc;animation:1.2s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.idea-page{max-width:800px;margin:0 auto;padding:88px 24px 64px}.idea-title{overflow-wrap:anywhere;flex:1;min-width:0;font-size:28px}.idea-icon-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.idea-grid{grid-template:"status notes""sharing notes""raw notes"1fr/1fr 1fr;align-items:start;gap:16px 24px;display:grid}.idea-card{background:#f0f0f0;border:1px solid #d0d0d0;border-radius:10px;padding:18px}.idea-card-label{color:#888;letter-spacing:.08em;margin-bottom:12px;font-size:10px}.idea-status-options{flex-wrap:wrap;gap:6px;display:flex}.idea-delete{cursor:pointer;color:#999;background:0 0;border:none;align-items:center;gap:6px;padding:8px 0;font-family:DM Mono,monospace;font-size:12px;transition:color .15s;display:inline-flex}.idea-delete:hover,.idea-delete:focus-visible{color:#dc2626}@media (max-width:640px){.idea-page{padding:72px 16px 24px}.idea-title{font-size:22px}.idea-grid{grid-template-rows:none;grid-template-columns:1fr;grid-template-areas:"status""notes""sharing""raw";gap:12px}.idea-card{padding:16px}.idea-status-options{grid-template-columns:repeat(4,1fr);display:grid}.idea-status-options button{padding:10px 0!important}}::view-transition-old(root){animation-duration:.22s;animation-timing-function:ease-out}::view-transition-new(root){animation-duration:.22s;animation-timing-function:ease-out}.app-nav{view-transition-name:app-nav}.fab{view-transition-name:idea-fab}::view-transition-group(app-nav){animation:none}::view-transition-group(idea-fab){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}
