@import url('./footer.79270f6f5a83.css');
@import url('./cards.88d36610a0cb.css');
:root{font-family:'Avenir Next','Segoe UI',sans-serif;color:#262337;background:#f8f8fc;font-size:16px;font-synthesis:none;--purple:#7548e8;--purple-dark:#6533d4;--muted:#787586;--line:#eae8f1;--background:#f8f8fc;--text:#262337;--family:#b74970;--friends:#4f49b4;--acquaintances:#287867;--business:#9b640b}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.5;cursor:wait}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #946afa;outline-offset:4px}button{border:0;background:none}a{color:inherit}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}button svg{pointer-events:none}.app-shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100dvh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:38px 23px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}.brand{display:flex;align-items:center;text-decoration:none;font-size:39px;font-weight:850;letter-spacing:-2.5px;width:fit-content;line-height:1}.brand-icon{display:grid;place-items:center;border-radius:13px;width:43px;height:43px;background:var(--purple);color:#e5ff8c;font-size:41px;font-weight:500;letter-spacing:0;margin-right:10px}.brand-dot{color:var(--purple)}.nav-label{color:#9b98a7;font-size:10px;font-weight:750;letter-spacing:1.5px;line-height:1.7;margin:53px 12px 18px;max-width:145px}.main-nav{display:grid;gap:9px}.nav-button{display:flex;align-items:center;gap:12px;text-align:left;min-height:49px;padding:12px 13px;border-radius:11px;font-size:14px;font-weight:550;color:#797585;white-space:nowrap}.nav-button.active{background:#f0eafb;color:#7443d9;font-weight:700}.nav-button:hover{background:#f6f3fb}.nav-count{font-size:11px;background:#f0edf6;min-width:21px;padding:3px;border-radius:6px;text-align:center;margin-left:auto}.sidebar-note{margin:auto 10px 30px;position:relative;padding-top:42px}.sidebar-note p{font-size:14px;color:#9792a6;line-height:1.7}.little-spark{color:#b08ae9;font-size:29px}.handdrawn{font-size:49px;display:block;color:#bfb0dd;transform:rotate(-13deg);margin:12px 0 0 40px}.sidebar-bottom{display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:10px;color:#9c96ab}.local-tag{background:#f6f3fb;border-radius:5px;padding:6px 8px}.workspace{min-width:0}.topbar{height:98px;display:flex;align-items:center;justify-content:space-between;margin:0 48px;gap:16px;border-bottom:1px solid var(--line)}.topbar-label{color:#8d879b;font-size:13px}.topbar #account-control{display:flex;align-items:center;gap:12px;font-size:14px}.account-btn{display:flex;gap:9px;align-items:center;font-size:13px;font-weight:650;min-height:44px}.account-avatar{width:32px;height:32px;border-radius:50%;background:#ebe0ff;display:grid;place-items:center;color:var(--purple-dark);font-weight:700}.pill{border:1px solid var(--line);border-radius:8px;min-height:39px;padding:9px 15px;font-size:13px;font-weight:650;background:#fff}.pill.purple{color:var(--purple-dark);background:#ede6fb;border-color:#ede6fb}.user-disclosure{position:relative}.user-disclosure summary{list-style:none;cursor:pointer}.user-disclosure summary::-webkit-details-marker{display:none}.user-disclosure .dropdown{position:absolute;right:0;top:52px;z-index:10;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 45px #33254a19;padding:8px;min-width:190px}.dropdown button{padding:12px;display:flex;align-items:center;gap:9px;width:100%;text-align:left;border-radius:7px}.dropdown button:hover{background:#f5f0fc}main{padding:37px 48px 50px;min-height:calc(100dvh - 98px);max-width:1500px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:29px}.eyebrow{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;color:#9a87b6;margin-bottom:10px}h1{font-size:32px;letter-spacing:-1.15px;line-height:1.23;font-weight:750}.heading-sub{font-size:14px;color:var(--muted);margin-top:9px;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:45px;border-radius:10px;font-size:14px;font-weight:650;padding:11px 18px;white-space:nowrap;transition:transform .18s,box-shadow .18s,background .18s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--purple);color:#fff;box-shadow:0 5px 10px #7548e819}.btn.primary:hover{background:var(--purple-dark);box-shadow:0 7px 17px #7548e82b}.btn.light{background:#fff;border:1px solid #e8e2f1}.btn.subtle{background:#f3effa;color:var(--purple-dark)}.btn.danger{color:#aa3658;background:#ffeaf0}.btn.small{min-height:36px;padding:8px 12px;font-size:12px;border-radius:8px}.btn svg{width:17px;height:17px}.demo-banner{border:1px dashed #d9cdeb;background:#f4effa;color:#77608f;display:flex;align-items:center;gap:9px;border-radius:10px;padding:10px 14px;font-size:12px;line-height:1.5;margin-bottom:25px}.demo-banner svg{width:16px}.demo-banner button{margin-left:auto;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;padding:3px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px}.main-column{min-width:0}.spotlight{position:relative;background:#ede5fc;border-radius:19px;overflow:hidden;min-height:252px;padding:28px 29px;display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:8px;border:1px solid #e7def5}.spotlight-copy{z-index:1}.spotlight-label{color:#7657a5;font-size:11px;letter-spacing:1.6px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:17px}.spotlight h2{font-size:30px;letter-spacing:-1px;font-weight:750}.spotlight .birthday-info{font-size:14px;color:#7a6794;margin:7px 0 20px}.spotlight .badge{background:#fff9;color:#7445a6;font-size:11px}.spotlight-art{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.cake-emoji{font-size:91px;filter:drop-shadow(0 8px 0 #ccbae533);transform:rotate(-9deg);animation:floaty 5s ease-in-out infinite;line-height:1.4}.countdown-sticker{position:relative;transform:rotate(6deg);font-size:11px;font-weight:750;padding:9px 13px;border-radius:8px;background:#e6ff9d;color:#596826;margin-top:0;box-shadow:2px 3px 0 #b7c88c44}.sprinkles{position:absolute;inset:0;pointer-events:none;opacity:.65;background-image:radial-gradient(ellipse at 83% 15%,#ce9bd7 0 3px,transparent 4px),radial-gradient(ellipse at 67% 76%,#b198e4 0 3px,transparent 4px),radial-gradient(ellipse at 93% 83%,#cbacd8 0 3px,transparent 4px),radial-gradient(ellipse at 58% 26%,#b59ae1 0 2px,transparent 3px)}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 15px}.section-top h2{font-size:17px;font-weight:700;letter-spacing:-.4px}.section-top .text-button{font-size:12px;color:var(--purple-dark);font-weight:600;padding:6px 0}.section-top .text-button svg{width:14px}.upcoming-list{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.person-row{display:flex;align-items:center;gap:13px;padding:16px 18px;width:100%;border-bottom:1px solid #f0edf5;text-align:left;transition:background .18s}.person-row:last-child{border-bottom:0}.person-row:hover{background:#fcfaff}.avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:15px;letter-spacing:-.5px;font-weight:750;flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.family{background:#fbe4ed;color:#b35075}.avatar.friends{background:#e9e4ff;color:#7961b9}.avatar.acquaintances{background:#d9f3e9;color:#3e8c78}.avatar.business{background:#fff0d2;color:#b6832c}.person-row .person-info{flex:1;min-width:0}.person-info strong{font-size:14px;font-weight:650;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-info small{font-size:12px;display:block;color:var(--muted);margin-top:4px}.due{font-size:11px;font-weight:600;background:#f3f1f8;color:#89809b;border-radius:6px;padding:6px 9px;white-space:nowrap}.due.soon{background:#f1eafd;color:#805ab7}.person-row>svg{width:17px;color:#b2a9c1;margin-left:2px}.side-column{display:flex;flex-direction:column;gap:21px}.mini-calendar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.calendar-head h3{font-size:14px;letter-spacing:-.3px}.calendar-controls{display:flex}.icon-btn{width:32px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#918799}.icon-btn:hover{background:#f3edf9}.icon-btn svg{width:16px;height:16px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.cal-dayname{font-size:10px;color:#aaa2b4;padding:4px 0 9px}.cal-cell{position:relative;aspect-ratio:1;min-width:0;font-size:11px;display:grid;place-items:center;border-radius:50%;color:#766e83;padding:0}.cal-cell.birthday{background:#f3ecff;color:#7446b5;font-weight:700}.cal-cell.birthday::after{content:'';width:3px;height:3px;border-radius:50%;background:#9664e0;position:absolute;bottom:2px}.cal-cell.today{background:var(--purple);color:white;font-weight:700}.cal-cell.today::after{background:white}.cal-cell.other{color:#c8c3d0}.calendar-key{display:flex;gap:15px;align-items:center;margin-top:18px;border-top:1px solid #f3eff7;padding-top:13px;font-size:10px;color:#9a92a8}.calendar-key span{display:flex;align-items:center;gap:5px}.calendar-key i{width:6px;height:6px;border-radius:50%;background:var(--purple)}.calendar-key span:last-child i{background:#d9c6f4}.message-teaser{background:#fff2d9;border:1px solid #f8e9ce;padding:22px;border-radius:15px;position:relative;overflow:hidden}.teaser-icon{width:35px;height:35px;border-radius:10px;background:#ffe7b1;display:grid;place-items:center;color:#a07935;margin-bottom:13px}.message-teaser h3{font-size:18px;letter-spacing:-.6px;margin-bottom:8px;line-height:1.3}.message-teaser p{font-size:12px;line-height:1.75;color:#9a825b;margin-bottom:16px}.message-teaser .text-button{font-size:12px;color:#90702e;font-weight:700;padding:0;min-height:30px}.message-teaser .text-button svg{width:14px;margin-left:4px}.mini-stat{border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;align-items:center;gap:13px;background:#fff}.mini-stat .stat-icon{color:#bc6087;background:#fce9f1;width:38px;height:38px;border-radius:11px;display:grid;place-items:center}.mini-stat strong{font-size:22px;font-weight:700}.mini-stat p{font-size:11px;color:#92889e;margin-top:2px}.people-section{margin-top:32px}.people-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.people-toolbar h2{font-size:19px;letter-spacing:-.5px}.search-box{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:white;border-radius:9px;padding:0 11px;max-width:210px;height:37px;color:#a49bad}.search-box svg{width:15px}.search-box input{border:0;background:transparent;padding:0;outline:0;width:100%;font-size:12px;color:var(--text)}.search-box:focus-within{outline:2px solid #be9ff5}.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:19px}.filter-chip{border-radius:7px;background:#fff;border:1px solid var(--line);font-size:11px;color:#8f8799;padding:8px 11px;display:flex;gap:6px;align-items:center;min-height:34px}.filter-chip.active{background:var(--purple);border-color:var(--purple);color:white}.filter-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.filter-chip:not(.active).family{color:var(--family)}.filter-chip:not(.active).friends{color:var(--friends)}.filter-chip:not(.active).acquaintances{color:var(--acquaintances)}.filter-chip:not(.active).business{color:var(--business)}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.person-card{background:white;border:1px solid var(--line);border-radius:14px;padding:19px;position:relative;transition:transform .2s,box-shadow .2s}.person-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #5840760a}.card-open{width:100%;text-align:left;padding:0}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.card-top .avatar{width:44px;height:44px}.card-top .badge{font-size:10px}.badge{display:inline-flex;gap:5px;align-items:center;border-radius:5px;padding:5px 7px;font-size:11px;font-weight:550}.badge.family{background:#fceaf1;color:var(--family)}.badge.friends{background:#eeeaff;color:var(--friends)}.badge.acquaintances{background:#e4f5ef;color:var(--acquaintances)}.badge.business{background:#fff2d9;color:var(--business)}.person-card h3{font-size:14px;font-weight:650;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-date{font-size:12px;color:#9c93a7;margin-top:7px;display:flex;align-items:center;gap:6px}.card-date svg{width:13px;height:13px}.card-bottom{margin-top:16px;border-top:1px solid #f1edf7;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10px;color:#9d91ac}.card-message{padding:4px 5px;border-radius:6px;color:#9978bb;font-size:11px;min-height:27px}.card-message:hover{background:#f2eafa}.card-message svg{width:14px;height:14px}.empty-state{grid-column:1/-1;text-align:center;padding:50px 25px;border:1px dashed #dcd2e9;border-radius:16px;background:#fffc}.empty-icon{font-size:42px;margin-bottom:14px}.empty-state h2{font-size:22px;letter-spacing:-.6px;margin-bottom:10px}.empty-state p{font-size:14px;line-height:1.7;color:var(--muted);max-width:390px;margin:0 auto 20px}.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gift-card{background:#fffae9;border:1px solid #f2e8c6;border-radius:14px;padding:23px;min-height:210px;display:flex;flex-direction:column}.gift-card:nth-child(3n+2){background:#f2ecfe;border-color:#e8defb}.gift-card:nth-child(3n+3){background:#eaf6f0;border-color:#dceee4}.gift-person{display:flex;gap:10px;align-items:center;margin-bottom:20px}.gift-person .avatar{width:35px;height:35px;font-size:12px}.gift-card h3{font-size:14px}.gift-card p{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.gift-card .btn{align-self:flex-start;margin-top:auto;padding-left:0;background:none;font-size:12px;padding-bottom:0;padding-top:16px}.large-calendar{background:white;border:1px solid var(--line);border-radius:17px;padding:25px}.large-calendar .calendar-head h3{font-size:22px}.large-calendar .cal-grid{gap:8px}.large-calendar .cal-dayname{font-size:13px}.large-calendar .cal-cell{aspect-ratio:auto;min-height:100px;border-radius:10px;background:#faf8fd;justify-content:flex-start;align-content:flex-start;display:flex;flex-direction:column;gap:7px;text-align:left;padding:12px;font-size:14px}.large-calendar .cal-cell.today{background:#eee6fd;color:var(--purple-dark);outline:1px solid #d9c5f8}.large-calendar .cal-cell.birthday{background:#f2eafb}.large-calendar .cal-cell::after{display:none}.cal-event{font-size:10px;color:#8054b6;line-height:1.4;max-width:100%;overflow:hidden;text-overflow:ellipsis}.calendar-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:18px}.reminder-banner{background:#edf5df;border:1px solid #dfebc8;border-radius:12px;padding:13px 17px;display:flex;align-items:center;gap:10px;margin-bottom:21px;color:#627444;font-size:13px}.reminder-banner svg{flex-shrink:0}dialog{border:1px solid #e8e0f0;box-shadow:0 20px 100px #22143e30;border-radius:20px;padding:0;width:min(560px,calc(100% - 32px));max-height:90dvh;color:var(--text);background:#fff;overflow:auto}dialog::backdrop{background:#25193c66;backdrop-filter:blur(5px)}dialog[open]{animation:dialog-in .2s ease-out}.modal-pad{padding:28px}.modal-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.modal-header h2{font-size:23px;letter-spacing:-.7px;font-weight:700}.modal-header .icon-btn{flex-shrink:0;margin:-6px -7px 0 0}.modal-sub{font-size:13px;line-height:1.7;color:var(--muted);margin-top:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650}.field input,.field select,.field textarea{min-width:0;width:100%;border:1px solid #e7e1ef;border-radius:8px;background:#f8f6fb;color:var(--text);font-size:16px;padding:12px;font-weight:400;outline:none;min-height:46px}.field textarea{resize:vertical;min-height:105px;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{border-color:#a780e8;box-shadow:0 0 0 3px #a780e81a}.date-fields{display:grid;grid-template-columns:1fr 1.5fr 1.1fr;gap:10px}.photo-control{display:flex;align-items:center;gap:15px;margin-bottom:24px}.photo-control .avatar{width:67px;height:67px;font-size:22px}.photo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.photo-actions input{max-width:100%;font-size:12px}.photo-actions small{display:block;font-size:11px;color:var(--muted);width:100%;font-weight:400}.upload-label{font-size:12px;border:1px solid var(--line);padding:9px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.upload-label svg{width:15px;height:15px}.upload-label input{position:absolute;width:1px;height:1px;opacity:0}.upload-label:focus-within{outline:2px solid var(--purple)}.form-error{font-size:13px;color:#b23456;line-height:1.5;margin:12px 0;white-space:pre-wrap}.form-error:empty{display:none}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.form-actions .delete-person{margin-right:auto}.helper{font-size:11px;line-height:1.6;color:#93869f;font-weight:400}.auth-form{max-width:440px}.auth-form .form-grid{display:flex;flex-direction:column;gap:16px}.auth-form .btn.primary{width:100%;margin-top:7px}.auth-switch{display:flex;justify-content:center;gap:9px;margin-top:17px;font-size:12px}.auth-switch button{color:var(--purple-dark);padding:7px}.check-label{font-size:11px;line-height:1.6;font-weight:400;display:flex;gap:8px;align-items:flex-start;color:#8d819a}.check-label input{margin:3px 0;accent-color:var(--purple);width:16px;height:16px}.check-label a{color:var(--purple-dark)}.auth-notice{font-size:11px;line-height:1.7;color:#92879c;margin:14px 0 20px}.detail-person{display:flex;gap:16px;align-items:center;margin:5px 0 22px}.detail-person .avatar{width:68px;height:68px;font-size:22px}.detail-person h3{font-size:23px;letter-spacing:-.7px}.detail-person p{font-size:13px;color:var(--muted);margin-top:6px}.detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.note-box{background:#fff6df;border:1px solid #f4eacb;border-radius:13px;padding:20px;margin-top:22px}.note-box h3{font-size:14px;margin-bottom:10px;display:flex;align-items:center;gap:9px}.note-box p{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;color:#8b7752}.note-box .text-button{font-size:12px;color:#8b6d30;margin-top:13px;padding:0;min-height:32px}.generator-person{display:flex;align-items:center;gap:11px;background:#f5effc;border-radius:10px;padding:12px;margin-bottom:20px}.generator-person strong{font-size:14px}.generator-person small{display:block;font-size:11px;margin-top:3px;color:var(--muted)}.tone-group{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.tone-button{font-size:12px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-height:39px}.tone-button.active{background:#ece2ff;border-color:#d1b8f4;color:var(--purple-dark)}.field-caption{font-size:12px;font-weight:650;margin-bottom:9px}.generator-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.message-area{width:100%;min-height:165px;resize:vertical;border:1px solid #d9c7f0;background:#faf7ff;border-radius:12px;padding:18px;font:14px/1.8 'Avenir Next','Segoe UI',sans-serif;color:#68517e;margin-top:18px;outline-color:#b98ce9}.message-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#aa9ab7;margin-top:6px}.copy-btn{min-width:145px}.generator-disclaimer{font-size:11px;color:#9a8aa8;line-height:1.7;margin-top:17px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#342644;color:#fff;font-size:13px;padding:13px 22px;border-radius:12px;box-shadow:0 5px 25px #43264a30;z-index:100;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:calc(100% - 32px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.confetto{position:fixed;top:42%;left:50%;width:8px;height:12px;background:var(--c);z-index:110;pointer-events:none;animation:confetti 1.2s ease-out forwards;transform:rotate(var(--r))}.legal-copy h3{font-size:16px;margin:22px 0 9px}.legal-copy p,.legal-copy li{font-size:14px;line-height:1.8;color:#85738d}.legal-copy ul{padding-left:20px}.settings-section{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.settings-section h3{font-size:16px;margin-bottom:8px}.settings-section p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:14px}.settings-section .field{margin-top:14px}.loading-state{padding:100px 20px;text-align:center;color:#9d88b9;font-size:14px}.loading-state .brand-icon{margin:0 auto 16px;animation:floaty 3s ease-in-out infinite}.view-enter{animation:view-in .3s ease-out}.greeting-check{background:#ecf4e2;color:#6a8448}.greeting-check svg{width:15px}.saved-state{font-size:12px;color:#839270}.clear-search{font-size:12px;color:var(--purple-dark);text-decoration:underline;margin-top:10px}.calendar-day-list{display:grid;gap:10px}.calendar-day-list .person-row{border:1px solid var(--line);border-radius:12px}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-9deg)}50%{transform:translateY(-7px) rotate(-5deg)}}@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes view-in{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes confetti{to{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}
@media(min-width:1550px){main{padding-top:46px}.spotlight{min-height:270px}.people-grid{gap:18px}.person-card{padding:23px}}
@media(max-width:1200px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:31px 17px 23px}.topbar{margin:0 30px}main{padding:32px 30px 40px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spotlight{grid-template-columns:minmax(0,1fr) 108px;padding:25px}.cake-emoji{font-size:74px}.spotlight h2{font-size:26px}.spotlight .btn{font-size:12px;padding:11px 13px}.brand-footer{padding-left:30px!important;padding-right:30px!important}.topbar-label{font-size:12px}}
@media(max-width:980px){.app-shell{grid-template-columns:180px minmax(0,1fr)}.nav-button{font-size:12px;gap:9px;padding:11px 9px}.nav-label{font-size:9px;margin-left:8px}.brand{font-size:35px}.brand-icon{width:38px;height:38px;font-size:35px}.nav-count{display:none}.topbar{height:84px;margin:0 25px}.topbar-label{max-width:180px;line-height:1.6}main{padding:30px 25px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.side-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.side-column .mini-stat{display:none}.mini-calendar{padding:18px}.cal-cell{max-height:35px;aspect-ratio:auto;min-height:27px}.side-column{grid-row:2}.people-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.person-card{padding:15px}.card-top .badge{font-size:9px;padding:4px}.card-top .avatar{width:36px;height:36px;font-size:12px}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:28px}.page-heading{gap:15px}.page-heading .btn{font-size:12px;padding:11px 13px}.spotlight{grid-template-columns:1fr 160px}.cake-emoji{font-size:92px}.brand-footer{gap:20px!important;flex-wrap:wrap}.large-calendar .cal-cell{min-height:80px;padding:8px}.cal-event{font-size:9px}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:relative;top:auto;height:auto;padding:20px 20px 0;border-right:0;border-bottom:1px solid var(--line);display:block}.brand{font-size:33px}.brand-icon{width:35px;height:35px;font-size:33px;border-radius:11px}.nav-label,.sidebar-note,.sidebar-bottom{display:none}.main-nav{display:flex;justify-content:space-between;gap:3px;margin-top:20px}.nav-button{border-radius:8px 8px 0 0;flex:1;justify-content:center;gap:6px;min-height:46px;padding:10px 5px;font-size:11px}.nav-button svg{width:16px;height:16px}.nav-button.active{box-shadow:inset 0 -2px var(--purple);background:#f5efff}.topbar{position:absolute;top:15px;right:17px;height:44px;margin:0;border:0;max-width:calc(100% - 148px)}.topbar-label{display:none}.topbar #account-control{gap:5px}.topbar .pill{font-size:10px;padding:8px;min-height:35px}.account-btn{font-size:11px;gap:7px}.account-avatar{width:28px;height:28px}.account-name{max-width:88px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}main{padding:27px 20px 35px;min-height:calc(100dvh - 121px)}.page-heading{align-items:flex-start;margin-bottom:22px}.eyebrow{font-size:9px;margin-bottom:8px}.heading-sub{font-size:12px;max-width:230px}.page-heading .btn{min-height:40px;padding:10px;font-size:11px;margin-top:4px}.page-heading .btn svg{width:15px}.page-heading .btn .add-label-long{display:none}.page-heading .btn .add-label-short{display:inline}h1{font-size:26px;letter-spacing:-1px}.demo-banner{font-size:10px;padding:9px 11px;margin-bottom:18px;align-items:flex-start}.demo-banner svg{display:none}.demo-banner button{font-size:10px}.spotlight{padding:23px;grid-template-columns:minmax(0,1fr) 95px;min-height:232px;border-radius:16px}.spotlight-label{font-size:9px;letter-spacing:1.2px;margin-bottom:17px}.spotlight-label svg{width:15px}.spotlight h2{font-size:25px}.spotlight .birthday-info{font-size:12px;margin-bottom:20px}.cake-emoji{font-size:71px}.countdown-sticker{font-size:9px;padding:8px 9px;white-space:nowrap}.spotlight .btn{font-size:11px;padding:10px 12px}.spotlight .btn svg{width:14px}.section-top{margin-top:25px}.section-top h2{font-size:16px}.section-top .text-button{font-size:11px}.person-row{padding:15px;gap:10px}.person-info strong{font-size:13px}.person-info small{font-size:11px}.person-row .avatar{width:38px;height:38px;font-size:13px}.due{font-size:10px;padding:6px 7px}.person-row>svg{display:none}.side-column{gap:13px}.message-teaser{padding:19px 16px}.message-teaser h3{font-size:17px}.message-teaser p{font-size:11px}.message-teaser .text-button{font-size:10px}.mini-calendar{padding:17px 12px}.calendar-head{margin-bottom:10px;gap:3px}.calendar-head h3{font-size:12px}.calendar-controls .icon-btn{width:22px;height:30px}.cal-grid{gap:3px}.cal-dayname{font-size:9px}.cal-cell{font-size:10px;min-height:24px}.calendar-key{font-size:9px;gap:10px}.people-section{margin-top:27px}.people-toolbar{gap:9px}.people-toolbar h2{font-size:18px}.search-box{width:145px;height:35px}.search-box input{font-size:11px}.filters{gap:5px}.filter-chip{font-size:10px;padding:8px 9px}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.person-card{padding:15px}.person-card h3{font-size:13px}.card-top{margin-bottom:11px}.card-date{font-size:11px;gap:5px}.card-bottom{font-size:9px;padding-top:10px;margin-top:13px}.card-message{font-size:10px}.card-message svg{width:13px}.card-top .badge{font-size:9px}.brand-footer{padding:27px 20px!important;gap:14px!important}.brand-footer small{font-size:10px}.footer-legal{gap:15px!important}.signature{order:3;width:100%;justify-content:center;margin-top:8px}.footer-actions{margin-left:auto}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gift-card{padding:17px}.gift-card p{font-size:12px}.gift-person{gap:8px;align-items:flex-start}.gift-card h3{font-size:12px}.gift-person .avatar{width:30px;height:30px;font-size:10px}.gift-person .person-info small{font-size:10px}.large-calendar{padding:15px}.large-calendar .cal-grid{gap:4px}.large-calendar .cal-cell{min-height:63px;padding:6px;font-size:11px}.large-calendar .calendar-head h3{font-size:18px}.large-calendar .cal-dayname{font-size:10px}.cal-event{font-size:8px;max-width:28px;white-space:nowrap}.large-calendar .cal-cell.birthday::after{display:block;bottom:6px;left:7px}.calendar-note{font-size:11px}dialog{border-radius:18px 18px 0 0;width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;position:fixed;inset:auto 0 0}.modal-pad{padding:25px 22px max(25px,env(safe-area-inset-bottom))}.modal-header h2{font-size:22px}.field{font-size:12px}.form-actions .btn{font-size:12px;padding:11px 13px}.form-actions{gap:7px}.message-meta{font-size:9px}.auth-form{max-width:100%}.modal-sub{font-size:12px}.form-grid{gap:14px}.generator-options{grid-template-columns:1fr 1.2fr}.toast{bottom:17px}.reminder-banner{font-size:11px;padding:11px 13px}}
.add-label-short{display:none}@media(max-width:700px){.add-label-long{display:none}.add-label-short{display:inline}}@media(max-width:370px){main{padding-left:15px;padding-right:15px}.sidebar{padding-left:15px;padding-right:15px}.nav-button{font-size:10px;gap:4px}.nav-button svg{width:14px;height:14px}.spotlight{grid-template-columns:1fr 70px;padding:19px}.cake-emoji{font-size:57px}.spotlight h2{font-size:23px}.countdown-sticker{font-size:8px}.side-column{grid-template-columns:1fr}.side-column .message-teaser{display:none}.mini-calendar .cal-cell{min-height:29px}.person-card{padding:12px}.card-top .badge{font-size:8px}.card-top .avatar{width:30px;height:30px;font-size:10px}.card-bottom .card-message span{display:none}.people-toolbar h2{font-size:16px}.search-box{width:129px}.brand-footer .footer-legal{width:100%;justify-content:space-between}.footer-actions{margin:auto!important}.signature{margin-top:0}.topbar{right:12px}.topbar .pill{font-size:9px}.date-fields{gap:6px}.field input,.field select{padding:10px}.form-grid{gap:12px}.form-actions{flex-wrap:wrap}.copy-btn{min-width:130px}.tone-group{gap:5px}.tone-button{font-size:11px;padding:9px}.gift-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.confetto{display:none}}
/* Compact mobile navigation keeps every destination visible at 320 px. */
@media(max-width:700px){.main-nav{gap:0;margin-top:18px}.nav-button{flex-direction:column;flex-basis:0;min-width:0;gap:5px;white-space:normal;min-height:61px;padding:9px 2px;font-size:10px}.nav-button [data-i18n]{max-width:100%;overflow-wrap:anywhere}.nav-button svg{width:19px;height:19px}.nav-button.active{box-shadow:inset 0 -2px var(--purple)}.topbar{max-width:calc(100% - 145px)}.side-column>*,.people-toolbar>*{min-width:0}.person-card h3{white-space:normal;overflow-wrap:anywhere}.form-actions{flex-wrap:wrap}.spotlight h2{overflow-wrap:anywhere}.spotlight .birthday-info{line-height:1.6}.cal-event{overflow-wrap:normal}}
/* A familiar face leads the birthday spotlight; the cake stays as a small accent. */
.spotlight-portrait{position:relative;display:block;margin:5px 0 14px;animation:floaty 6s ease-in-out infinite}.spotlight-portrait .avatar{width:114px;height:114px;border:5px solid #fff;box-shadow:0 7px 18px #6e439b16}.birthday-mini{position:absolute;right:-9px;bottom:-9px;font-size:33px;line-height:1.2;filter:drop-shadow(0 3px 2px #6345721a)}
@media(max-width:1200px){.spotlight-portrait .avatar{width:92px;height:92px}}
@media(max-width:980px) and (min-width:701px){.spotlight-portrait .avatar{width:116px;height:116px}}
@media(max-width:370px){.spotlight-portrait .avatar{width:70px;height:70px;border-width:4px}.birthday-mini{font-size:25px;right:-6px;bottom:-7px}}
/* Personal details, imports and reminder actions */
.pets{--group:#308578;--group-bg:#e1f1eb}.avatar.pets,.badge.pets{background:#e1f1eb;color:#286b60}.pets .filter-dot{background:#4d9b89}.filter-chip.pets.active{background:#e1f1eb;color:#286b60}
.heading-actions,.settings-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.heading-actions{justify-content:flex-end;flex-shrink:0}.heading-actions .btn{white-space:nowrap}.btn.small{padding:9px 12px;font-size:12px}.extra-fields{margin:20px 0}.extra-fields summary,.ai-settings summary,.data-preview summary{cursor:pointer;font-weight:650;color:var(--purple,#7548e8);padding:12px 0}.extra-fields .form-grid{margin-top:12px}.data-hint{line-height:1.65}.personal-notes{font-size:13px;line-height:1.7;margin-top:22px;overflow-wrap:anywhere}.personal-notes b{display:block;color:#766c81;font-size:11px;letter-spacing:.03em}.gift-history{margin-top:24px;border-top:1px solid #eae4ef;padding-top:12px}.gift-history h3{font-size:15px}.gift-history .section-top{gap:10px;margin:6px 0 14px;flex-wrap:wrap}.gift-history ul{padding:0;margin:0;list-style:none}.gift-history li{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #ebe6ec}.gift-history li>div{flex:1;min-width:0}.gift-history strong{font-weight:550;font-size:13px;overflow-wrap:anywhere}.gift-history small{display:block;color:#82798a;margin-top:5px}.gift-year{border-radius:8px;padding:6px 9px;background:#f0e9f8;color:#795599;font-size:12px}.gift-card button.gift-person{border:0;background:none;padding:0;text-align:left;width:100%;cursor:pointer}.gift-card .gift-history{margin-top:18px}.import-text{min-height:210px!important;line-height:1.8!important;font-family:inherit}.import-review{max-height:50vh;overflow-y:auto;overscroll-behavior:contain}.import-row{display:flex;align-items:center;gap:14px;padding:14px 6px;border-bottom:1px solid #ece6ef;font-size:14px;cursor:pointer}.import-row input,.check-label input{accent-color:#7548e8;flex-shrink:0;width:17px;height:17px}.import-row span{min-width:0;overflow-wrap:anywhere}.import-row small,.import-row em{display:block;margin-top:5px;font-size:12px;color:#82778b;font-style:normal}.import-row.row-invalid em{color:#a5444d}.import-row:has(input:disabled){opacity:.65}.generator-personal{margin:0 0 16px}.emoji-choice{padding-top:20px}.ai-settings{border:1px solid #e4d9f0;border-radius:15px;padding:0 16px 14px;background:#faf7fe}.ai-settings>.field,.ai-settings>.check-label{margin-top:15px}.ai-settings .field textarea{min-height:80px}.ai-settings>.btn{width:100%;margin-top:16px}.data-preview pre{font-size:11px;line-height:1.65;background:#f2ecf8;border-radius:10px;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere}.account-status{display:flex;gap:8px;align-items:center;font-size:13px;color:#806229;background:#fff5da;border-radius:10px;padding:12px}.account-status svg{width:18px;height:18px}.account-status.verified{background:#e4f3e9;color:#346b4a}.settings-section form{margin:18px 0 24px}.settings-section .field{margin-top:12px}.settings-section .form-grid{margin-top:16px}.settings-section summary{cursor:pointer;padding:8px 0}.settings-buttons{margin-top:15px}.forgot-password{display:block;margin:18px auto 0!important}.reminder-center:empty{display:none}.reminder-center{margin:0 0 26px}.reminder-center>.section-top{margin-top:0;gap:12px;flex-wrap:wrap}.reminder-center h2{font-size:17px}.reminder-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;border:1px solid #e9e1f3;background:#fffcff;padding:14px 18px;border-radius:16px;box-shadow:0 3px 10px #4b215003}.reminder-person{display:flex;gap:12px;align-items:center;min-width:0;text-align:left;background:none;border:0;cursor:pointer}.reminder-person>span:last-child{min-width:0}.reminder-person strong{display:block;font-size:13px;overflow-wrap:anywhere}.reminder-person small{display:block;color:#85768d;margin-top:5px;font-size:11px}.reminder-person .avatar{width:42px;height:42px;font-size:14px;flex-shrink:0}.reminder-actions{display:flex;gap:8px;flex-shrink:0}.btn:disabled{cursor:default;opacity:.55}#verification-preview:empty{display:none}#verification-preview{margin-top:12px}
@media(max-width:1250px){.heading-actions{flex-direction:column;align-items:stretch}.page-heading h1{font-size:30px}}
@media(max-width:700px){.heading-actions{flex-direction:row;justify-content:flex-start;width:100%}.heading-actions .btn{flex:1;justify-content:center;padding-left:12px;padding-right:12px}.page-heading{align-items:flex-start;flex-direction:column}.reminder-card{align-items:flex-start;flex-direction:column;padding:14px}.reminder-actions{width:100%}.reminder-actions .btn{flex:1;justify-content:center}.reminder-center>.section-top>.helper{display:none}.gift-history .text-button{font-size:12px}.emoji-choice{padding-top:10px}.settings-buttons{flex-direction:column;align-items:stretch}}

.generator-cycle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:9px 0 14px;font-size:12px;color:var(--muted)}.generator-cycle .text-button{min-height:44px}.generator-copy{width:100%}

/* Calm teal and warm-neutral visual language. Group colors remain distinct. */
:root{color:#203433;background:#f7f8f6;--purple:#176d6a;--purple-dark:#125b58;--muted:#667572;--line:#dce6e2;--background:#f7f8f6;--text:#203433}
button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:#4d958c}.sidebar{background:#fbfcfa;border-color:var(--line)}.brand-icon{background:var(--purple);color:#ffe3a3}.brand-dot{color:var(--purple)}.main-nav{margin-top:42px}.nav-button{color:#596967}.nav-button.active{background:#dcefeb;color:#125b58}.nav-button:hover{background:#edf5f2}.nav-count{background:#e8f0ed;color:#49615d}.sidebar-bottom{color:#75817e}.local-tag{background:#edf3f0}.topbar{justify-content:flex-end}.topbar #account-control{margin-left:auto}.account-avatar{background:#dcefeb;color:var(--purple-dark)}.pill.purple{color:var(--purple-dark);background:#dcefeb;border-color:#dcefeb}.user-disclosure .dropdown{box-shadow:0 12px 45px #153c3718}.dropdown button:hover{background:#edf5f2}.eyebrow{color:#4a827a}.btn.primary{box-shadow:0 5px 10px #176d6a22}.btn.primary:hover{box-shadow:0 7px 17px #176d6a33}.btn.light{border-color:#d8e2de}.btn.subtle{background:#e7f1ee}.demo-banner{border-color:#b9d9d2;background:#edf6f3;color:#3f7069}.spotlight{background:#e4f2ee;border-color:#d0e5df}.spotlight-label{color:#37766e}.spotlight .birthday-info{color:#55746f}.spotlight .badge{color:#276a63}.cake-emoji{filter:drop-shadow(0 8px 0 #7aa99f2e)}.countdown-sticker{background:#ffe3a3;color:#72521d;box-shadow:2px 3px 0 #d4b66a44}.sprinkles{background-image:radial-gradient(ellipse at 83% 15%,#e1a96f 0 3px,transparent 4px),radial-gradient(ellipse at 67% 76%,#68a89b 0 3px,transparent 4px),radial-gradient(ellipse at 93% 83%,#d5bd7e 0 3px,transparent 4px),radial-gradient(ellipse at 58% 26%,#89bbb1 0 2px,transparent 3px)}.section-top .text-button{color:var(--purple-dark)}.person-row{border-color:#e8eeeb}.person-row:hover{background:#f5faf8}.avatar.friends{background:#e5edf9;color:#49679a}.due{background:#edf2f0;color:#5c6d69}.due.soon{background:#dcefeb;color:#236b63}.person-row>svg{color:#94aaa5}.icon-btn{color:#6f8580}.icon-btn:hover{background:#edf5f2}.cal-dayname{color:#849490}.cal-cell{color:#5d716d}.cal-cell.birthday{background:#dcefeb;color:#176d6a}.cal-cell.birthday::after,.calendar-key i{background:#3b9185}.cal-cell.today{background:var(--purple)}.calendar-key{border-color:#e6efeb;color:#71827e}.calendar-key span:last-child i{background:#f0c66b}.mini-stat .stat-icon{color:#a66a31;background:#fff0d5}.mini-stat p{color:#71817d}.search-box:focus-within{outline-color:#77afa5}.filter-chip.active{background:var(--purple);border-color:var(--purple)}.person-card:hover{box-shadow:0 8px 24px #1c4b450d}.badge.friends{background:#e5edf9;color:var(--friends)}.card-date{color:#778783}.card-bottom{border-color:#e8eeeb;color:#71817d}.card-message{color:#397d73}.card-message:hover{background:#e6f3ef}.empty-state{border-color:#bedbd4;background:#fcfdfb}.gift-card:nth-child(3n+2){background:#e9f3f1;border-color:#d7e9e4}.large-calendar .cal-cell{background:#f4f7f5}.large-calendar .cal-cell.today{background:#dcefeb;color:var(--purple-dark);outline-color:#b9d9d2}.large-calendar .cal-cell.birthday{background:#e6f3ef}.cal-event{color:#28756c}dialog{border-color:#dce6e2;box-shadow:0 20px 100px #153c3730}dialog::backdrop{background:#153c3759}.field input:focus,.field select:focus,.field textarea:focus{border-color:#5fa398;box-shadow:0 0 0 3px #5fa3981f}.upload-label:focus-within{outline-color:var(--purple)}.generator-person{background:#e9f3f1}.tone-button.active{background:#dcefeb;border-color:#b6d8d1;color:var(--purple-dark)}.message-area{border-color:#bddbd4;background:#f3f8f6;color:#3f5d58;outline-color:#6ba89e}.message-meta,.generator-disclaimer{color:#71817d}.toast{background:#213f3b;box-shadow:0 5px 25px #153c3730}.legal-copy p,.legal-copy li{color:#687975}.loading-state{color:#5e8982}.clear-search{color:var(--purple-dark)}.spotlight-portrait .avatar{box-shadow:0 7px 18px #176d6a16}.birthday-mini{filter:drop-shadow(0 3px 2px #153c371a)}.extra-fields summary,.ai-settings summary,.data-preview summary{color:var(--purple)}.gift-year{background:#e5f0ed;color:#367269}.import-row input,.check-label input{accent-color:var(--purple)}.ai-settings{border-color:#d3e5e0;background:#f5f9f7}.data-preview pre{background:#edf4f1}.reminder-card{border-color:#dce8e4;background:#fcfdfb;box-shadow:0 3px 10px #153c3705}.reminder-person small{color:#72817d}
/* Message timing makes an overdue date clear without turning it into an alarm. */
.message-timing-note{display:flex;align-items:flex-start;gap:8px;margin:12px 0 16px;padding:9px 11px;border:1px solid #ecd79e;border-radius:9px;background:#fff8e8;color:#75561c;font-size:12px;line-height:1.5}.message-timing-note[hidden]{display:none}.message-timing-note[data-status="belated"]{border-color:#c8e1db;background:#edf7f4;color:#39736b}.message-confirm{width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid #dce6e2;border-radius:16px;background:#fff;color:var(--text);box-shadow:0 20px 60px #153c3733}.message-confirm::backdrop{background:#153c3759}.message-confirm h2{font-size:21px;letter-spacing:-.4px;line-height:1.25}.message-confirm p{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.6}.message-confirm .form-actions{margin-top:22px}.message-confirm-body{font-size:14px;line-height:1.65;color:#405854}.message-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}.message-review-actions .btn{min-height:40px;padding:9px 13px}
@media(max-width:700px){.main-nav{margin-top:20px}.nav-button.active{background:#e5f2ef;box-shadow:inset 0 -2px var(--purple)}.message-confirm{width:calc(100% - 24px);padding:22px}.message-review-actions{justify-content:stretch}.message-review-actions .btn{flex:1;min-width:0}}

.message-review-actions[hidden]{display:none}

.clipboard-fallback{position:fixed;opacity:0;width:1px;height:1px;pointer-events:none}

.field input,.field select,.field textarea{background:#f4f7f5;border-color:#dce6e2}

/* Logo, navigation and account share one desktop header. */
.app-shell{display:block;min-height:100dvh}.workspace{min-width:0;min-height:100dvh}
.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;width:100%;max-width:1500px;min-height:100px;height:auto;margin:0 auto;padding:20px 48px;border-bottom:1px solid var(--line)}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:34px;letter-spacing:-2px}.brand-line{display:flex;align-items:center;gap:8px}.brand-icon{width:39px;height:39px;border-radius:12px;font-size:36px}.brand-line .brand-icon{margin-right:0}.brand-name{line-height:.9}.brand-tagline{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:0;line-height:1.2;white-space:nowrap}
.main-nav{display:flex;align-items:center;justify-content:center;gap:7px;width:auto;min-width:0;margin:0;padding:0;border:0}.nav-button{flex:none;flex-direction:row;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border-radius:9px;font-size:13px;white-space:nowrap}.nav-count{margin-left:0}
.account-area{display:flex;align-items:center;justify-self:end;gap:8px;min-width:0}.topbar #account-control{margin:0;justify-content:flex-end}.topbar .pill{min-height:44px}.account-name{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-disclosure .dropdown{left:auto;right:0}.version{color:var(--muted);font-size:10px;font-weight:650}
.sidebar,.sidebar-note,.sidebar-bottom,.nav-label{display:none}main{width:100%;max-width:1500px;margin:0 auto;padding:37px 48px 50px;min-height:calc(100dvh - 100px)}
@media(max-width:1100px){.topbar{gap:16px;padding-left:30px;padding-right:30px}.nav-button{gap:6px;padding:10px;font-size:12px}.topbar .pill{padding:9px 11px;font-size:12px}.account-area .version{display:none}}
@media(max-width:900px){.topbar{position:static;grid-template-columns:minmax(0,1fr) auto;gap:16px;max-width:none;margin:0;padding:16px 25px 12px}.brand{grid-column:1;grid-row:1}.account-area{grid-column:2;grid-row:1}.main-nav{grid-column:1/-1;grid-row:2;justify-content:center}.nav-button{flex:1;max-width:220px}main{min-height:calc(100dvh - 150px)}}
@media(max-width:700px){.topbar{padding:14px 15px 10px;gap:14px}.topbar #account-control{gap:5px}.topbar .pill{padding:8px 10px;font-size:11px}.brand{font-size:28px}.brand-icon{width:30px;height:30px;border-radius:9px;font-size:29px}.brand-line{gap:6px}.brand-tagline{font-size:10px}.main-nav{gap:0}.nav-button{min-width:0;gap:4px;padding:8px 3px;font-size:11px;white-space:normal}.nav-button:first-child{flex:1.2}.nav-button svg{width:16px;height:16px}.nav-button [data-i18n]{overflow-wrap:normal}.main-nav .nav-count{display:none}.account-name{max-width:82px}main{padding:27px 20px 35px}}
@media(max-width:480px){.topbar{align-items:start;gap:12px}.topbar #account-control:has(.pill){flex-direction:column;align-items:stretch;gap:4px}.brand{margin-top:5px}.account-btn{gap:5px;font-size:11px}.account-name{max-width:75px}}
@media(max-width:370px){.topbar{padding-left:12px;padding-right:12px}.topbar .pill{padding:8px;font-size:11px}.brand{font-size:26px}.brand-icon{width:28px;height:28px;font-size:27px}.nav-button{gap:3px;padding-left:1px;padding-right:1px}.nav-button svg{width:14px;height:14px}}
