:is(.app-shell button:focus-visible,.cabin-dialog button:focus-visible){outline:3px solid var(--sage);outline-offset:3px}.cabin-view h1:focus,.cabin-view h2:focus,.cabin-view h3:focus{outline:none}.cabin-view-enter{animation:.22s ease-out both cabin-enter}@keyframes cabin-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.bottom-nav button{border-radius:12px;min-height:52px;position:relative}.bottom-nav button:before{content:"";background:var(--rose);opacity:0;border-radius:8px;width:28px;height:3px;transition:transform .22s,opacity .22s;position:absolute;top:5px;transform:scaleX(.4)}.bottom-nav button.active:before{opacity:1;transform:scaleX(1)}.bottom-nav button.active{background:var(--rose-soft)}.bottom-nav{padding:5px 8px calc(5px + env(safe-area-inset-bottom));height:calc(74px + env(safe-area-inset-bottom));gap:4px}.app-shell{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.home-actions>button,.section-menu>button{border-radius:12px}:is(.home-actions>button:focus-visible,.section-menu>button:focus-visible){background:var(--sage-soft)}.home-actions>button>svg:last-child,.section-menu>button>svg:last-child{transition:transform .18s}@media (hover:hover){.home-actions>button:hover>svg:last-child,.section-menu>button:hover>svg:last-child{transform:translate(3px)}}.record-top>button,.record-bottom button,.modal-heading button{flex-shrink:0;width:44px;height:44px}.record-top>button[aria-pressed=true]{background:var(--gold-soft)}.record-top>button[aria-pressed=true] svg{animation:.24s ease-out cabin-star}@keyframes cabin-star{50%{transform:scale(1.2)rotate(8deg)}}.record-card:hover{transform:none}.record-list{align-items:start}.cabin-note{margin-top:9px}.cabin-note-window{transition:height .2s;overflow:hidden}.cabin-note p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:22px}.cabin-note.collapsed .cabin-note-window{-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.cabin-disclosure{min-height:44px;color:var(--sage);background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-size:12px;font-weight:700;display:flex}.cabin-disclosure svg{transition:transform .2s}.cabin-disclosure[aria-expanded=true] svg{transform:rotate(180deg)}.tag-field .cabin-tags{flex-wrap:wrap;gap:8px;display:flex}.tag-field .cabin-tags button{align-items:center;gap:6px;min-height:44px;padding:0 13px;font-size:12px;display:inline-flex}.tag-field .cabin-tags button.selected{background:var(--sage);border-color:var(--sage);padding-inline:16px}.cabin-custom-label{color:var(--muted);font-size:11px}.cabin-tag-status{min-height:18px;color:var(--sage);font-size:11px;display:block}.filter-chips{flex-wrap:wrap;gap:8px;padding-bottom:4px;overflow:visible}.filter-chips button{align-items:center;gap:5px;min-height:44px;font-size:12px;display:inline-flex}.cabin-results{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:12px;display:flex}.cabin-results button,.cabin-search-clear{color:var(--sage);background:0 0;border:0;min-height:44px;font-size:12px}.cabin-search-clear{flex-shrink:0;min-width:44px}.search-box input{min-width:0}.search-box:focus-within{border-color:var(--sage);box-shadow:0 0 0 3px #34756514}.goal-checklist button{min-height:44px}.goal-progress .progress-track span{transition:width .28s cubic-bezier(.2,.8,.2,1)}dialog.cabin-dialog{width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);background:0 0;border:0;margin:0;overflow:hidden}dialog.cabin-dialog:not([open]){display:none}dialog.cabin-dialog::backdrop{background:#231f1b73;animation:.18s ease-out cabin-backdrop}@keyframes cabin-backdrop{0%{opacity:0}to{opacity:1}}.cabin-dialog .record-modal{overscroll-behavior:contain;border-radius:18px;max-height:calc(100dvh - 32px);scroll-padding-block:80px}.cabin-dialog .modal-heading{background:var(--paper);z-index:3;border-bottom:1px solid var(--line);padding-block:10px;position:sticky;top:-23px}.cabin-editor-actions{z-index:2;background:var(--paper);border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:4px;padding:14px 0;display:flex;position:sticky;bottom:-23px}.cabin-editor-actions small{color:var(--muted);max-width:140px;font-size:11px}.cabin-editor-actions .save-action{flex:1;min-height:48px}.cabin-dialog .record-modal form[aria-busy=true]{cursor:progress}.cabin-feedback{z-index:25;bottom:calc(90px + env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--paper);border-radius:14px;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);padding:12px 16px;font-size:12px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #2825221c}.cabin-feedback>div{gap:5px;display:grid}.cabin-feedback button{min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0}@media (max-width:680px){dialog.cabin-dialog{place-items:end center;padding:12px 0 0}.cabin-dialog .record-modal{width:100%;max-height:calc(100dvh - 12px);padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.cabin-dialog .modal-heading{top:-20px}.cabin-editor-actions{bottom:calc(-20px - env(safe-area-inset-bottom));padding-bottom:calc(14px + env(safe-area-inset-bottom))}.cabin-dialog input,.cabin-dialog textarea,.cabin-dialog select{font-size:16px}.collection-heading{grid-template-columns:44px 38px minmax(0,1fr) 44px;gap:7px}.collection-heading h1{font-size:26px}.collection-heading>button:first-child{width:44px;height:44px}}@media (hover:none){.home-actions>button:hover,.section-menu>button:hover,.record-card:hover{box-shadow:none;transform:none}}@media (prefers-reduced-motion:reduce){.cabin-view-enter,.cabin-dialog .record-modal,.record-top>button svg{animation:none!important}.cabin-dialog::backdrop{animation:none!important}.cabin-note-window,.cabin-disclosure svg,.bottom-nav button:before,.goal-progress .progress-track span{transition:none!important}}dialog.cabin-dialog{overflow:clip}.cabin-dialog .record-modal{overflow-y:auto}.photo-comments{color:#344d43;text-align:left;border-top:1px solid #e5e8e1;width:100%;min-width:0;margin-top:14px;padding-top:6px}.photo-comments .photo-comments-toggle{color:#446959;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;width:100%;min-height:44px;display:flex}.photo-comments-toggle span{text-align:left;flex:1}.photo-comments-toggle>svg:last-child{transition:transform .18s}.photo-comments-toggle .is-open{transform:rotate(180deg)}.photo-comments-list{overscroll-behavior:contain;max-height:280px;overflow-y:auto}.photo-comments .photo-comments-list>p{color:#727e76;margin:8px 0 14px;font-size:13px}.photo-comments .photo-comment{box-shadow:none;background:#f4f7f2;border:0;border-radius:10px;margin:0 0 8px;padding:10px 12px;transform:none}.photo-comment header{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;display:flex}.photo-comment time{color:#737d75;font-size:11px}.photo-comments .photo-comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:14px;line-height:1.6}.photo-comment-form label{margin:10px 0 6px;font-size:12px;display:block}.photo-comments textarea{box-sizing:border-box;resize:vertical;color:#293e33;width:100%;min-height:72px;font:inherit;background:#fff;border:1px solid #d8e0d5;border-radius:10px;padding:10px;font-size:16px}.photo-comment-form>div{justify-content:space-between;align-items:center;gap:10px;margin-top:6px;display:flex}.photo-comment-form small{color:#737d75;font-size:11px}.photo-comments .photo-comment-form button{color:#fff;cursor:pointer;background:#346956;border:0;border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:8px 14px;display:inline-flex}.photo-comments button:disabled{opacity:.5;cursor:default}.photo-comments :is(button,textarea):focus-visible{outline-offset:3px;outline:2px solid #346956}.photo-comment-error{color:#a04438;overflow-wrap:anywhere;font-size:13px}.photo-comment-error button{min-height:44px;color:inherit;background:0 0;border:0;text-decoration:underline}.photo-comment-notice{margin-top:6px;font-size:12px;display:block}.photo-viewer .photo-comments{box-sizing:border-box;background:#fffdf8;border-radius:12px;padding:10px 14px}@media (prefers-reduced-motion:reduce){.photo-comments-toggle>svg:last-child{transition:none}}.activity-wheel{padding-top:30px}.wheel-heading{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:22px;display:flex}.wheel-heading>button{width:42px;height:44px;color:var(--ink);background:0 0;border:0;place-items:center;display:grid}.wheel-heading h1{margin:0;font-size:27px}.wheel-heading p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.6}.wheel-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;padding-top:26px;display:grid}.wheel-play{text-align:center;min-width:0}.wheel-stage{width:min(100%,390px);margin:4px auto 22px;position:relative}.wheel-disc{border:6px solid #fff;border-radius:50%;width:100%;display:block;overflow:visible;box-shadow:0 0 0 2px #d9cde6,0 8px #e6dced}.wheel-disc text{font-weight:700}.wheel-disc.is-spinning{transition:transform 4s cubic-bezier(.12,.72,.12,1)}.wheel-pointer{z-index:2;background:var(--rose);clip-path:polygon(0 0,100% 0,50% 100%);width:26px;height:37px;position:absolute;top:-8px;left:calc(50% - 13px)}.wheel-hub{background:var(--lavender);color:#fff;border:5px solid #fffdf9;border-radius:50%;place-items:center;width:70px;height:70px;font-size:12px;font-weight:800;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #5a3f6820}.activity-wheel button{min-height:44px}.activity-wheel button:disabled{cursor:default;opacity:.5}.activity-wheel button:focus-visible{outline:3px solid var(--lavender);outline-offset:3px}.activity-wheel input:focus-visible{outline:3px solid var(--lavender);outline-offset:3px}.wheel-entry:focus-visible{outline:3px solid var(--lavender);outline-offset:3px}.wheel-spin{background:var(--lavender);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:9px;width:min(100%,290px);padding:13px 20px;font-size:16px;font-weight:800;display:inline-flex}.wheel-hint{color:var(--muted);margin:12px 0 20px;font-size:11px}.wheel-result{border-top:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:153px;padding:18px;display:flex}.wheel-result>span{color:var(--muted);font-size:12px}.wheel-result strong{overflow-wrap:anywhere;font-size:24px;line-height:1.5}.wheel-result p{color:var(--sage);align-items:center;gap:6px;font-size:13px;display:flex}.wheel-result button{background:var(--sage-soft);color:var(--sage);border:1px solid #b8d6c9;border-radius:7px;align-items:center;gap:6px;padding:8px 18px;font-weight:700;display:flex}.wheel-options{min-width:0}.wheel-options-heading{justify-content:space-between;align-items:center;margin:5px 0 20px;display:flex}.wheel-options h2{margin:0;font-size:19px}.wheel-options-heading>span{color:var(--muted);font-size:12px}.wheel-options label{margin-bottom:8px;font-size:12px;display:block}.wheel-add{gap:8px;display:flex}.wheel-add input{border:1px solid var(--line);width:100%;min-width:0;min-height:46px;color:var(--ink);background:#fff;border-radius:7px;padding:10px;font-size:13px}.wheel-add button{background:var(--rose);color:#fff;border:0;border-radius:7px;flex:0 0 46px;place-items:center;display:grid}.wheel-import{color:#665187;background:#f7f4fa;border:1px dashed #c9b9db;border-radius:7px;width:100%;margin-top:9px;padding:8px;font-size:12px}.wheel-saved{color:var(--muted);min-height:19px;margin:12px 0;font-size:11px;line-height:1.7}.wheel-options ol{margin:0;padding:0;list-style:none}.wheel-options li{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:57px;padding:5px 0;display:flex}.wheel-options li>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px}.wheel-dot{color:#51445e;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.wheel-options li>button{width:44px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.wheel-options li.is-chosen{border-bottom-color:var(--lavender);color:#665187;font-weight:700}.wheel-empty{text-align:center;color:var(--muted);padding:30px 10px}.wheel-empty>svg{color:var(--lavender)}.wheel-empty p{font-size:13px}.wheel-empty small{font-size:11px;line-height:1.7}.wheel-error{color:#a33431;background:var(--rose-soft);border-radius:7px;align-items:center;gap:10px;margin-top:15px;padding:14px;font-size:13px;display:flex}.wheel-error button{color:inherit;background:0 0;border:0;align-items:center;gap:5px;display:flex}.wheel-loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:30px;display:flex}.wheel-loader{animation:1s linear infinite wheel-loading}.wheel-entry{color:#665187;background:#f7f4fa;border:1px solid #d9cde6;border-radius:7px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;margin-top:20px;font-weight:700;display:flex}@keyframes wheel-loading{to{transform:rotate(360deg)}}@media (max-width:640px){.wheel-layout{grid-template-columns:minmax(0,1fr);gap:15px}.wheel-stage{width:min(90%,350px)}.wheel-heading{gap:8px}.wheel-heading h1{font-size:24px}.wheel-heading p{font-size:11px}.wheel-heading .action-icon{display:none}.wheel-result{min-height:140px}}@media (prefers-reduced-motion:reduce){.wheel-disc.is-spinning{transition:none}.wheel-loader{animation:none}}
