:root{--bg:#f4f7fb;--panel:#ffffffd1;--panel-strong:#fffffff0;--panel-edge:#748ca82e;--text:#16314d;--muted:#54718f;--muted-strong:#31506d;--accent:#2f80ed;--accent-soft:#dcecff;--green:#4fb286;--orange:#ff8c69;--shadow:0 18px 44px #36577e29, 0 2px 12px #36577e14;--shadow-soft:0 10px 28px #3a5f8c1f;--tile-size:clamp(5.7rem, 9vw, 7.6rem);--radius-xl:2rem;--radius-lg:1.35rem;--radius-md:1rem;--font-sans:"Trebuchet MS", "Avenir Next", "Segoe UI", sans-serif;--font-display:"Gill Sans", "Trebuchet MS", "Avenir Next", sans-serif;color:var(--text);background:var(--bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at 12% 12%,#7fb5ff47,#0000 24rem),radial-gradient(circle at 85% 10%,#4fb28633,#0000 20rem),linear-gradient(#f9fbff 0%,#eef4fb 45%,#edf3fa 100%);min-height:100svh;margin:0}body.homeboy-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}button,input{font:inherit}button{color:inherit}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline-offset:4px;outline:3px solid #2f80ed57}.screen{min-height:100svh;padding:2rem;position:relative}.screen--home{background-color:#eef4fb;background-repeat:no-repeat}.glow-backdrop{pointer-events:none;position:fixed;inset:0;overflow:clip}.glow{filter:blur(16px);opacity:.55;border-radius:999px;position:absolute}.glow--a{background:var(--homeboy-accent-glow,#2f80ed29);width:28rem;height:28rem;top:5rem;left:-6rem}.glow--b{background:#4fb2862e;width:24rem;height:24rem;top:18rem;right:-4rem}.glow--c{background:#ff8c6924;width:34rem;height:22rem;bottom:-7rem;left:50%;transform:translate(-50%)}.hero-card,.lock-card,.home-shell,.modal-window{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:var(--panel);border:1px solid var(--panel-edge);box-shadow:var(--shadow)}.hero-card,.lock-card{z-index:1;max-width:72rem;margin:0 auto;position:relative}.hero-card{border-radius:calc(var(--radius-xl) + .6rem);gap:2rem;padding:clamp(1.5rem,3vw,2.6rem);display:grid}.lock-card{border-radius:calc(var(--radius-xl) + .4rem);text-align:center;place-items:center;gap:1rem;max-width:42rem;padding:clamp(2rem,4vw,3.4rem);display:grid}.lock-card--touch{cursor:pointer}.lock-card__orb{background:radial-gradient(circle at 30% 30%,#fffffff2,#ffffff52 40%,#2f80ed14 100%);border:1px solid #748ca82e;border-radius:999px;width:7rem;height:7rem;box-shadow:inset 0 1px #ffffffa6,0 16px 34px #2f80ed24}.brand-lockup{align-items:center;gap:1rem;display:flex}.brand-lockup--tight h1{font-size:clamp(1.7rem,3vw,2.4rem)}.brandmark{color:var(--accent);font-family:var(--font-display);letter-spacing:.08em;background:linear-gradient(#fffffff2,#e3effee0);border:1px solid #748ca82e;border-radius:1.4rem;justify-content:center;align-items:center;width:3.6rem;height:3.6rem;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:700;display:inline-flex;box-shadow:inset 0 1px #ffffffbf,0 12px 28px #2f80ed24}.eyebrow{color:var(--muted);letter-spacing:.24em;text-transform:uppercase;margin:0 0 .45rem;font-size:.82rem;font-weight:700}h1,h2,strong{color:var(--text);font-family:var(--font-display)}h1{letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,5vw,4.6rem);line-height:.95}h2{letter-spacing:-.03em;margin:0 0 .45rem;font-size:1.2rem}p{margin:0}.lede{color:var(--muted-strong);max-width:36rem;font-size:clamp(1rem,2vw,1.16rem)}.choice-grid,.feature-strip,.shelf,.category-grid{gap:1rem;display:grid}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card,.feature-card,.info-card,.category-pill{background:var(--panel-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid #748ca826}.choice-card{cursor:pointer;text-align:left;align-items:flex-start;gap:.7rem;min-height:13rem;padding:1.3rem;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.choice-card:hover:not(:disabled){border-color:#2f80ed4d;transform:translateY(-3px);box-shadow:0 24px 44px #2f80ed29}.choice-card:disabled{cursor:not-allowed;opacity:.55}.choice-card__icon{color:var(--accent);font-family:var(--font-display);background:linear-gradient(#eff7ff,#dcecff);border-radius:1rem;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.5rem;font-weight:700;display:inline-flex}.feature-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card,.info-card{padding:1.2rem}.hero-footer,.toast-area,.lock-meta{gap:.55rem;display:grid}.status-line{color:var(--muted-strong);font-size:.95rem}.status-line--error{color:#b13f3f}.ghost-button,.primary-button,.text-button,.page-pill,.method-chip,.top-action,.menu-action{border-radius:999px;transition:transform .18s,background .18s,border-color .18s}.ghost-button,.primary-button,.page-pill{cursor:pointer;border:1px solid #748ca833;min-height:2.9rem;padding:.72rem 1.1rem}.ghost-button{background:#ffffffc7;box-shadow:inset 0 1px #ffffffb3}.ghost-button:hover:not(:disabled),.page-pill:hover,.text-button:hover{transform:translateY(-1px)}.ghost-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.ghost-button--small{min-height:2.4rem;padding:.55rem .9rem}.primary-button{color:#fff;background:linear-gradient(#4591f4,#2f80ed);border-color:#2f80ed66;box-shadow:0 12px 24px #2f80ed3d}.text-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}.unlock-actions,.topbar__actions,.page-strip,.chip-row,.modal-actions,.appearance-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.lock-meta{color:var(--muted);place-items:center;margin-top:.5rem;font-size:.92rem}.home-shell{border-radius:calc(var(--radius-xl) + .4rem);z-index:1;gap:1.2rem;max-width:86rem;margin:0 auto;padding:clamp(1.25rem,3vw,2rem);display:grid;position:relative}.topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.top-action{cursor:pointer;border:1px solid #748ca838;min-height:2.9rem;padding:.72rem 1.05rem;font-weight:700}.top-action--arrange{color:#8a4a15;background:linear-gradient(#ffdca1f2,#ffc474e6);border-color:#f4a26159;box-shadow:0 10px 24px #f4a2612e}.top-action--look{color:#1e6f56;background:linear-gradient(#dffff5f5,#c4f5e2e6);border-color:#4fb2864d;box-shadow:0 10px 24px #4fb28624}.top-action--lock{background:#ffffffc7;box-shadow:inset 0 1px #ffffffb3}.top-action--active{transform:translateY(-1px)}.appearance-dock{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:1rem;display:grid}.appearance-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-soft);background:#ffffffe0;border:1px solid #748ca829;border-radius:1.6rem;gap:.8rem;padding:1.1rem;display:grid}.appearance-card--tint{background:linear-gradient(180deg, #ffffffeb, color-mix(in srgb, var(--accent) 12%, white))}.appearance-card--backdrop{background:linear-gradient(#ffffffeb,#f1f6ffdb)}.appearance-form{gap:.8rem;display:grid}.color-picker{background:#ffffffc7;border:1px solid #748ca82e;border-radius:1.2rem;grid-template-columns:auto auto 1fr;align-items:center;gap:.85rem;min-height:4.2rem;padding:.8rem .9rem;display:grid}.color-picker input[type=color]{appearance:none;cursor:pointer;background:0 0;border:0;width:3rem;height:3rem;padding:0}.color-picker input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-picker input[type=color]::-webkit-color-swatch{border:0;border-radius:999px}.color-picker__swatch{border-radius:999px;width:1.6rem;height:1.6rem;box-shadow:inset 0 1px #ffffffb3}.page-strip{padding-bottom:.25rem;overflow-x:auto}.page-pill{white-space:nowrap;background:#ffffffb8}.page-pill--active{color:var(--accent);background:linear-gradient(#ebf4ff,#dcecff);border-color:#2f80ed47}.launcher{border-radius:calc(var(--radius-xl) + .2rem);grid-template-columns:repeat(auto-fill, minmax(var(--tile-size), 1fr));background:linear-gradient(#ffffffbd,#f4f9ffeb),repeating-linear-gradient(135deg,#fff6 0 14px,#deecff1f 14px 28px);border:1px solid #748ca826;align-content:start;gap:1.1rem;min-height:min(34rem,68svh);padding:clamp(1rem,3vw,1.6rem);display:grid;position:relative}.launcher--manage .tile{animation:1.35s ease-in-out infinite alternate wiggle}.launcher--manage .tile:hover,.folder-grid--manage .tile:hover{transform:none}.launcher--dragging .tile:not(.tile--drag-hidden){transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s,border-color .18s}.launcher--dragging .tile,.folder-grid--dragging .tile{animation:none}.tile-slot{min-width:0}.tile{--tile-accent:var(--accent);--tile-fallback:#3c91e6;-webkit-touch-callout:none;aspect-ratio:1;cursor:pointer;background:linear-gradient(#fffffffa,#f2f8ffe6);border:1px solid #748ca829;border-radius:1.8rem;place-items:center;width:100%;padding:.8rem;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:relative;box-shadow:inset 0 1px #ffffffe6,0 14px 26px #4460831f}.tile:hover{border-color:#2f80ed3d;transform:translateY(-4px);box-shadow:inset 0 1px #ffffffe6,0 18px 34px #44608329}.tile--manage{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none}.tile--drag-hidden{opacity:.16;transform:scale(.96)}.tile--ghost{opacity:.94;animation:none;transform:scale(1.04)rotate(-1deg);box-shadow:inset 0 1px #ffffffe6,0 26px 50px #2338593d}.tile--folder-target{border-color:#2f80ed73;box-shadow:inset 0 1px #ffffffe6,0 0 0 4px #2f80ed1a,0 18px 30px #44608329}.tile--folder{grid-template-rows:minmax(0,1fr) auto}.tile__marker{background:var(--tile-accent);border-radius:999px;width:.65rem;height:.65rem;position:absolute;top:.8rem;left:.8rem}.tile__badge{border-radius:1.5rem;place-items:center;width:68%;height:68%;display:grid;position:relative;overflow:hidden}.tile__badge-fallback{background:linear-gradient(180deg, color-mix(in srgb, var(--tile-fallback) 28%, white), color-mix(in srgb, var(--tile-fallback) 82%, white));color:#fff;font-family:var(--font-display);letter-spacing:-.06em;text-shadow:0 1px 10px #14253a33;border-radius:1.5rem;justify-content:center;align-items:center;width:100%;height:100%;font-size:clamp(1rem,2vw,1.5rem);font-weight:700;display:inline-flex}.tile__favicon{object-fit:contain;background:#ffffffeb;border-radius:1.3rem;width:82%;height:82%;padding:.2rem;position:absolute}.tile__badge--folder{width:62%;height:62%}.tile__label{color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;max-width:5rem;margin-top:.35rem;font-size:.76rem;font-weight:700;line-height:1.1;overflow:hidden}.tile__folder-hint{color:#fff;white-space:nowrap;background:#153a5ec7;border-radius:999px;justify-content:center;align-items:center;min-height:1.6rem;padding:.25rem .55rem;font-size:.68rem;font-weight:700;display:inline-flex;position:absolute;bottom:.7rem;left:50%;transform:translate(-50%)}.folder-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:.18rem;display:grid;position:absolute;inset:10%}.folder-preview__cell{background:#ffffffc7;border-radius:.8rem;position:relative;overflow:hidden}.folder-preview__fallback{--folder-item:var(--tile-fallback);background:linear-gradient(180deg, color-mix(in srgb, var(--folder-item) 28%, white), color-mix(in srgb, var(--folder-item) 78%, white));color:#fff;font-family:var(--font-display);justify-content:center;align-items:center;width:100%;height:100%;font-size:.58rem;font-weight:700;display:inline-flex}.folder-preview__icon{object-fit:contain;background:#ffffffeb;border-radius:.6rem;width:100%;height:100%;padding:.08rem;position:absolute;inset:0}.tile--add{background:linear-gradient(#e9f4fffa,#dcecffeb);border-style:dashed}.tile__plus{color:var(--accent);font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.1rem);line-height:1}.launcher__empty{color:var(--muted-strong);background:#ffffffb8;border:1px solid #748ca826;border-radius:1.25rem;align-self:end;gap:.2rem;max-width:20rem;padding:.9rem 1rem;display:grid;position:absolute;bottom:1rem;left:1rem}.shelf{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-list{color:var(--muted);gap:.45rem;margin:.75rem 0 0;padding-left:1rem;display:grid}.method-chip{background:#dcecff9e;border:1px solid #2f80ed2e;min-height:2.2rem;padding:.45rem .85rem;display:inline-flex}.toast-area{justify-items:start}.modal-backdrop{z-index:4;background:#12263d38;align-items:center;padding:1.2rem;display:grid;position:fixed;inset:0}.modal-backdrop--folder{z-index:5;background:#12263d42}.modal-window{border-radius:1.8rem;width:min(100%,44rem);max-width:44rem;padding:1.15rem}.folder-sheet{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--shadow);background:#ffffffe6;border:1px solid #748ca829;border-radius:2rem;gap:1rem;width:min(100%,34rem);max-width:34rem;padding:1.2rem;display:grid}.folder-sheet__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.folder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;min-height:18rem;padding:.35rem;display:grid}.folder-grid--manage .tile{animation:1.35s ease-in-out infinite alternate wiggle}.folder-grid--dragging .tile:not(.tile--drag-hidden){transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s,border-color .18s}.extract-zone{color:var(--muted-strong);text-align:center;background:#dcecff6b;border:1px dashed #2f80ed47;border-radius:1rem;justify-content:center;align-items:center;min-height:3rem;padding:.65rem 1rem;font-size:.92rem;font-weight:700;display:inline-flex}.extract-zone--active{background:#dcecffc7;border-color:#2f80ed73;box-shadow:0 0 0 4px #2f80ed1f}.drag-ghost{pointer-events:none;width:min(8.3rem,23vw)}.drag-ghost .tile{width:100%}.window-bar{gap:.45rem;margin-bottom:1rem;display:flex}.window-bar span{background:#54718f38;border-radius:999px;width:.75rem;height:.75rem;display:block}.modal-copy{gap:.4rem;margin-bottom:1.2rem;display:grid}.site-form{gap:1rem;display:grid}.field{color:var(--muted-strong);gap:.55rem;display:grid}.field span,.field legend{font-size:.92rem;font-weight:700}.field input{background:#ffffffeb;border:1px solid #748ca833;border-radius:1rem;min-height:3.2rem;padding:.9rem 1rem}.field--compact input{min-height:2.95rem}.field fieldset,.field legend{border:0;margin:0;padding:0}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-pill{cursor:pointer;gap:.2rem;min-height:8.5rem;padding:1rem;display:grid;position:relative}.category-pill input{opacity:0;pointer-events:none;position:absolute}.category-pill span{color:var(--accent);font-family:var(--font-display);font-size:1.45rem}.category-pill small{color:var(--muted);font-size:.86rem}.category-pill:has(input:checked){background:linear-gradient(#eff7ff,#dcecff);border-color:#2f80ed47}.modal-actions{justify-content:flex-end}.context-menu-layer{z-index:8;position:fixed;inset:0}.tile-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffeb;border:1px solid #748ca829;border-radius:1.35rem;gap:.65rem;width:min(100vw - 2rem,17rem);max-width:17rem;padding:1rem;display:grid;position:fixed;box-shadow:0 18px 44px #1c304c33,0 4px 16px #1c304c1f}.tile-menu__meta{color:var(--muted);margin-top:-.15rem;font-size:.9rem}.menu-action{cursor:pointer;text-align:left;border:1px solid #748ca829;justify-content:flex-start;min-height:2.9rem;padding:.72rem 1rem;font-weight:700}.menu-action--refresh{color:#285987;background:#ebf4ffeb}.menu-action--edit{color:#1e6f56;background:#e6fff5eb}.menu-action--delete{color:#a63434;background:#ffececf5}.sr-only{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes wiggle{0%{transform:rotate(-.45deg)}to{transform:rotate(.45deg)}}@media (width<=960px){.screen{padding:1rem}.choice-grid,.feature-strip,.shelf,.category-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:start}.appearance-dock{grid-template-columns:1fr}.home-shell{padding:1rem}.folder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){:root{--tile-size:5.3rem}.screen{padding:.8rem}.hero-card,.lock-card,.home-shell{border-radius:1.7rem}.brand-lockup{flex-direction:column;align-items:start}.choice-card,.feature-card,.info-card{padding:1rem}.launcher{grid-template-columns:repeat(3,minmax(0,1fr));min-height:24rem;padding-bottom:5rem}.launcher__empty{left:.8rem;right:.8rem}.modal-window{border-radius:1.35rem;padding:.95rem}.folder-sheet{border-radius:1.35rem;padding:1rem}.folder-grid{gap:.8rem;min-height:15rem}.drag-ghost{width:6.4rem}}
