:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:#0a0a12;font-family:Space Mono,ui-monospace,Consolas,monospace}#root{min-height:100svh}.auth-checking{color:#666;text-align:center;padding:4rem 1.5rem;font-family:Space Mono,ui-monospace,Consolas,monospace}.funky-page{background:linear-gradient(-45deg,#ff2ec4,#7b2fff,#2ee6ff,#2eff9c,#ffee2e,#ff2ec4) 0 0/400% 400%;justify-content:center;align-items:center;min-height:100svh;animation:8s infinite gradientShift;display:flex;position:relative;overflow:hidden}.login-overlay{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05050a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-form{background:#16171d;border:1px solid #2e303a;border-radius:12px;flex-direction:column;gap:.75rem;width:100%;max-width:300px;padding:2rem;font-family:Space Mono,monospace;display:flex}.login-form h2{text-align:center;color:#eee;margin:0 0 .5rem;font-size:1.1rem}.login-form input{color:#eee;background:#1a1a1a;border:1px solid #444;border-radius:8px;padding:.6rem .8rem;font-family:inherit}.login-form button[type=submit]{color:#fff;cursor:pointer;background:#7b2fff;border:none;border-radius:8px;padding:.6rem 1rem}.login-form button[type=submit]:disabled{opacity:.6;cursor:default}.login-error{color:#ff6b6b;text-align:center;margin:0;font-size:.85rem}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.marquee{z-index:2;background:#0a0a12;border-bottom:2px solid #ffffff40;padding:.5rem 0;position:absolute;top:0;left:0;right:0;overflow:hidden}.marquee-track{white-space:nowrap;letter-spacing:2px;color:#ffee2e;width:max-content;font-family:Bungee,Space Mono,monospace;font-size:.9rem;animation:14s linear infinite marqueeScroll;display:flex}.marquee-track span{padding-right:2rem}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.blob{filter:blur(70px);opacity:.6;mix-blend-mode:screen;z-index:0;border-radius:50%;position:absolute}.blob-1{background:#ff005c;width:360px;height:360px;animation:9s ease-in-out infinite float1;top:-100px;left:-100px}.blob-2{background:#00fff0;width:300px;height:300px;animation:11s ease-in-out infinite float2;bottom:-80px;right:-80px}.blob-3{background:#fe0;width:240px;height:240px;animation:13s ease-in-out infinite float3;bottom:15%;left:8%}.blob-4{background:#b000ff;width:260px;height:260px;animation:10s ease-in-out infinite reverse float1;top:20%;right:10%}@keyframes float1{0%,to{transform:translate(0)scale(1)rotate(0)}50%{transform:translate(50px,-60px)scale(1.25)rotate(40deg)}}@keyframes float2{0%,to{transform:translate(0)scale(1)rotate(0)}50%{transform:translate(-60px,40px)scale(1.3)rotate(-30deg)}}@keyframes float3{0%,to{transform:translate(0)scale(1)}50%{transform:translate(40px,50px)scale(1.4)}}.particle-field{z-index:1;pointer-events:none;position:absolute;inset:0}.particle{filter:drop-shadow(0 0 6px #fff6);animation-name:rise;animation-timing-function:ease-in;animation-iteration-count:infinite;position:absolute;bottom:-10%}@keyframes rise{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-115vh)rotate(360deg)}}.card-wrap{z-index:3;background:conic-gradient(#ff2ec4,#2effe6,#ffee2e,#ff2ec4);border-radius:28px;padding:4px;position:relative;box-shadow:0 0 60px #ff2ec459}.card-wrap.spin-once{animation:.7s ease-out spinBorder}@keyframes spinBorder{to{transform:rotate(360deg)}}.card{text-align:center;-webkit-backdrop-filter:blur(14px);background:#0a0a14c7;border-radius:24px;max-width:90vw;padding:3rem 3.5rem;position:relative;overflow:visible}.title{letter-spacing:1px;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#ff2ec4,#2effe6,#ffee2e,#ff2ec4) 0 0/300%;color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 1.75rem;font-family:Bungee,Space Mono,monospace;font-size:clamp(1.6rem,5vw,2.7rem);line-height:1.3;animation:4s linear infinite hueSlide,2.4s ease-in-out infinite wiggle}.title:active{transform:scale(.96)}@keyframes hueSlide{to{background-position:300%}}@keyframes wiggle{0%,to{transform:skew(0)}25%{transform:skew(-2deg)}75%{transform:skew(2deg)}}.domain{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.5rem;font-family:Space Mono,monospace;font-size:.95rem;animation:2s ease-in-out infinite pulseGlow;display:inline-flex}.domain:hover{background:#ffffff38}.disco{display:inline-block}.disco.spin-once{animation:.7s ease-out spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #fff0}50%{box-shadow:0 0 25px #fff9}}.emoji-row{justify-content:center;gap:.75rem;margin-top:1.75rem;font-size:1.85rem;display:flex}.emoji-row span{animation:1.8s ease-in-out infinite bounce;display:inline-block}.emoji-row span:nth-child(2){animation-delay:.15s}.emoji-row span:nth-child(3){animation-delay:.3s}.emoji-row span:nth-child(4){animation-delay:.45s}.emoji-row span:nth-child(5){animation-delay:.6s}@keyframes bounce{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(15deg)}}.card footer{color:#ffffff8c;margin-top:2rem;font-size:.75rem}.burst{pointer-events:none;width:0;height:0;position:absolute;top:3rem;left:50%}.burst-piece{font-size:1.4rem;animation:1.1s ease-out forwards burstOut;position:absolute;transform:translate(-50%,-50%)}@keyframes burstOut{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)translate(0)}to{transform:translate(-50%, -50%) rotate(var(--angle)) translateX(var(--distance));opacity:0}}.dashboard{color:#eee;background:#0a0a12;min-height:100svh;padding:3rem 1.5rem;font-family:Space Mono,ui-monospace,Consolas,monospace}.dash-header,.app-grid{width:100%;max-width:720px;margin:0 auto}.dash-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2.5rem;display:flex}.dash-header h1{background:linear-gradient(90deg,#ff2ec4,#2effe6,#ffee2e) 0 0/200%;color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.4rem}.dash-sub{color:#777;margin:.4rem 0 0;font-size:.85rem}.logout{color:#ccc;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;flex-shrink:0;padding:.4rem .9rem;font-family:inherit}.logout:hover{color:#fff;border-color:#666}.app-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:1rem;display:grid}.app-tile{aspect-ratio:1;color:inherit;background:#16171d;border:1px solid #2e303a;border-radius:18px;justify-content:center;align-items:center;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.app-tile:hover{border-color:#7b2fff;transform:translateY(-4px);box-shadow:0 8px 24px #7b2fff40}.app-icon{font-size:3.2rem;line-height:1;transition:transform .15s}.app-tile:hover .app-icon{transform:scale(1.15)rotate(-8deg)}.app-tile-soon{opacity:.5;border-style:dashed}.app-tile-soon:hover{box-shadow:none;border-color:#2e303a;transform:none}.app-tile-soon:hover .app-icon{transform:none}.app-shell{color:#eee;background:#0a0a12;min-height:100svh;padding:3rem 1.5rem;font-family:Space Mono,ui-monospace,Consolas,monospace}.shell-header,.shell-body{width:100%;max-width:560px;margin:0 auto}.shell-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-bottom:2.5rem;display:grid}.shell-header h1{text-align:center;white-space:nowrap;margin:0;font-size:1.2rem}.shell-icon{font-size:1.4rem}.back-link{color:#888;font-size:.85rem;text-decoration:none}.back-link:hover{color:#fff}.shell-header .logout{color:#ccc;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;justify-self:end;padding:.4rem .9rem;font-family:inherit;font-size:.8rem}.shell-header .logout:hover{color:#fff;border-color:#666}@media (width<=520px){.shell-header{grid-template-columns:1fr 1fr;row-gap:.75rem}.shell-header h1{text-align:left;order:-1;grid-column:1/-1}}.notes-muted{color:#666;text-align:center;padding:1.5rem 0;font-size:.85rem}.notes-error{color:#ff6b6b;margin:0;font-size:.85rem}.new-note-button,.notes-back{font-family:inherit;text-decoration:none;display:inline-block}.new-note-button{color:#fff;background:#7b2fff;border-radius:8px;margin-bottom:1.25rem;padding:.55rem 1rem;font-size:.85rem}.new-note-button:hover{background:#8f4dff}.notes-back{color:#888;margin-bottom:1.25rem;font-size:.8rem}.notes-back:hover{color:#fff}.note-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.note-row{color:inherit;background:#16171d;border:1px solid #2e303a;border-radius:10px;gap:.3rem;padding:.85rem 1rem;text-decoration:none;transition:border-color .15s,transform .15s;display:grid}.note-row:hover{border-color:#7b2fff;transform:translate(3px)}.note-row-title{color:#eee;font-size:.95rem}.note-row-snippet{color:#888;font-size:.8rem}.note-row-time{color:#5c5c66;font-size:.7rem}.note-editor{flex-direction:column;gap:.75rem;display:flex}.note-title-input,.note-content-input{color:#eee;background:#1a1a1a;border:1px solid #444;border-radius:8px;width:100%;padding:.7rem .9rem;font-family:inherit}.note-title-input{font-size:1rem}.note-content-input{resize:vertical;font-size:.9rem;line-height:1.6}.note-title-input:focus,.note-content-input:focus{border-color:#7b2fff;outline:none}.note-view h2{color:#eee;margin:0 0 .35rem;font-size:1.25rem}.note-view h2.untitled{color:#5c5c66}.note-stamps{color:#5c5c66;margin:0 0 1.5rem;font-size:.72rem}.note-body{white-space:pre-wrap;word-wrap:break-word;color:#ddd;min-height:3rem;font-size:.9rem;line-height:1.7}.note-body a{color:#2effe6}.note-actions{gap:.5rem;margin-top:2rem;display:flex}.note-actions button{color:#ccc;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;padding:.55rem 1.1rem;font-family:inherit;font-size:.85rem}.note-actions button:hover{color:#fff;border-color:#666}.note-actions button.primary{color:#fff;background:#7b2fff;border-color:#7b2fff}.note-actions button.primary:hover{background:#8f4dff}.note-actions button.danger:hover{color:#ff6b6b;border-color:#ff6b6b}.todos-muted{color:#666;text-align:center;padding:1.5rem 0;font-size:.85rem}.todos-error{color:#ff6b6b;margin:.5rem 0 0;font-size:.85rem}.todos-back{color:#888;margin-bottom:1.25rem;font-size:.8rem;text-decoration:none;display:inline-block}.todos-back:hover{color:#fff}.check.big{font-size:1.6rem}.todo-add{gap:.5rem;margin-bottom:1.5rem;display:flex}.todo-add input{color:#eee;background:#1a1a1a;border:1px solid #444;border-radius:8px;flex:1;padding:.6rem .8rem;font-family:inherit}.todo-add button,.item-add-row button{color:#fff;cursor:pointer;background:#7b2fff;border:none;border-radius:8px;padding:.6rem 1.1rem;font-family:inherit}.todo-add button:hover,.item-add-row button:hover{background:#8f4dff}.item-add-row button:disabled{opacity:.6;cursor:default}.todo-list,.item-list{flex-direction:column;gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.todo-list li,.item-list li{background:#16171d;border:1px solid #2e303a;border-radius:10px;align-items:flex-start;gap:.7rem;padding:.7rem .9rem;display:flex}.todo-list li:hover{border-color:#7b2fff}.todo-link{color:inherit;flex:1;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;text-decoration:none;display:flex}.todo-title{color:#eee;overflow-wrap:anywhere;font-size:.9rem}.todo-progress{color:#5c5c66;border:1px solid #2e303a;border-radius:999px;flex-shrink:0;padding:.1rem .5rem;font-size:.7rem}.todo-list li.done .todo-title,.item-list li.done .item-text{color:#5c5c66;text-decoration:line-through}.todo-heading{align-items:center;gap:.7rem;margin-bottom:1.5rem;display:flex}.todo-heading h2{color:#eee;overflow-wrap:anywhere;margin:0;font-size:1.2rem}.todo-heading.done h2{color:#5c5c66;text-decoration:line-through}.item-body{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.item-text{color:#ddd;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.87rem;line-height:1.6}.item-text a{color:#2effe6}.item-image{border:1px solid #2e303a;border-radius:8px;max-width:100%;max-height:260px;display:block}.item-delete{color:#555;cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:.85rem}.item-delete:hover{color:#ff6b6b}.item-add{background:#131319;border:1px dashed #2e303a;border-radius:10px;flex-direction:column;gap:.5rem;padding:.9rem;display:flex}.item-add textarea{color:#eee;resize:vertical;background:#1a1a1a;border:1px solid #444;border-radius:8px;width:100%;padding:.6rem .8rem;font-family:inherit;font-size:.87rem}.item-add textarea:focus{border-color:#7b2fff;outline:none}.item-add-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.item-add-row input[type=file]{color:#888;flex:1;min-width:0;font-family:inherit;font-size:.75rem}.item-add-row input[type=file]::file-selector-button{color:#ccc;cursor:pointer;background:#1a1a1a;border:1px solid #444;border-radius:6px;margin-right:.6rem;padding:.4rem .7rem;font-family:inherit}.todo-footer{margin-top:2rem}.todo-footer .danger{color:#ccc;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem}.todo-footer .danger:hover{color:#ff6b6b;border-color:#ff6b6b}.chart-wrap{--series-1:#9085e9;--chart-grid:#2c2c2a;--chart-axis:#383835;--chart-muted:#898781;margin:.5rem 0;position:relative}.chart{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-axis{stroke:var(--chart-axis);stroke-width:1px}.chart-cross{stroke:var(--chart-axis);stroke-width:1px;stroke-dasharray:3 3}.chart-line{fill:none;stroke:var(--series-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--series-1);stroke:#16171d;stroke-width:2px}.chart-tick{fill:var(--chart-muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-tick-y{text-anchor:end}.chart-tooltip{pointer-events:none;white-space:nowrap;z-index:2;background:#0a0a12;border:1px solid #383835;border-radius:6px;flex-direction:column;gap:.1rem;padding:.35rem .6rem;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.chart-tooltip strong{color:#fff;font-variant-numeric:tabular-nums;font-size:.8rem}.chart-tooltip span{color:#898781;font-size:.68rem}.cat-section,.cat-profile{--series-1:#9085e9;--status-warning:#fab219;--status-critical:#d03b3b}.cat-profile{border-bottom:1px solid #2e303a;align-items:flex-start;gap:1.25rem;padding-bottom:2rem;display:flex}.cat-photo{cursor:pointer;background:#16171d;border:2px solid #2e303a;border-radius:50%;flex-shrink:0;width:96px;height:96px;padding:0;overflow:hidden}.cat-photo:hover{border-color:var(--series-1)}.cat-photo img{object-fit:cover;width:100%;height:100%;display:block}.cat-photo-empty{font-size:2.5rem;line-height:1}.cat-identity{flex:1;min-width:0}.cat-identity h2{color:#eee;margin:0 0 .25rem;font-size:1.3rem}.cat-birthday{color:var(--status-warning);font-size:.8rem}.cat-age{color:#888;margin:0 0 .5rem;font-size:.85rem}.cat-about{color:#bbb;margin:0 0 .75rem;font-size:.85rem;line-height:1.6}.cat-edit{color:#ccc;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;padding:.3rem .75rem;font-family:inherit;font-size:.75rem}.cat-edit:hover{color:#fff;border-color:#666}.cat-profile-form{flex:1}.cat-section{border-bottom:1px solid #2e303a;padding:2rem 0}.cat-section:last-child{border-bottom:none}.cat-section h3{text-transform:uppercase;letter-spacing:1.5px;color:#777;margin:0 0 1rem;font-size:.8rem}.cat-muted{color:#666;padding:.5rem 0;font-size:.85rem}.cat-hint{color:#666;margin:-.5rem 0 .75rem;font-size:.78rem}.cat-task-title{color:#eee;overflow-wrap:anywhere;flex:1;min-width:0}.cat-list li.done .cat-task-title{color:#5c5c66;text-decoration:line-through}.cat-muted-inline{color:#5c5c66;font-size:.75rem}.cat-error{color:#ff6b6b;margin:.5rem 0 0;font-size:.8rem}.cat-form{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.cat-form-row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.cat-field{flex-direction:column;flex:1;gap:.25rem;min-width:110px;display:flex}.cat-field>span{color:#777;font-size:.7rem}.cat-form input,.cat-form select,.cat-form textarea{color:#eee;background:#1a1a1a;border:1px solid #444;border-radius:8px;width:100%;padding:.5rem .7rem;font-family:inherit;font-size:.85rem}.cat-form textarea{resize:vertical}.cat-form input:focus,.cat-form select:focus,.cat-form textarea:focus{border-color:var(--series-1);outline:none}.cat-form input[type=file]{color:#888;background:0 0;border:none;flex:1;padding:0;font-size:.75rem}.cat-form input[type=file]::file-selector-button{color:#ccc;cursor:pointer;background:#1a1a1a;border:1px solid #444;border-radius:6px;margin-right:.6rem;padding:.4rem .7rem;font-family:inherit}.cat-form-actions{gap:.5rem;display:flex}.cat-form button{color:#ccc;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #444;border-radius:8px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem}.cat-form button.primary{color:#fff;background:#7b2fff;border-color:#7b2fff}.cat-form button.primary:hover{background:#8f4dff}.cat-form button.primary:disabled{opacity:.5;cursor:default}.cat-list{flex-direction:column;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.cat-list li{background:#16171d;border:1px solid #2e303a;border-radius:8px;align-items:flex-start;gap:.7rem;padding:.55rem .8rem;font-size:.85rem;display:flex}.cat-list li>button{color:#555;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;font-size:.8rem}.cat-list li>button:hover{color:#ff6b6b}.mono{font-variant-numeric:tabular-nums;color:#eee}.weight-headline{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.weight-value{color:#fff;font-size:2rem}.weight-meta{color:#888;font-size:.78rem}.weight-list li{align-items:center}.weight-list .cat-muted-inline{margin-left:.5rem}.care-reminders{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.care-reminder{border:1px solid;border-radius:8px;margin:0;padding:.5rem .75rem;font-size:.8rem}.care-reminder.overdue{color:var(--status-critical);background:#d03b3b14;border-color:#d03b3b66}.care-reminder.soon{color:var(--status-warning);background:#fab21912;border-color:#fab21959}.care-icon{flex-shrink:0;font-size:1.1rem;line-height:1.3}.care-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.care-title{color:#eee}.care-note{color:#999;overflow-wrap:anywhere;font-size:.8rem}.care-due{color:#777;font-size:.72rem}.care-due.overdue{color:var(--status-critical)}.care-due.soon{color:var(--status-warning)}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem;display:grid}.photo-grid figure{margin:0;position:relative}.photo-grid img{aspect-ratio:1;object-fit:cover;border:1px solid #2e303a;border-radius:10px;width:100%;display:block}.photo-delete{color:#ccc;cursor:pointer;background:#0a0a12bf;border:none;border-radius:50%;width:22px;height:22px;font-size:.7rem;line-height:1;position:absolute;top:.35rem;right:.35rem}.photo-delete:hover{background:var(--status-critical);color:#fff}.photo-grid figcaption{color:#888;overflow-wrap:anywhere;margin-top:.3rem;font-size:.72rem}.car-section,.car-hero{--accent:#9085e9;--status-warning:#fab219;--status-critical:#d03b3b}.car-tabs{border-bottom:1px solid #2e303a;gap:.25rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.car-tabs button{color:#777;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:.5rem .75rem;font-family:inherit;font-size:.8rem}.car-tabs button:hover{color:#ccc}.car-tabs button.active{color:#fff;border-bottom-color:var(--accent)}.car-hero{border-bottom:1px solid #2e303a;align-items:flex-start;gap:1.25rem;padding-bottom:1.5rem;display:flex}.car-photo{cursor:pointer;background:#16171d;border:1px solid #2e303a;border-radius:10px;flex-shrink:0;width:104px;height:78px;padding:0;overflow:hidden}.car-photo:hover{border-color:var(--accent)}.car-photo img{object-fit:cover;width:100%;height:100%;display:block}.car-photo-empty{font-size:2rem;line-height:1}.car-identity{flex:1;min-width:0}.car-identity h2{color:#eee;margin:0;font-size:1.25rem}.car-descriptor{color:#888;margin:.15rem 0 .6rem;font-size:.85rem}.car-facts{flex-wrap:wrap;gap:1.5rem;margin:0 0 .75rem;display:flex}.car-facts div{flex-direction:column;gap:.1rem;display:flex}.car-facts dt{text-transform:uppercase;letter-spacing:1px;color:#666;font-size:.65rem}.car-facts dd{color:#ddd;margin:0;font-size:.85rem}.car-edit{color:#ccc;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;padding:.3rem .75rem;font-family:inherit;font-size:.75rem}.car-edit:hover{color:#fff;border-color:#666}.car-section{border-bottom:1px solid #2e303a;padding:1.75rem 0}.car-section:last-child{border-bottom:none}.car-section h3{text-transform:uppercase;letter-spacing:1.5px;color:#777;margin:0 0 .75rem;font-size:.75rem}.car-section h4{color:#aaa;margin:1.25rem 0 .5rem;font-size:.8rem;font-weight:400}.car-hint{color:#666;margin:-.4rem 0 1rem;font-size:.78rem}.car-muted{color:#666;padding:.5rem 0;font-size:.85rem}.car-muted-inline{color:#5c5c66;font-size:.75rem}.car-error{color:#ff6b6b;margin:.5rem 0 0;font-size:.8rem}.mono{font-variant-numeric:tabular-nums}.car-form{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.car-form-row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-top:.5rem;display:flex}.car-form .car-form-row{margin-top:0}.car-field{flex-direction:column;flex:1;gap:.25rem;min-width:120px;display:flex}.car-field>span{color:#777;font-size:.68rem}.car-form input,.car-form select,.car-form textarea,.car-form-row input,.car-form-row select{color:#eee;background:#1a1a1a;border:1px solid #444;border-radius:8px;width:100%;padding:.5rem .7rem;font-family:inherit;font-size:.85rem}.car-form textarea{resize:vertical}.car-form input:focus,.car-form select:focus,.car-form textarea:focus,.car-form-row input:focus{border-color:var(--accent);outline:none}.car-form-actions{gap:.5rem;display:flex}.car-form button,.car-form-row button{color:#ccc;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #444;border-radius:8px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem}.car-form button.primary,.car-form-row button.primary{color:#fff;background:#7b2fff;border-color:#7b2fff}.car-form button.primary:hover,.car-form-row button.primary:hover{background:#8f4dff}.car-odo{align-items:center}.car-odo input{max-width:180px}.car-unit{color:#777;font-size:.8rem}.car-list{flex-direction:column;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.car-list li{background:#16171d;border:1px solid #2e303a;border-radius:8px;align-items:flex-start;gap:.7rem;padding:.6rem .85rem;font-size:.85rem;display:flex}.car-list li>button:last-child{color:#555;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;font-size:.8rem}.car-list li>button:last-child:hover{color:#ff6b6b}.car-icon{flex-shrink:0;font-size:1.05rem;line-height:1.3}.car-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.car-title{color:#eee;overflow-wrap:anywhere}.car-meta{color:#888;font-variant-numeric:tabular-nums;font-size:.75rem}.car-note,.car-note-text{color:#aaa;overflow-wrap:anywhere;white-space:pre-wrap;font-size:.8rem}.car-note-text a{color:#2effe6}.car-next{color:var(--accent);font-size:.72rem}.car-list li.done .car-title{color:#5c5c66;text-decoration:line-through}.check{color:#7b2fff;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.2rem;line-height:1.1}.check:hover{color:#b98cff}.part-group:first-of-type h4{margin-top:.5rem}.part-code{color:var(--accent);font-size:.8rem}.car-reminders{flex-direction:column;gap:.4rem;display:flex}.car-reminder{border:1px solid;border-radius:8px;margin:0;padding:.5rem .75rem;font-size:.8rem}.car-reminder.overdue{color:var(--status-critical);background:#d03b3b14;border-color:#d03b3b66}.car-reminder.soon{color:var(--status-warning);background:#fab21912;border-color:#fab21959}.stat-row{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.6rem;display:grid}.stat{background:#16171d;border:1px solid #2e303a;border-radius:10px;flex-direction:column;gap:.2rem;padding:.85rem;display:flex}.stat-value{color:#fff;font-variant-numeric:tabular-nums;font-size:1.15rem}.stat-value small{color:#888;font-size:.7rem}.stat-label{color:#777;font-size:.68rem}.fuel-headline{flex-wrap:wrap;align-items:baseline;gap:.4rem;margin-bottom:.25rem;display:flex}.fuel-value{color:#fff;font-variant-numeric:tabular-nums;font-size:2rem}.fuel-unit{color:#888;margin-right:.5rem;font-size:.85rem}.pt-section,.project-header,.pt-tabs{--accent:#9085e9}.pt-muted{color:#666;padding:.5rem 0;font-size:.85rem}.pt-muted-inline{color:#5c5c66;margin:0;font-size:.78rem}.pt-meta{color:#888;font-size:.75rem}.pt-note,.pt-note-text{color:#aaa;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}.pt-note-text a{color:#2effe6}.pt-error{color:#ff6b6b;margin:.5rem 0 0;font-size:.8rem}.pt-hint{color:#666;margin:-.4rem 0 1rem;font-size:.78rem}.pt-back{color:#888;margin-bottom:1.25rem;font-size:.8rem;text-decoration:none;display:inline-block}.pt-back:hover{color:#fff}.pt-inline-button{color:#ccc;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;align-self:flex-start;padding:.25rem .7rem;font-family:inherit;font-size:.72rem}.pt-inline-button:hover{color:#fff;border-color:#666}.pt-inline-button.danger:hover{color:#d03b3b;border-color:#d03b3b}.pt-form{flex-direction:column;gap:.6rem;margin:1rem 0;display:flex}.pt-form-row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin:.5rem 0;display:flex}.pt-form .pt-form-row{margin:0}.pt-field{flex-direction:column;flex:1;gap:.25rem;min-width:120px;display:flex}.pt-field-wide{flex:2;min-width:180px}.pt-field-colour{flex:none;min-width:0}.pt-field>span{color:#777;font-size:.68rem}.pt-form input,.pt-form select,.pt-form textarea,.pt-form-row input,.pt-form-row select{color:#eee;background:#1a1a1a;border:1px solid #444;border-radius:8px;width:100%;padding:.5rem .7rem;font-family:inherit;font-size:.85rem}.pt-form textarea{resize:vertical}.pt-form input:focus,.pt-form select:focus,.pt-form textarea:focus,.pt-form-row input:focus{border-color:var(--accent);outline:none}.pt-form input[type=color]{cursor:pointer;width:52px;height:38px;padding:2px}.pt-form input[type=file],.pt-form-row input[type=file]{color:#888;background:0 0;border:none;flex:1;padding:0;font-size:.75rem}.pt-form input[type=file]::file-selector-button{color:#ccc;cursor:pointer;background:#1a1a1a;border:1px solid #444;border-radius:6px;margin-right:.6rem;padding:.4rem .7rem;font-family:inherit}.pt-form-row input[type=file]::file-selector-button{color:#ccc;cursor:pointer;background:#1a1a1a;border:1px solid #444;border-radius:6px;margin-right:.6rem;padding:.4rem .7rem;font-family:inherit}.pt-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.pt-form button,.pt-form-row button{color:#ccc;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #444;border-radius:8px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem}.pt-form button.primary,.pt-form-row button.primary{color:#fff;background:#7b2fff;border-color:#7b2fff}.pt-form button.primary:hover,.pt-form-row button.primary:hover{background:#8f4dff}.pt-form button.primary:disabled{opacity:.5;cursor:default}.pt-form button.danger:hover{color:#d03b3b;border-color:#d03b3b}.project-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-top:1.25rem;display:grid}.project-card{color:inherit;background:#16171d;border:1px solid #2e303a;border-radius:12px;flex-direction:column;text-decoration:none;transition:transform .15s,border-color .15s;display:flex;overflow:hidden}.project-card:hover{border-color:var(--accent);transform:translateY(-3px)}.project-thumb{aspect-ratio:4/3;background:#101015;justify-content:center;align-items:center;font-size:2rem;display:flex}.project-thumb img{object-fit:cover;width:100%;height:100%;display:block}.project-info{flex-direction:column;gap:.2rem;padding:.7rem .8rem;display:flex}.project-title{color:#eee;overflow-wrap:anywhere;font-size:.9rem}.project-status{color:#999;margin:0;font-size:.75rem}.project-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.project-header h2{color:#eee;overflow-wrap:anywhere;margin:0 0 .25rem;font-size:1.25rem}.project-edit{margin-bottom:1.5rem}.pt-tabs{border-bottom:1px solid #2e303a;gap:.25rem;display:flex;overflow-x:auto}.pt-tabs button{color:#777;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:.5rem .7rem;font-family:inherit;font-size:.78rem}.pt-tabs button:hover{color:#ccc}.pt-tabs button.active{color:#fff;border-bottom-color:var(--accent)}.pt-section{border-bottom:1px solid #2e303a;padding:1.5rem 0}.pt-section:last-child{border-bottom:none}.pt-section h3{text-transform:uppercase;letter-spacing:1.5px;color:#777;margin:0 0 .75rem;font-size:.75rem}.pt-list{flex-direction:column;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.pt-list li{background:#16171d;border:1px solid #2e303a;border-radius:8px;align-items:flex-start;gap:.7rem;padding:.6rem .85rem;font-size:.85rem;display:flex}.pt-list li>button:last-child{color:#555;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;font-size:.8rem}.pt-list li>button:last-child:hover{color:#ff6b6b}.pt-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.link-title{color:#eee;overflow-wrap:anywhere;text-decoration:none}.link-title:hover{color:#2effe6}.progress-list{flex-direction:column;gap:1rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.progress-list li{background:#16171d;border:1px solid #2e303a;border-radius:12px;overflow:hidden}.progress-list img{object-fit:contain;background:#101015;width:100%;max-height:420px;display:block}.progress-body{flex-direction:column;gap:.4rem;padding:.8rem .9rem;display:flex}.progress-note{color:#ddd;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.85rem;line-height:1.6}.progress-actions{gap:.5rem;display:flex}.progress-edit textarea{color:#eee;resize:vertical;background:#1a1a1a;border:1px solid #444;border-radius:8px;width:100%;margin-bottom:.5rem;padding:.5rem .7rem;font-family:inherit;font-size:.85rem}.progress-edit button{color:#ccc;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;padding:.35rem .8rem;font-family:inherit;font-size:.78rem}.progress-edit button.primary{color:#fff;background:#7b2fff;border-color:#7b2fff}.reference-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem;display:grid}.reference-grid figure{margin:0;position:relative}.reference-grid img{aspect-ratio:1;object-fit:cover;border:1px solid #2e303a;border-radius:10px;width:100%;display:block}.tile-delete{color:#ccc;cursor:pointer;background:#0a0a12bf;border:none;border-radius:50%;width:22px;height:22px;font-size:.7rem;line-height:1;position:absolute;top:.35rem;right:.35rem}.tile-delete:hover{color:#fff;background:#d03b3b}.reference-grid figcaption{color:#888;overflow-wrap:anywhere;margin-top:.3rem;font-size:.72rem}.swatch-group+.swatch-group{margin-top:1.25rem}.swatch-group-title{color:#bbb;margin:0 0 .5rem;font-size:.8rem;font-weight:400}.swatch-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.palette-import{border-top:1px dashed #2e303a;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.palette-import button{color:#ccc;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;padding:.45rem .9rem;font-family:inherit;font-size:.8rem}.palette-import button:hover{border-color:var(--accent);color:#fff}.import-result{color:#8ecf9e;font-size:.75rem}.value-tag{color:#999;font-variant-numeric:tabular-nums;border:1px solid #3a3a42;border-radius:999px;padding:.05rem .45rem;font-size:.66rem}.swatch-list li{background:#16171d;border:1px solid #2e303a;border-radius:10px;align-items:flex-start;gap:.8rem;padding:.7rem .85rem;display:flex}.swatch{font-variant-numeric:tabular-nums;border:1px solid #ffffff26;border-radius:8px;flex-shrink:0;justify-content:center;align-items:flex-end;width:62px;height:62px;padding-bottom:.25rem;font-size:.6rem;display:flex}.swatch-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.swatch-name{color:#eee;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.pigment-tag{color:var(--accent);font-variant-numeric:tabular-nums;border:1px solid #9085e966;border-radius:999px;padding:.05rem .45rem;font-size:.68rem}.swatch-usage{color:#bbb;font-size:.78rem}.swatch-edit{align-items:center;gap:.5rem;display:flex}.swatch-edit input[type=color]{cursor:pointer;background:#1a1a1a;border:1px solid #444;border-radius:6px;width:44px;height:30px;padding:2px}.swatch-edit button{color:#ccc;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;padding:.25rem .7rem;font-family:inherit;font-size:.72rem}.sampler-backdrop{z-index:40;background:#05050abf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.sampler{background:#16171d;border:1px solid #2e303a;border-radius:14px;flex-direction:column;width:100%;max-width:620px;max-height:90vh;display:flex;overflow:hidden}.sampler header{border-bottom:1px solid #2e303a;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.sampler header h3{color:#eee;text-transform:none;letter-spacing:0;margin:0;font-size:.85rem}.sampler header button{color:#888;cursor:pointer;background:0 0;border:none;font-size:.9rem}.sampler-strip{border-bottom:1px solid #2e303a;gap:.4rem;padding:.6rem 1rem;display:flex;overflow-x:auto}.sampler-strip button{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:6px;flex-shrink:0;width:48px;height:48px;padding:0;overflow:hidden}.sampler-strip button.active{border-color:var(--accent,#9085e9)}.sampler-strip img{object-fit:cover;width:100%;height:100%;display:block}.sampler-canvas-wrap{background:#101015;flex:1;justify-content:center;align-items:center;padding:.5rem;display:flex;overflow:auto}.sampler-canvas-wrap canvas{cursor:crosshair;max-width:100%;max-height:55vh;display:block}.sampler footer{border-top:1px solid #2e303a;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.sampler-swatch{font-variant-numeric:tabular-nums;border:1px solid #ffffff26;border-radius:6px;padding:.35rem .8rem;font-size:.78rem}.sampler-hint{color:#888;font-size:.75rem}.feed-muted{color:#666;text-align:center;padding:1.5rem 0;font-size:.85rem}.feed-error{color:#ff6b6b;margin:.5rem 0 0;font-size:.8rem}.feed-back{color:#888;margin-bottom:1.25rem;font-size:.8rem;text-decoration:none;display:inline-block}.feed-back:hover{color:#fff}.post-composer{background:#131319;border:1px dashed #2e303a;border-radius:12px;flex-direction:column;gap:.6rem;margin-bottom:1.25rem;padding:.9rem;display:flex}.post-composer textarea{color:#eee;resize:vertical;background:#1a1a1a;border:1px solid #444;border-radius:8px;width:100%;padding:.6rem .8rem;font-family:inherit;font-size:.87rem}.post-composer textarea:focus{border-color:#7b2fff;outline:none}.composer-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.composer-row input[type=file]{color:#888;flex:1;min-width:0;font-family:inherit;font-size:.75rem}.composer-row input[type=file]::file-selector-button{color:#ccc;cursor:pointer;background:#1a1a1a;border:1px solid #444;border-radius:6px;margin-right:.6rem;padding:.4rem .7rem;font-family:inherit}.composer-row button,.post-actions button,.comment-form button{color:#ccc;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #444;border-radius:8px;padding:.5rem 1rem;font-family:inherit;font-size:.85rem}.composer-row button.primary,.post-actions button.primary,.comment-form button{color:#fff;background:#7b2fff;border-color:#7b2fff}.composer-row button.primary:hover,.comment-form button:hover{background:#8f4dff}.composer-row button:disabled,.comment-form button:disabled{opacity:.5;cursor:default}.view-toggle{justify-content:flex-end;gap:.25rem;margin-bottom:1rem;display:flex}.view-toggle button{color:#777;cursor:pointer;background:0 0;border:1px solid #2e303a;border-radius:8px;padding:.3rem .7rem;font-family:inherit;font-size:.75rem}.view-toggle button:hover{color:#ccc}.view-toggle button.active{color:#fff;border-color:#7b2fff}.feed-list{flex-direction:column;gap:1.5rem;display:flex}.post{background:#16171d;border:1px solid #2e303a;border-radius:14px;overflow:hidden}.post-image{background:#101015;max-height:70vh;display:block}.post-image img{object-fit:contain;width:100%;height:100%;max-height:70vh;display:block}.post-body{padding:.85rem 1rem 1rem}.post-caption{color:#ddd;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 .6rem;font-size:.9rem;line-height:1.6}.post-caption a{color:#2effe6}.post-meta{color:#666;flex-wrap:wrap;align-items:center;gap:.9rem;font-size:.75rem;display:flex}.post-date{color:#999}.post-ago{color:#5c5c66}.post-link{color:#888;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.75rem}.post-link:hover{color:#fff}.post-link.danger:hover{color:#ff6b6b}.post-edit textarea{color:#eee;resize:vertical;background:#1a1a1a;border:1px solid #444;border-radius:8px;width:100%;margin-bottom:.5rem;padding:.6rem .8rem;font-family:inherit;font-size:.87rem}.post-actions{gap:.5rem;display:flex}.comments{border-top:1px solid #2e303a;flex-direction:column;gap:.6rem;margin-top:.9rem;padding-top:.9rem;display:flex}.comment{flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.83rem;display:flex}.comment-author{color:#eee;flex-shrink:0}.comment-body{color:#bbb;overflow-wrap:anywhere;flex:1;min-width:0}.comment-body a{color:#2effe6}.comment-time{color:#5c5c66;flex-shrink:0;font-size:.7rem}.comment-delete{color:#444;cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:.72rem}.comment-delete:hover{color:#ff6b6b}.comment-form{gap:.5rem;margin-top:.25rem;display:flex}.comment-form input{color:#eee;background:#1a1a1a;border:1px solid #444;border-radius:8px;flex:1;min-width:0;padding:.5rem .75rem;font-family:inherit;font-size:.83rem}.comment-form input:focus{border-color:#7b2fff;outline:none}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.35rem;display:grid}.tile{aspect-ratio:1;background:#101015;border-radius:6px;display:block;position:relative;overflow:hidden}.tile img{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}.tile:hover img{transform:scale(1.05)}.tile-badge{color:#fff;background:#0a0a12b3;border-radius:999px;padding:.1rem .4rem;font-size:.65rem;position:absolute;bottom:.3rem;right:.35rem}
