:root{--bg:#0f1419;--surface:#1a222d;--surface-2:#243040;--text:#e8eef4;--text-muted:#8b9aab;--accent:#2d9f78;--accent-dim:#1a5f4a;--danger:#e85d5d;--warning:#e8b84a;--radius:12px;--tap:48px;--modal-max-width:560px;--modal-info-max-width:320px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-tap-highlight-color:transparent;min-height:100dvh}#root{min-height:100dvh}.app-shell{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.main-content{padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-header h1{flex:1;min-width:0;font-size:1.5rem}.fab{z-index:20;bottom:max(16px, env(safe-area-inset-bottom,0px) + 16px);position:fixed;right:max(16px,50vw - 224px);box-shadow:0 4px 16px #00000059}.my-lists-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.my-lists-title{flex:1;min-width:0;margin:0;font-size:1.5rem}.header-icon-btn{flex-shrink:0;text-decoration:none;position:relative}.icon-btn-profile{background:var(--surface-2);color:var(--text-muted)}.icon-btn-profile.active,.icon-btn-profile:hover{color:var(--text);background:#2a3d50}.header-icon-badge{background:var(--danger);color:#fff;text-align:center;border:1.5px solid var(--bg);border-radius:999px;min-width:1.125rem;height:1.125rem;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1.125rem;position:absolute;top:-2px;right:-2px}.list-detail-header{align-items:flex-start;gap:12px}.list-title-row{flex-direction:row;flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}.list-title-main{--list-title-text-indent:24px;flex-direction:column;flex:1;align-items:flex-start;gap:0;min-width:0;display:flex}.list-title-top-row{flex-direction:row;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.list-title-top-row .list-title-heading{flex:1;width:auto;min-width:0}.list-title-main>.list-title-top-row+.list-description,.list-title-main>.list-title-top-row+.list-description-preview,.list-title-main>.list-title-top-row+.list-description-static{margin-top:2px;margin-left:var(--list-title-text-indent);width:calc(100% - var(--list-title-text-indent));text-align:left}.list-title-heading{flex-direction:row;align-items:center;gap:4px;min-width:0;display:flex}.list-title-inline-controls{flex-shrink:0;gap:4px;margin-top:0}.list-title-inline-controls .list-owner-icon-btn{border-radius:7px;width:30px;min-width:30px;height:30px}.list-title-heading .list-detail-back-btn{align-self:center;height:32px;min-height:32px}.list-title-heading h1{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;margin:0;line-height:1.2;overflow:hidden}.list-detail-back-btn{width:32px;min-width:32px;height:var(--tap);color:var(--accent);cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:flex-start;align-items:center;margin-left:-12px;padding:0;text-decoration:none;display:inline-flex}.list-detail-back-btn:hover{color:#b8f0dc}.list-detail-back-btn:active{opacity:.85}a.list-owner-icon-btn-people{text-decoration:none}.list-owner-icon-btn-people{color:#9ec8f0;background:#1e3a5f}.list-owner-icon-btn-people:hover{color:#b8daf5;background:#254a70}.list-owner-icon-btn-people.active{color:#d4e8f7;background:#2a5080}.page.list-detail>.list-detail-back-btn{margin-bottom:12px;margin-left:-12px}.list-people-page .people-page-header{width:100%;margin-bottom:12px}.list-people-page .people-page-header .list-detail-back-btn{margin-bottom:0}.list-people-page .people-page-header{align-items:flex-start}.list-owner-icon-actions{flex-direction:row;align-items:center;gap:6px;display:flex}.list-owner-icon-btn{background:var(--surface);width:36px;min-width:36px;height:36px;color:var(--text-muted);cursor:pointer;box-sizing:border-box;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.list-owner-icon-btn:disabled{opacity:.45;cursor:not-allowed}.list-owner-icon-btn-archive.active{color:#e8d4a8;background:#3a3420}.list-owner-icon-btn-lock.active{color:#f0b8b8;background:#4a2020}.list-owner-icon-btn-delete{color:#e88a8a}.list-owner-icon-btn-delete:hover:not(:disabled){color:#f5b0b0;background:#4a2020}.list-owner-icon-btn-viewonly{background:var(--surface-2);color:var(--text-muted);cursor:default;pointer-events:none}.list-title-row .list-title-heading h1{width:auto}.list-title-pressable{-webkit-user-select:none;user-select:none;touch-action:manipulation}.icon-btn{width:var(--tap);height:var(--tap);min-width:var(--tap);background:var(--surface);color:var(--text-muted);cursor:pointer;box-sizing:border-box;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;text-decoration:none;display:flex}.icon-btn-people{color:#9ec8f0;background:#1e3a5f}.icon-btn-people.active{color:#d4e8f7;background:#2a5080}.list-title-main .list-description,.list-title-main .list-description-preview,.list-title-main .list-description-static{text-align:left;margin-bottom:0;padding:0;font-size:.85rem;line-height:1.3}.list-description{color:var(--text-muted);margin:0 0 16px;font-size:.95rem;line-height:1.45}.list-description-expanded{white-space:pre-wrap;word-break:break-word}.list-description-preview{width:100%;font:inherit;text-align:left;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;display:block}.list-description-preview:hover{color:var(--text)}.list-description-preview-inline{max-width:100%;display:inline}.list-description-preview-text{white-space:nowrap;vertical-align:top;max-width:calc(100% - 1.25em);display:inline-block;overflow:hidden}.list-description-ellipsis{display:inline}.label-optional{color:var(--text-muted);font-weight:400}.modal form textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);font:inherit;resize:vertical;box-sizing:border-box;min-height:96px;margin-top:6px;padding:12px 14px;font-size:1rem;line-height:1.4}.modal form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.create-list-modal form textarea{resize:none;height:9rem;min-height:9rem;overflow-y:auto}.list-notice{color:var(--text-muted);background:var(--surface);border-radius:var(--radius);margin-bottom:16px;padding:12px;font-size:.9rem}.people-page-tabs{border-bottom:1px solid var(--surface-2);gap:0;margin-bottom:16px;display:flex}.people-page-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:0;flex:1;min-height:44px;padding:12px 8px 14px;font-size:.95rem;font-weight:600;position:relative}.people-page-tabs button:after{content:"";background:0 0;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:12%;right:12%}.people-page-tabs button.active{color:var(--accent)}.people-page-tabs button.active:after{background:var(--accent)}.list-people-page .people-page-panel{margin-bottom:24px}.list-people-page .people-page-actions{margin-top:auto;padding-top:8px}.list-people-page .people-page-actions .btn{width:100%}.modal-scroll{-webkit-overflow-scrolling:touch;max-height:min(50vh,320px);margin-bottom:16px;overflow-y:auto}.modal-scroll .collaborators-list{margin:0}.section-label{text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:.85rem}.collaborators-list{background:var(--surface);border-radius:var(--radius);list-style:none}.collaborators-list li,.collaborators-list .collaborator-row{border-bottom:1px solid var(--surface-2);min-height:var(--tap);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.collaborator-row-meta{flex-shrink:0;align-items:center;gap:6px;display:flex}.collaborators-list .badge.permission.badge-btn,.collaborators-list .badge.badge-pending.badge-btn{font-family:inherit;font-size:.7rem;font-weight:inherit;vertical-align:middle;appearance:none;cursor:pointer;border:none;margin:0;padding:4px 8px;line-height:1.2}.badge.permission.badge-btn:hover,.badge.badge-pending.badge-btn:hover{filter:brightness(1.12)}.badge.permission.badge-btn-open,.badge.badge-pending.badge-btn-open{outline:2px solid var(--accent);outline-offset:1px}.access-dropdown-wrap{flex-shrink:0;position:relative}.access-dropdown{background:var(--surface-2);border:1px solid #3d5068;border-radius:10px;margin:0;padding:4px 0;list-style:none;box-shadow:0 6px 20px #0006}.access-dropdown button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 14px;font-size:.9rem;font-weight:600;display:block}.access-dropdown button:hover:not(:disabled){background:var(--surface)}.access-dropdown button:disabled{opacity:.5;cursor:not-allowed}.access-dropdown-divider{border-top:1px solid #3d5068;margin-top:4px;padding-top:4px}.access-dropdown-danger{color:#f0b8b8}.access-dropdown-danger:hover:not(:disabled){background:#4a2020}.collaborators-list li:last-child{border-bottom:none}.collaborator-name{flex:1;font-weight:600}.badge.permission{background:var(--accent-dim);color:#b8f0dc}.btn.danger{color:#fff;background:#8b2e2e}.modal-hint{color:var(--text-muted);margin-bottom:16px}.modal select{border:1px solid var(--surface-2);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);min-height:var(--tap);margin-top:8px;padding:14px 16px;font-size:1rem;display:block}.btn{min-height:var(--tap);min-width:var(--tap);border-radius:var(--radius);cursor:pointer;border:none;padding:12px 20px;font-size:1rem;font-weight:600}.btn.primary{background:var(--accent);color:#fff;width:100%}.btn:disabled{cursor:not-allowed;pointer-events:none}.btn.primary:disabled,.btn.primary.btn-send-invitation:disabled{background:var(--surface-2);color:var(--text-muted);box-shadow:none;opacity:1;border:1px solid #3a4d63}.btn.primary.btn-compact{flex-shrink:0;width:auto;min-width:4.5rem;padding:12px 16px}.btn.secondary{background:var(--surface-2);color:var(--text)}.btn.icon{width:var(--tap);height:var(--tap);min-width:var(--tap);background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.btn.icon .icon-plus{font-size:1.75rem;font-weight:400;line-height:1;display:block;transform:translateY(-1px)}.welcome-page{flex-direction:column;justify-content:center;max-width:480px;min-height:100dvh;margin:0 auto;padding:24px;display:flex}.welcome-page h1{color:var(--accent);font-size:2.5rem}.subtitle{color:var(--text-muted);margin:8px 0 32px}.mode-toggle{gap:8px;margin-bottom:24px;display:flex}.mode-toggle button{border:1px solid var(--surface-2);background:var(--surface);color:var(--text-muted);border-radius:var(--radius);min-height:var(--tap);flex:1;padding:12px}.mode-toggle button.active{border-color:var(--accent);color:var(--accent)}form label{margin-bottom:16px;font-weight:600;display:block}form input{border:1px solid var(--surface-2);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);min-height:var(--tap);margin-top:8px;padding:14px 16px;font-size:1rem;display:block}.reference-input{letter-spacing:.2em;text-transform:uppercase;font-family:monospace}.error-text{color:var(--danger);margin-bottom:12px}.share-list-modal .share-dialog-tabs{border-bottom:1px solid var(--surface-2);gap:0;margin-bottom:12px;display:flex}.share-list-modal .share-dialog-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:0;flex:1;min-height:40px;padding:10px 6px 12px;font-size:.85rem;font-weight:600;position:relative}.share-list-modal .share-dialog-tabs button:after{content:"";background:0 0;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:10%;right:10%}.share-list-modal .share-dialog-tabs button.active{color:var(--accent)}.share-list-modal .share-dialog-tabs button.active:after{background:var(--accent)}.share-list-modal .share-list-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-list-modal{--share-tab-panel-height:calc(8 * var(--tap) + 7 * 6px)}.share-list-modal .share-tab-panel{min-height:var(--share-tab-panel-height);margin-bottom:8px}.share-list-modal .share-tab-panel-single{min-height:var(--share-tab-panel-height)}.share-list-modal .share-tab-panel-single .share-reference-field{margin-bottom:0}.share-list-modal .share-tab-panel-known{height:var(--share-tab-panel-height);box-sizing:border-box;flex-direction:column;display:flex}.share-list-modal .share-tab-panel-known .share-contact-list-scroll{flex:1;height:auto;min-height:0;max-height:none}.share-list-modal .share-tab-panel-new{height:var(--share-tab-panel-height);box-sizing:border-box;flex-direction:column;display:flex}.share-list-modal .share-tab-panel-new .share-reference-field{flex-shrink:0;width:100%;margin-bottom:0}.share-list-modal .share-tab-error-slot{flex-shrink:0;min-height:1.35rem;margin-top:auto;padding-top:8px}.share-list-modal .share-tab-error-slot .error-text{text-align:left;color:var(--danger);margin:0;font-size:.875rem;line-height:1.35rem}.share-list-modal .share-tab-error-slot .error-text-reserved{visibility:hidden}.share-contact-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.share-list-modal .share-contact-list-scroll{height:var(--share-tab-panel-height);max-height:var(--share-tab-panel-height);-webkit-overflow-scrolling:touch;box-sizing:border-box;overflow-y:auto}.share-contact-btn{border:1px solid var(--surface-2);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;min-height:var(--tap);align-items:center;gap:10px;padding:12px 14px;display:flex}.share-contact-check{width:1.25rem;color:var(--accent);text-align:center;flex-shrink:0;font-size:.9rem;font-weight:700}.share-contact-btn .share-contact-name{flex:1;min-width:0;font-weight:600}.share-contact-btn .share-contact-ref{flex-shrink:0}.share-contact-btn:hover{border-color:#2d9f7873}.share-contact-btn.selected{border-color:var(--accent);background:#2d9f781f;box-shadow:0 0 0 1px #2d9f7840}.share-contact-btn:disabled{opacity:.6;cursor:not-allowed}.share-contact-name{font-weight:600}.share-contact-ref{letter-spacing:.08em;color:var(--text-muted);font-family:monospace;font-size:.85rem}.share-list-modal .share-reference-field{margin-bottom:8px}.share-list-modal .share-reference-row{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin:0;display:flex}.share-list-modal form label.share-reference-row{margin-bottom:4px;display:flex}.share-list-modal .share-permission-field{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin-top:0;margin-bottom:8px;display:flex}.share-list-modal .modal-actions{margin-top:0;margin-bottom:0}.share-list-modal .share-permission-label{color:var(--text);flex-shrink:0;font-size:.95rem;font-weight:600;line-height:1.25}.share-list-modal .share-permission-options{flex-direction:row;flex-shrink:0;align-items:center;gap:16px;display:flex}.share-list-modal form label.share-permission-option{cursor:pointer;flex-direction:row;align-items:center;gap:8px;min-height:0;margin:0;padding:0;display:inline-flex}.share-list-modal .share-permission-option-text{color:var(--text-muted);font-size:.85rem;font-weight:600;line-height:1.25}.share-list-modal .share-permission-option input[type=radio]{width:1.125rem;height:1.125rem;accent-color:var(--accent);cursor:pointer;vertical-align:middle;flex-shrink:0;margin:0}.share-list-modal form label.share-permission-option:has(input:disabled){opacity:.6;cursor:not-allowed}.share-list-modal .share-reference-row .field-label-text{color:var(--text);flex-shrink:0;font-size:.95rem;font-weight:600;line-height:1.25}.share-list-modal .share-reference-row .reference-input{text-align:center;flex:1;width:auto;min-width:0;max-width:9rem;min-height:40px;margin-top:0;padding:10px 12px}.search-input{border-radius:var(--radius);border:1px solid var(--surface-2);background:var(--surface);width:100%;color:var(--text);min-height:var(--tap);margin-bottom:20px;padding:14px 16px}.my-lists .lists-toolbar-row{--lists-toolbar-control-height:40px;align-items:center;gap:8px;margin-top:16px;margin-bottom:16px;display:flex}.my-lists .lists-sort{flex-shrink:0;justify-content:flex-end;align-items:center;gap:2px;display:flex}.my-lists .lists-sort[hidden]{display:none}.my-lists .sort-icon-btn{width:var(--lists-toolbar-control-height);height:var(--lists-toolbar-control-height);min-width:var(--lists-toolbar-control-height);min-height:var(--lists-toolbar-control-height);background:var(--surface);color:var(--text-muted);opacity:.55;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,opacity .15s;display:flex}.my-lists .sort-icon-btn:hover:not(.active){opacity:.8;background:var(--surface-2);color:var(--text)}.my-lists .sort-icon-btn.active{opacity:1;background:var(--accent);color:#fff;box-shadow:0 0 0 1px #b8f0dc59}.my-lists .lists-tabs{border-bottom:1px solid var(--surface-2);gap:0;margin-bottom:0;display:flex}.my-lists .lists-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:0;flex:1;min-height:44px;padding:12px 8px 14px;font-size:.95rem;font-weight:600;transition:color .15s;position:relative}.my-lists .lists-tabs button:after{content:"";background:0 0;border-radius:3px 3px 0 0;height:3px;transition:background .15s;position:absolute;bottom:0;left:12%;right:12%}.my-lists .lists-tabs button:hover{color:var(--text)}.my-lists .lists-tabs button.active{color:var(--accent);background:0 0}.my-lists .lists-tabs button.active:after{background:var(--accent)}.my-lists .lists-panel{padding-top:0}.my-lists .lists-search{min-width:0;height:var(--lists-toolbar-control-height);min-height:var(--lists-toolbar-control-height);max-height:var(--lists-toolbar-control-height);box-sizing:border-box;background:var(--bg);color:var(--text);border-color:#2e3d4f;flex:1;margin:0;padding:0 14px;line-height:1.25}.my-lists .search-input::placeholder{color:#6a7d92}.my-lists .search-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #2d9f7833}.my-lists .lists-panel .empty{color:var(--text-muted);text-align:center;padding:24px 8px}.my-lists .list-cards{flex-direction:column;gap:10px;list-style:none;display:flex}.my-lists .list-card{color:var(--text);min-height:var(--tap);background:linear-gradient(135deg,#1e3344 0%,#1a2838 55%,#172535 100%);border:1px solid #4882a059;border-radius:14px;align-items:center;gap:12px;padding:16px 18px;text-decoration:none;transition:transform .12s,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 2px 10px #00000047,inset 0 1px #ffffff0f}.my-lists .list-card:hover{border-color:#2d9f7873;box-shadow:0 4px 16px #00000052,0 0 0 1px #2d9f7826,inset 0 1px #ffffff14}.my-lists .list-card:active{transform:scale(.985)}.my-lists .list-card-pending{cursor:default;background:linear-gradient(135deg,#3d3520 0%,#2e2818 55%,#262214 100%);border-color:#c8a03c73;flex-direction:column;align-items:stretch;gap:14px}.my-lists .list-card-pending:hover{border-color:#dcaf468c;box-shadow:0 4px 16px #00000052,0 0 0 1px #c8a03c33,inset 0 1px #ffffff14}.my-lists .list-card-pending-main{flex-direction:column;gap:6px;min-width:0;display:flex}.my-lists .list-card-pending .list-title{white-space:normal;flex:none}.my-lists .list-invite-meta{color:#c9b88a;margin:0;font-size:.9rem}.my-lists .badge-pending-access{align-self:flex-start;margin-top:2px}.my-lists .list-invite-actions{gap:10px;display:flex}.my-lists .list-invite-actions .btn-compact{flex:1;min-height:40px}.my-lists .list-card-title-wrap{flex-direction:row;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.my-lists .list-title{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;flex:0 auto;min-width:0;font-size:1.05rem;font-weight:600;overflow:hidden}.my-lists .list-card-title-wrap .list-lock-indicator,.my-lists .list-card-title-wrap .list-viewonly-indicator,.my-lists .list-card-title-wrap .list-password-indicator{flex-shrink:0}.list-card-trailing{flex-direction:row;flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.list-people-indicator{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative}.list-shared-indicator{color:#9ec8f0}.list-pending-indicator{color:#d4a84b}.list-people-count{text-align:center;border-radius:999px;min-width:1.125rem;height:1.125rem;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1rem;position:absolute;top:-2px;right:-6px}.list-share-count{color:#e8f4fc;background:#2a5080;border:1.5px solid #1e3344}.list-pending-count{color:#f5e6b8;background:#5c4a20;border:1.5px solid #3d3520}.list-lock-indicator{color:#f0b8b8;background:#4a2020;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.list-viewonly-indicator{background:var(--surface-2);width:32px;height:32px;color:var(--text-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.list-password-indicator{color:#c4b8e8;background:#2a2838;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.list-owner-icon-btn-password.active{color:#c4b8e8;background:#2a2838}.list-password-prompt-hint,.list-password-dialog-hint{color:var(--text-muted);margin:0 0 12px;font-size:.9rem;line-height:1.4}.form-error{color:var(--danger);margin:0 0 12px;font-size:.875rem}.checkbox-label{cursor:pointer;align-items:center;gap:8px;margin-bottom:12px;font-size:.95rem;display:flex}.checkbox-label input{width:auto;margin:0}.badge{background:var(--surface-2);color:var(--text-muted);border-radius:6px;padding:4px 8px;font-size:.7rem}.badge.archived{color:#e8d4a8;background:#3a3420}.badge.locked{color:#f0b8b8;background:#4a2020}.badge.badge-btn{font:inherit;cursor:pointer;border:none;transition:filter .15s}.badge.badge-btn:hover{filter:brightness(1.12)}.badge-declined,.badge-revoked{background:var(--surface-2);color:var(--text-muted)}.badge-accepted{background:var(--accent-dim);color:#b8f0dc}.badge-pending{color:var(--warning);background:#3d3520}.badge.shared{color:#9ec8f0;background:#1e3a5f}.invite-card-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.invite-card-status{flex-shrink:0;align-items:center;gap:8px;display:flex}.btn-compact{min-height:32px;padding:6px 12px;font-size:.8rem}.invite-detail-dl{margin-bottom:20px}.invite-detail-dl>div{border-bottom:1px solid var(--surface-2);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.invite-detail-dl>div:last-child{border-bottom:none}.invite-detail-dl dt{color:var(--text-muted);font-size:.875rem;font-weight:600}.invite-detail-dl dd{text-align:right;margin:0;font-size:.95rem}.badge.badge-btn.badge-accepted{font:inherit;cursor:pointer;border:none}.badge.badge-btn.badge-accepted:hover{filter:brightness(1.12)}.badge.badge-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.invite-time{color:var(--text-muted);text-align:right;margin:0 0 8px;font-size:.8rem}.connection-status{background:var(--surface);border-radius:var(--radius);min-height:var(--tap);align-items:center;gap:12px;padding:14px 16px;display:flex}.connection-status.online{border:1px solid var(--accent-dim)}.connection-status.offline{border:1px solid #3d3520}.connection-status.online .connection-icon{color:#5fd9a8}.connection-status.offline .connection-icon{color:var(--warning)}.connection-text{flex-direction:column;gap:2px;display:flex}.connection-answer{font-size:1.1rem;font-weight:700}.connection-status.online .connection-answer{color:#5fd9a8}.connection-status.offline .connection-answer{color:var(--warning)}.connection-label{color:var(--text-muted);font-size:.85rem}.items-list{list-style:none}.items-list li{border-bottom:1px solid var(--surface-2);min-height:var(--tap);align-items:center;gap:12px;padding:12px 0;display:flex}.item-text{word-break:break-word;flex:1;min-width:0}.item-text-pressable{-webkit-user-select:none;user-select:none;touch-action:manipulation}.item-text-edit{border:1px solid var(--accent);background:var(--surface);min-width:0;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:8px 10px;font-size:1rem;line-height:1.4}.item-delete-btn{width:var(--tap);height:var(--tap);min-width:var(--tap);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:0;font-size:1.5rem;line-height:1}.item-delete-btn:hover,.item-delete-btn:focus-visible{color:#f0b8b8;background:#4a2020}.items-list li.checked .item-text{color:var(--text-muted);text-decoration:line-through}.check-btn{border:2px solid var(--accent);width:32px;height:32px;color:var(--accent);background:0 0;border-radius:8px;font-size:1rem}.list-empty{margin:8px 0 16px}.add-item-form{margin-top:16px}.add-item-field{background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);align-items:stretch;height:44px;display:flex;overflow:hidden}.add-item-field:focus-within{border-color:var(--accent)}.add-item-field input{box-sizing:border-box;min-width:0;height:44px;color:var(--text);appearance:none;background:0 0;border:none;border-radius:0;flex:1;margin:0;padding:11px 12px;font-size:1rem;line-height:1.25}.add-item-field input:focus{outline:none}.add-item-submit{border:none;border-left:1px solid var(--accent-dim);background:var(--accent);color:#fff;cursor:pointer;border-radius:0;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;height:auto;min-height:44px;margin:0;padding:0 16px;font-size:.95rem;font-weight:600;line-height:1;animation:.15s ease-out add-btn-in;display:flex}@keyframes add-btn-in{0%{opacity:0}to{opacity:1}}.modal-actions{gap:8px;margin-top:8px;display:flex}.modal-actions .btn{flex:1}.modal form label{margin-bottom:20px}.back-link{color:var(--accent);min-height:var(--tap);line-height:var(--tap);margin-bottom:12px;text-decoration:none;display:inline-block}.modal-overlay{padding:max(16px, env(safe-area-inset-top,0px) + 16px) max(8px, env(safe-area-inset-right,0px)) 24px max(8px, env(safe-area-inset-left,0px));z-index:100;background:#000000b3;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:var(--modal-max-width);padding:24px}.modal-overlay-info{padding-left:max(28px, env(safe-area-inset-left,0px));padding-right:max(28px, env(safe-area-inset-right,0px))}.modal-info{max-width:var(--modal-info-max-width)}.modal h2{margin-bottom:12px}.modal p{color:var(--text-muted);margin-bottom:16px}.reference-display{letter-spacing:.15em;text-align:center;background:var(--bg);border-radius:var(--radius);margin-bottom:16px;padding:16px;font-family:monospace;font-size:1.5rem}.modal .btn{margin-top:8px}.profile-field{margin-bottom:24px}.profile-field label{color:var(--text-muted);margin-bottom:8px;font-size:.85rem;display:block}.profile-value-row{min-height:var(--tap);justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-value-row .profile-value{min-width:0;font-size:1.1rem;font-weight:600}.profile-value-row .btn{flex-shrink:0;margin-left:auto}.reference-value{letter-spacing:.1em;min-width:0;font-family:monospace;font-size:1.25rem}.profile-page-header{align-items:center;gap:4px;width:100%;margin-bottom:16px;display:flex}.profile-page-header h1{flex:1;min-width:0;margin:0;font-size:1.5rem}.main-content:has(.profile-page){flex-direction:column;display:flex}.profile-page{flex-direction:column;flex:1;min-height:100%;display:flex}.profile-version{border-top:1px solid var(--surface-2);color:var(--text-muted);text-align:center;margin-top:auto;padding-top:16px;font-size:.85rem}.invite-list{list-style:none}.invite-card{background:var(--surface);border-radius:var(--radius);margin-bottom:8px;padding:16px}.invite-card .actions{gap:8px;margin-top:12px;display:flex}.empty{color:var(--text-muted);padding:16px 0}
