:root{--ink:#17211a;--paper:#fbfaf4;--line:#17211a29;--shadow:0 24px 70px #1c1f1d1f;--display:"Arial Rounded MT Bold", "Trebuchet MS", ui-rounded, sans-serif;--body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;min-width:320px}body{min-height:100vh;color:var(--ink);background:var(--paper);font-family:var(--body);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.5}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}:focus-visible{outline:3px solid var(--hub-focus,#005fcc);outline-offset:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--hub-accent,#315c49);letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;font-size:.75rem;font-weight:800;line-height:1.3}.primary-button,.secondary-button,.text-button,.icon-button,.reset-button,.remove-button{cursor:pointer;border:0;min-height:48px;font-weight:750}.primary-button{color:#fff;background:var(--hub-accent);min-width:140px;box-shadow:0 10px 24px color-mix(in srgb, var(--hub-accent) 23%, transparent);border-radius:14px;justify-content:center;align-items:center;padding:0 22px;transition:transform .16s,box-shadow .16s;display:inline-flex}.primary-button:hover:not(:disabled){box-shadow:0 14px 30px color-mix(in srgb, var(--hub-accent) 30%, transparent);transform:translateY(-2px)}.primary-button:disabled{cursor:wait;opacity:.7}.secondary-button{border:1px solid color-mix(in srgb, var(--hub-accent) 28%, transparent);background:color-mix(in srgb, var(--hub-surface) 88%, var(--hub-accent-soft));border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 18px;transition:transform .16s,border-color .16s;display:inline-flex;box-shadow:0 7px 20px #17211a0d}.secondary-button:hover{border-color:var(--hub-accent);transform:translateY(-2px)}.secondary-button:disabled{cursor:wait;opacity:.58;transform:none}.family-home{isolation:isolate;background:#f6f2e8;min-height:100vh;padding:32px clamp(20px,5vw,76px) 28px;position:relative;overflow:hidden}.family-home:before{z-index:-2;content:"";border:92px solid #e3ebd6;border-radius:50%;width:460px;height:460px;position:absolute;top:-180px;right:-160px}.family-home-pattern{z-index:-1;opacity:.28;background-image:linear-gradient(#313f3514 1px,#0000 1px),linear-gradient(90deg,#313f3514 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 74%);mask-image:linear-gradient(#000,#0000 74%)}.family-header,.hub-header{justify-content:space-between;align-items:center;width:min(1180px,100%);margin:0 auto;display:flex}.family-header{font-family:var(--display);justify-content:flex-start;gap:12px;font-size:1rem;font-weight:800}.family-monogram{background:#fff;border:2px solid #253c2e;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;box-shadow:4px 4px #253c2e}.family-intro{text-align:center;width:min(980px,100%);margin:clamp(64px,10vh,110px) auto 44px}.family-intro .eyebrow{color:#59655d}.family-intro h1{max-width:900px;font-family:var(--display);letter-spacing:-.07em;margin:0 auto 20px;font-size:clamp(2.8rem,7vw,6.8rem);font-weight:900;line-height:.95}.family-intro>p:last-child{color:#5a635c;max-width:670px;margin:0 auto;font-size:clamp(1rem,2vw,1.15rem)}.family-grid{grid-template-columns:repeat(3,1fr);gap:18px;width:min(1180px,100%);margin:0 auto;display:grid}.family-card{border:1px solid #161d1826;border-radius:30px;flex-direction:column;min-height:360px;padding:28px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 34px #1b201d17}.family-card:before{content:"";opacity:.09;border:36px solid;border-radius:50%;width:180px;height:180px;position:absolute;top:-72px;right:-58px}.family-card:hover{transform:translateY(-8px);box-shadow:0 26px 54px #1b201d24}.family-card-garden{color:#4b2254;background:#f2ddf4}.family-card-space{color:#103a6c;background:#dceaff}.family-card-field{color:#31523a;background:#ddeedc}.family-card-number{letter-spacing:.12em;align-self:flex-end;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem;font-weight:800}.family-avatar{width:84px;height:84px;font-family:var(--display);background:#ffffffb8;border:2px solid;border-radius:26px;place-items:center;margin:auto 0 24px;font-size:2.4rem;font-weight:900;display:grid;box-shadow:7px 7px}.family-card strong{font-family:var(--display);letter-spacing:-.04em;font-size:clamp(1.8rem,3vw,2.5rem)}.family-card>span:nth-last-child(2){opacity:.74;margin-top:4px}.family-enter{border-top:1px solid;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;font-weight:800;display:flex}.family-enter span{font-size:1.4rem;transition:transform .16s}.family-card:hover .family-enter span{transform:translate(5px)}.family-footer{color:#687068;justify-content:center;align-items:center;gap:9px;margin:26px auto 0;font-size:.86rem;display:flex}.family-footer span{color:#3f7652;font-size:.6rem}.login-page,.hub-page{--hub-bg:#f8f5ee;--hub-surface:#fff;--hub-text:#1d2b22;--hub-accent:#315c49;--hub-accent-soft:#dceadf;--hub-secondary:#7a5b29;--hub-focus:#005fcc;color:var(--hub-text);background:var(--hub-bg)}.login-page{isolation:isolate;place-items:center;min-height:100vh;padding:28px;display:grid;position:relative;overflow:hidden}.login-page:before,.login-page:after{z-index:-1;aspect-ratio:1;background:var(--hub-accent-soft);content:"";opacity:.72;border-radius:50%;width:38vw;min-width:260px;max-width:540px;position:absolute}.login-page:before{top:-18vw;right:-12vw}.login-page:after{bottom:-20vw;left:-13vw}.login-orbit{z-index:-1;aspect-ratio:1;border:1px solid color-mix(in srgb, var(--hub-accent) 24%, transparent);border-radius:50%;width:min(80vw,820px);position:absolute}.login-orbit:before,.login-orbit:after{background:var(--hub-accent);content:"";border-radius:50%;width:14px;height:14px;position:absolute}.login-orbit:before{top:18%;right:9%}.login-orbit:after{bottom:22%;left:7%}.login-card{border:1px solid color-mix(in srgb, var(--hub-accent) 18%, transparent);background:color-mix(in srgb, var(--hub-surface) 94%, transparent);width:min(480px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:30px;padding:clamp(30px,6vw,52px)}.login-mark{border:2px solid var(--hub-accent);width:72px;height:72px;color:var(--hub-accent);font-family:var(--display);background:var(--hub-accent-soft);box-shadow:6px 6px 0 var(--hub-accent);border-radius:22px;place-items:center;margin:0 0 34px;font-size:2rem;font-weight:900;display:grid}.login-card h1{font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(2.15rem,7vw,3.25rem);line-height:1}.login-helper{color:color-mix(in srgb, var(--hub-text) 67%, transparent);margin:18px 0 30px}.login-form,.add-form{display:grid}.login-form label,.add-form label,.editor-item>label{margin-bottom:7px;font-size:.82rem;font-weight:800}.password-row{position:relative}.login-form input,.add-form input,.editor-item>input{border:1px solid color-mix(in srgb, var(--hub-text) 22%, transparent);width:100%;min-height:52px;color:var(--hub-text);background:#fff;border-radius:12px;padding:0 14px;transition:border-color .14s,box-shadow .14s}.login-form input:focus,.add-form input:focus,.editor-item>input:focus{border-color:var(--hub-accent);box-shadow:0 0 0 4px var(--hub-accent-soft);outline:0}.password-row input{padding-right:74px}.show-password{min-width:60px;height:42px;color:var(--hub-accent);background:var(--hub-accent-soft);cursor:pointer;border:0;border-radius:9px;font-size:.8rem;font-weight:800;position:absolute;top:5px;right:5px}.form-error{color:#a12222;margin:9px 0 0;font-size:.82rem;font-weight:700}.form-error[hidden]{display:none}.login-submit{width:100%;margin-top:22px}.hub-page{isolation:isolate;min-height:100vh;position:relative;overflow:hidden}.hub-page:before{z-index:-2;background-image:linear-gradient(color-mix(in srgb, var(--hub-accent) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--hub-accent) 5%, transparent) 1px, transparent 1px);content:"";background-size:38px 38px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 90%);mask-image:linear-gradient(#000,#0000 90%)}.ambient-shape{z-index:-1;background:var(--hub-accent-soft);opacity:.72;filter:blur(1px);border-radius:50%;position:absolute}.ambient-one{width:440px;height:440px;top:90px;right:-170px}.ambient-two{width:340px;height:340px;bottom:-170px;left:-140px}.skip-link{z-index:100;color:#fff;background:var(--hub-accent);border-radius:10px;padding:10px 14px;transition:transform .12s;position:fixed;top:10px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.hub-header{padding:24px clamp(20px,4vw,48px)}.hub-brand{font-family:var(--display);align-items:center;gap:12px;font-weight:900;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--hub-accent);width:40px;height:40px;color:var(--hub-accent);background:var(--hub-accent-soft);box-shadow:3px 3px 0 var(--hub-accent);border-radius:13px;place-items:center;display:grid}.text-button{color:color-mix(in srgb, var(--hub-text) 70%, transparent);background:0 0;align-items:center;gap:7px;padding:0 7px;font-size:.86rem;display:inline-flex}.text-button:hover{color:var(--hub-accent)}.hub-main{width:min(1180px,100% - 40px);margin:0 auto;padding:clamp(50px,8vh,90px) 0 34px}.welcome-row{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px;display:flex}.welcome-row h1{font-family:var(--display);letter-spacing:-.075em;margin:0;font-size:clamp(3rem,8vw,7rem);font-weight:900;line-height:.9}.welcome-copy{color:color-mix(in srgb, var(--hub-text) 68%, transparent);margin:19px 0 0;font-size:clamp(1rem,2vw,1.15rem)}.link-section{position:relative}.section-heading{border-bottom:1px solid color-mix(in srgb, var(--hub-text) 16%, transparent);justify-content:space-between;align-items:baseline;gap:16px;padding:0 3px 15px;display:flex}.section-heading h2{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:1.15rem}.section-heading>span{color:color-mix(in srgb, var(--hub-text) 56%, transparent);font-size:.78rem;font-weight:700}.link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:20px;display:grid}.link-card{border:1px solid color-mix(in srgb, var(--hub-accent) 16%, transparent);min-width:0;min-height:285px;color:var(--hub-text);background:color-mix(in srgb, var(--hub-surface) 94%, transparent);text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;flex-direction:column;padding:24px;text-decoration:none;transition:transform .19s,box-shadow .19s,border-color .19s;display:flex;position:relative;box-shadow:0 13px 28px #1a1f1c12}.link-card:hover{border-color:color-mix(in srgb, var(--hub-accent) 48%, transparent);transform:translateY(-6px);box-shadow:0 22px 40px #1a1f1c1c}.link-card-button{cursor:pointer;width:100%;font:inherit}.card-number{color:color-mix(in srgb, var(--hub-text) 42%, transparent);letter-spacing:.1em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:800;position:absolute;top:23px;right:24px}.link-icon{width:58px;height:58px;color:var(--hub-accent);font-family:var(--display);background:var(--hub-accent-soft);border-radius:17px;place-items:center;margin-bottom:34px;font-size:1.2rem;font-weight:900;display:grid}.link-copy{flex-direction:column;display:flex}.link-copy strong{font-family:var(--display);letter-spacing:-.03em;font-size:1.3rem}.link-copy>span{color:color-mix(in srgb, var(--hub-text) 62%, transparent);margin-top:7px;font-size:.9rem;line-height:1.45}.link-footer{border-top:1px solid color-mix(in srgb, var(--hub-text) 12%, transparent);color:color-mix(in srgb, var(--hub-text) 58%, transparent);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:17px;font-size:.72rem;font-weight:700;display:flex}.link-footer>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-arrow{width:34px;height:34px;color:var(--hub-accent);background:var(--hub-accent-soft);border-radius:50%;flex:none;place-items:center;font-size:1rem;transition:transform .16s;display:grid}.link-card:hover .card-arrow{transform:translate(2px,-2px)}.storage-note{color:color-mix(in srgb, var(--hub-text) 53%, transparent);align-items:center;gap:10px;margin:24px 3px 0;font-size:.75rem;display:flex}.storage-note:before{content:"";background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.storage-note-saved:before{color:var(--hub-secondary)}.storage-note-saving:before,.storage-note-loading:before{animation:.9s ease-in-out infinite alternate save-pulse}.storage-note-error,.storage-note-invalid{color:#8d2929}.storage-note button{min-height:34px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:9px;padding:0 10px;font-size:.72rem;font-weight:800}.hub-loading{border:1px solid color-mix(in srgb, var(--hub-accent) 14%, transparent);min-height:285px;color:color-mix(in srgb, var(--hub-text) 58%, transparent);background:color-mix(in srgb, var(--hub-surface) 72%, transparent);border-radius:24px;justify-content:center;align-items:center;gap:10px;margin-top:20px;font-size:.86rem;font-weight:700;display:flex}.loading-dot{background:var(--hub-accent);border-radius:50%;width:9px;height:9px;animation:.9s ease-in-out infinite alternate save-pulse}.customize-mobile{display:none}.empty-state{border:1px dashed color-mix(in srgb, var(--hub-accent) 45%, transparent);background:color-mix(in srgb, var(--hub-surface) 68%, transparent);border-radius:24px;align-content:center;place-items:center;gap:14px;min-height:230px;margin-top:20px;display:grid}.empty-state p{font-family:var(--display);margin:0;font-size:1.2rem}.hub-page[data-theme=garden] .link-card:nth-child(3n+2),.login-page[data-theme=garden] .login-card{border-radius:34px 34px 34px 12px}.hub-page[data-theme=garden] .brand-mark,.login-page[data-theme=garden] .login-mark{border-radius:50% 50% 45% 55%}.hub-page[data-theme=space] .link-card,.login-page[data-theme=space] .login-card{border-radius:10px 28px}.hub-page[data-theme=space] .link-icon,.login-page[data-theme=space] .login-mark,.hub-page[data-theme=space] .brand-mark{border-radius:8px}.hub-page[data-theme=space] .ambient-one{border:66px solid color-mix(in srgb, var(--hub-accent) 12%, transparent);background:0 0}.hub-page[data-theme=field] .link-card,.login-page[data-theme=field] .login-card{box-shadow:0 10px 0 color-mix(in srgb, var(--hub-secondary) 16%, transparent), 0 20px 36px #1a1f1c14}.hub-page[data-theme=field] .link-icon{border:1px dashed var(--hub-accent)}.editor-layer{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1116137a;justify-content:flex-end;animation:.16s both fade-in;display:flex;position:fixed;inset:0}.editor-panel{width:min(560px,100%);height:100%;color:var(--hub-text);background:var(--hub-bg);flex-direction:column;padding:30px clamp(20px,5vw,42px) 26px;animation:.22s cubic-bezier(.2,.8,.2,1) both slide-in;display:flex;overflow-y:auto;box-shadow:-24px 0 70px #0c120e2e}.editor-topbar{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.editor-topbar h2{font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(2rem,7vw,3rem);line-height:1}.icon-button{border:1px solid color-mix(in srgb, var(--hub-text) 16%, transparent);background:var(--hub-surface);border-radius:50%;flex:none;place-items:center;width:48px;padding:0;font-size:1.55rem;line-height:1;display:grid}.editor-helper{color:color-mix(in srgb, var(--hub-text) 64%, transparent);margin:18px 0 10px}.editor-section{border-top:1px solid color-mix(in srgb, var(--hub-text) 14%, transparent);padding:28px 0}.editor-section h3{font-family:var(--display);margin:0 0 15px;font-size:1rem}.editor-list{gap:12px;display:grid}.editor-item{border:1px solid color-mix(in srgb, var(--hub-text) 14%, transparent);background:var(--hub-surface);border-radius:16px;padding:17px;display:grid}.editor-item-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.toggle-label{cursor:pointer;align-items:center;gap:9px;display:inline-flex}.toggle-label input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:#d9ddd9;border-radius:99px;width:38px;height:22px;transition:background .14s;position:relative}.toggle-track span{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .14s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000040}.toggle-label input:checked+.toggle-track{background:var(--hub-accent)}.toggle-label input:checked+.toggle-track span{transform:translate(16px)}.toggle-label input:focus-visible+.toggle-track{outline:3px solid var(--hub-focus);outline-offset:3px}.toggle-label input:disabled+.toggle-track{opacity:.72}.always-badge{color:var(--hub-secondary);background:color-mix(in srgb, var(--hub-secondary) 10%, transparent);white-space:nowrap;border-radius:99px;padding:4px 8px;font-size:.66rem;font-weight:800}.remove-button{color:#9b2f2f;background:0 0;min-height:34px;padding:0 5px;font-size:.74rem}.editor-item>label:not(:first-child){margin-top:11px}.editor-item>input{min-height:46px;font-size:.86rem}.fixed-link{color:color-mix(in srgb, var(--hub-text) 52%, transparent);margin:0;font-size:.78rem}.add-section{padding-bottom:12px}.add-form label:not(:first-child){margin-top:14px}.field-hint{color:color-mix(in srgb, var(--hub-text) 52%, transparent);margin:6px 0 0;font-size:.72rem}.add-form .primary-button{justify-self:start;margin-top:18px}.editor-footer{justify-content:space-between;align-items:center;gap:14px;margin-top:auto;padding-top:24px;display:flex}.reset-button{color:color-mix(in srgb, var(--hub-text) 66%, transparent);text-underline-offset:4px;background:0 0;padding:0;font-size:.8rem;text-decoration:underline}@keyframes fade-in{0%{opacity:0}}@keyframes save-pulse{to{opacity:.32;transform:scale(.82)}}@keyframes slide-in{0%{transform:translate(100%)}}@media (width<=900px){.family-grid,.link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-card:last-child{grid-column:1/-1;min-height:300px}.welcome-row{flex-direction:column;align-items:flex-start}.customize-button{align-self:flex-start}}@media (width<=620px){.family-home{padding:22px 16px 24px}.family-intro{text-align:left;margin:60px auto 32px}.family-intro h1{font-size:clamp(3rem,15vw,4.8rem)}.family-intro>p:last-child{margin-left:0}.family-grid,.link-grid{grid-template-columns:1fr}.family-card,.family-card:last-child{grid-column:auto;min-height:290px}.family-avatar{width:70px;height:70px;margin-top:44px}.login-page{padding:16px}.login-card{border-radius:24px;padding:28px 22px}.hub-header{padding:18px 20px}.hub-brand>span:last-child{display:none}.hub-main{width:min(100% - 28px,1180px);padding-top:50px}.welcome-row{margin-bottom:34px}.welcome-row h1{font-size:clamp(3.2rem,18vw,5rem)}.customize-button{display:none}.customize-mobile{width:100%;margin-top:18px;display:flex}.section-heading{flex-direction:column;align-items:flex-start;gap:4px}.link-card{min-height:260px}.editor-layer{align-items:flex-end}.editor-panel{border-radius:24px 24px 0 0;width:100%;height:min(92vh,900px);animation-name:sheet-in;box-shadow:0 -24px 70px #0c120e2e}.editor-footer{flex-direction:column-reverse;align-items:stretch}.editor-footer .primary-button{width:100%}.editor-item-heading{align-items:flex-start}}@keyframes sheet-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
