:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#10231f;background:#f6fbf7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-weight:400;font-size:16px;--pine: #0e4a3a;--muted: #5f756f;--line: #dce9e2;--mint: #ddf7ea;--paper: #fff;--serif: Georgia, "Times New Roman", serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.mini-container{max-width:1000px;padding-bottom:30px}.mini-panel-title{font-size:19px;font-weight:550;letter-spacing:-.4px;margin-bottom:19px}.panel>p,.helper{font-size:13px;line-height:1.75;color:var(--muted)}.helper{margin:14px 0}.form-field{display:grid;gap:8px;font-size:12px;margin-bottom:17px}.form-field>label{font-weight:550}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}textarea.field{resize:vertical;min-height:125px;line-height:1.75}.item-list{display:grid;gap:13px;list-style:none;padding:0;margin:0}.item{border:1px solid var(--line);padding:17px;border-radius:14px;background:#fafcf7;overflow-wrap:anywhere}.item h3{font-size:15px;font-weight:550;margin-bottom:8px}.item p,.item small{font-size:12px;line-height:1.75;color:var(--muted)}.item-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.inline-status{font-size:12px;color:var(--pine);background:var(--mint);padding:14px 18px;border-radius:12px;margin:20px 0}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}.check-list label{display:flex;align-items:flex-start;gap:11px;font-size:13px;line-height:1.7}.check-list input{accent-color:var(--pine);width:19px;height:19px;margin-top:2px;flex-shrink:0}.result ul,.guide-steps{padding-left:20px}.guide-steps{font-size:13px;line-height:1.85;display:grid;gap:12px}.coordinate{font-variant-numeric:tabular-nums;font-size:12px}@media(max-width:640px){.form-row{grid-template-columns:1fr;gap:0}}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #78a77a;outline-offset:4px}textarea:focus-visible,summary:focus-visible{outline:3px solid #78a77a;outline-offset:4px}h1,h2,h3,p{margin:0}button svg,.family-ui summary svg{flex-shrink:0}.site-header{max-width:1220px;margin:auto;padding:28px 42px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:650;letter-spacing:-1.2px}.brand-mark{display:grid;place-items:center;color:var(--pine)}.brand-detail{font-size:10px;display:block;letter-spacing:2px;font-weight:500;text-transform:uppercase;margin-top:1px}.header-actions{display:flex;align-items:center;gap:24px}.header-link{font-size:13px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;background:var(--pine);color:#fff;border-radius:12px;padding:13px 19px;font-size:13px;font-weight:550;line-height:1.2;min-height:44px;transition:background .15s,transform .15s}.button:hover:not(:disabled){background:#24644e}.button-soft{background:var(--mint);color:var(--pine)}.button-soft:hover:not(:disabled){background:#ddebd8}.button-outline{background:transparent;border-color:var(--line);color:var(--pine)}.button-outline:hover:not(:disabled){background:var(--mint)}.text-button{background:none;border:0;padding:8px;color:var(--muted);font-size:13px;min-height:44px}.text-button:hover{color:var(--pine)}.container{max-width:1136px;margin:auto;padding:0 32px}.icon-tile{width:43px;height:43px;border-radius:13px;background:#eef4e9;color:#436b43;display:grid;place-items:center}.panel{background:#fff;border:1px solid var(--line);border-radius:21px;padding:26px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.panel-header h2{font-size:18px;letter-spacing:-.4px;font-weight:550}.panel-header .text-button{padding:0;font-size:12px}.empty-state{background:#f7f9f3;border:1px dashed #dbe5d3;border-radius:15px;padding:28px 24px;text-align:center;min-height:182px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.empty-state p{font-size:12px;line-height:1.7;color:var(--muted);max-width:280px}.empty-state .text-button{font-size:12px;min-height:32px;color:var(--pine)}.icon-button{background:transparent;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;width:44px;height:44px;color:#63825c;flex-shrink:0}.icon-button:hover{background:#eef4e7}.delete-button{border:0;color:#8c9886}.field{border:1px solid #dce4d5;border-radius:11px;background:#fcfdfb;padding:13px 14px;min-width:0;width:100%;color:var(--pine);font-size:16px;min-height:44px}.field::placeholder{color:#65725f}.settings-panel{margin-top:28px;background:#f0f4e9;padding:22px 25px;border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:18px}.data-settings{margin-top:24px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.data-settings>summary{display:flex;align-items:center;gap:12px;padding:16px 20px;min-height:52px;cursor:pointer;list-style:none;font-size:14px;font-weight:550}:is(.data-settings,.family-ui .inline-help)>summary::-webkit-details-marker{display:none}.data-settings>summary span{margin-left:auto;font-size:12px;font-weight:400;color:var(--muted)}:is(.data-settings,.family-ui .inline-help)>summary:after{content:"+";font-size:20px;font-weight:400}:is(.data-settings,.family-ui .inline-help)[open]>summary:after{content:"−"}.data-settings>.settings-panel{margin:0;padding:6px 20px 20px;background:transparent}.settings-panel h3{font-size:13px;font-weight:550;margin-bottom:6px}.settings-panel p{font-size:11px;line-height:1.7;color:var(--muted)}.settings-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.dialog{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:30px;border:1px solid var(--line);border-radius:23px;color:var(--pine);background:#fff;box-shadow:0 30px 100px #173d3226}.dialog::backdrop{background:#10291e55;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog h2{font-family:var(--serif);font-size:28px;font-weight:400;margin-bottom:14px}.dialog p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:15px}.dialog label{display:block;font-size:12px;margin:17px 0 7px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:25px}.error{background:#f9f0e1;border:1px solid #e8d9b8;color:#725632;padding:17px;border-radius:12px;font-size:13px;line-height:1.7;margin:22px 0}.error .text-button{color:#725632}.skip-link{position:absolute;top:-100px;left:20px;z-index:10;background:#fff;padding:12px;border-radius:10px}.skip-link:focus{top:10px}.hidden-input{display:none}@media(min-width:1300px){.container{padding:0}.site-header{padding-left:42px;padding-right:42px}}@media(max-width:1000px){.site-header{padding:24px 32px}.settings-panel{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.site-header{padding:21px;gap:12px}.brand{font-size:23px}.brand-detail{font-size:9px}.header-actions{gap:9px}.header-link{display:none}.install-button{font-size:11px;padding:11px 12px;gap:7px}.container{padding:0 21px}.icon-tile{width:36px;height:36px;border-radius:11px}.panel{padding:22px;border-radius:18px}.panel-header h2{font-size:17px}.settings-panel{padding:20px;margin-top:20px}.settings-actions{flex-wrap:wrap;gap:5px}.settings-actions .button{font-size:11px;padding:12px}.dialog{padding:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh;padding-bottom:100px;--app-surface: #f6fbf7;background:var(--app-surface)}.app-shell .site-header{max-width:1080px;padding:18px 28px;flex-wrap:wrap}.app-shell .header-actions{flex-wrap:wrap}.app-shell:not([data-product=education]) .header-link{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;color:var(--pine)}.app-shell:not([data-product=education]) .icon-tile{color:var(--pine);background:var(--mint)}.app-shell .brand-detail:empty{display:none}.app-tabs{display:flex;gap:6px;padding:5px;margin:0 0 22px;border:1px solid var(--line);border-radius:13px;background:#fff;width:fit-content;max-width:100%}.app-tabs button{border:0;border-radius:9px;background:transparent;padding:12px 20px;min-height:44px;color:var(--muted);font-size:14px}.app-tabs button[aria-current=page]{background:var(--mint);color:var(--pine);font-weight:600}.app-shell .panel{border-radius:16px;margin-bottom:18px;box-shadow:0 2px 10px #173d3203}.app-shell .panel>h2{font-size:19px;font-weight:600}.app-shell .item h2{font-size:16px;font-weight:600;margin:0 0 6px}.app-shell .item{background:#fff;padding:18px;border-radius:12px}.app-shell .item p{font-size:14px}.app-shell .empty-state{min-height:100px;border-style:solid;background:var(--app-surface)}.app-shell .empty-state p{font-size:14px}.section-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.list-row,.contact-item{display:flex;justify-content:space-between;align-items:center;gap:16px}.list-row>div:first-child,.contact-item>div:first-child{min-width:0}.list-row .item-actions,.contact-item .item-actions{margin-top:0;flex-shrink:0}.check-row{display:flex;align-items:center;gap:12px;min-height:44px;line-height:1.5}.check-row input{flex-shrink:0;width:20px;height:20px;accent-color:var(--pine)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:20px}.character-count{text-align:right;margin:-8px 0 14px;color:var(--muted)}.finding-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}.finding-list h3{margin-bottom:4px}.step-counter{font-size:13px;color:var(--muted);margin:20px 0}.preserve-lines{white-space:pre-wrap}.task-reflection{margin-top:20px;padding:16px;background:var(--mint);border-radius:10px;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.inline-help{margin-top:24px;border-top:1px solid var(--line);padding-top:10px}.inline-help>summary{min-height:44px;cursor:pointer;font-size:14px;display:list-item;padding:10px 0}.inline-help p{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0}.store-feedback{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);z-index:10;display:flex;align-items:center;gap:12px;padding:8px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 6px 28px #173d3220}.store-feedback .error,.store-feedback .inline-status{background:none;border:0;margin:0;padding:4px 0;font-size:14px}.store-feedback.has-error{background:#fff6ec}.store-feedback .text-button{white-space:nowrap}.editor-dialog{max-height:calc(100dvh - 32px);overflow:auto;width:min(550px,calc(100% - 24px))}.editor-dialog .panel-header h2{font-family:inherit;font-size:21px}.editor-dialog .dialog-actions{position:sticky;bottom:-30px;background:#fff;padding:12px 0}@media(max-width:640px){.app-shell .site-header{padding:16px 18px}.app-shell .container{padding-left:18px;padding-right:18px}.app-tabs{width:100%}.app-tabs button{flex:1;padding:12px 8px;font-size:13px}.workspace-grid{grid-template-columns:1fr;gap:0}.list-row,.contact-item{align-items:flex-start;flex-direction:column;gap:10px}.list-row .item-actions,.contact-item .item-actions{width:100%;flex-wrap:wrap}.store-feedback{align-items:flex-start;gap:8px}.store-feedback .error{max-height:130px;overflow:auto}.editor-dialog .dialog-actions{bottom:-25px}.app-shell .panel{padding:20px}}.import-summary{width:100%;border-collapse:collapse;margin:1rem 0;text-align:left}.import-summary th,.import-summary td{padding:.6rem .35rem;border-bottom:1px solid var(--line)}.import-summary td{text-align:center}@media(max-width:640px){.app-shell .header-actions{gap:8px}}.family-ui{--family-font: "Avenir Next", "Segoe UI", system-ui, sans-serif;--serif: var(--family-font);--pine: #135b45;--muted: #526b61;--line: #dce6dc;--mint: #e8f2e5;--app-surface: #f6f8f2;--family-card-shadow: 0 2px 4px #193c3003, 0 12px 36px #193c3006;--app-accent: #e1ead5;--app-accent-soft: #f0f5e9;--app-accent-line: #c8d7b7;--app-accent-ink: #45643e;display:flow-root;padding-top:max(28px,env(safe-area-inset-top));background:var(--app-surface);font-family:var(--family-font);color:#193c30;line-height:1.55}.family-ui:is([data-app=message],[data-app=scan],[data-app=lock]){--app-accent: #e6dcef;--app-accent-soft: #f2edf7;--app-accent-line: #d4c5e2;--app-accent-ink: #655078}.family-ui:is([data-app=camera],[data-app=study],[data-app=search]){--app-accent: #d9eaf3;--app-accent-soft: #eaf3f7;--app-accent-line: #bcd6e3;--app-accent-ink: #35596e}.family-ui:is([data-app=browser],[data-app=coach],[data-app=game]){--app-accent: #f3dfc7;--app-accent-soft: #fbf2e6;--app-accent-line: #e6cfb0;--app-accent-ink: #805b34}.family-ui :is(main,section,nav,.form-field,.item-actions,.app-header-identity){min-width:0}.family-ui :is(h1,h2,h3,p,.button,.text-button){overflow-wrap:anywhere}.family-ui :focus-visible{outline:3px solid var(--pine);outline-offset:4px;scroll-margin-block:18px}.family-ui .site-header{width:calc(100% - 56px);max-width:1044px;margin:0 auto;padding:18px 22px;gap:16px;border:1px solid #dce6d9;border-radius:26px;background:linear-gradient(110deg,#fff,#fbfdf8 65%,#f0f6ea);box-shadow:inset 0 1px #fff,0 2px 12px #193c3006}.family-ui[data-app] .site-header{border-color:var(--app-accent-line);background:#fff}.family-ui[data-app] .brand-mark{border-color:var(--app-accent-line);background:linear-gradient(145deg,#ffffffa6,var(--app-accent));color:var(--app-accent-ink);box-shadow:inset 0 1px #fff,0 5px 12px #193c300c}.family-ui .app-header{display:grid;grid-template-columns:minmax(0,1fr) auto}.family-ui .brand{min-width:0;min-height:48px;gap:14px;font-size:28px;font-weight:650;letter-spacing:-1px}.family-ui .brand-mark{width:50px;min-height:50px;flex-shrink:0;border:1px solid #1a63484d;border-radius:17px;background:linear-gradient(145deg,#297250,#164d3a);color:#fff;box-shadow:inset 0 1px #ffffff42,0 4px 9px #193c3012}.family-ui .brand-detail{margin:0 0 3px;color:var(--muted);font-size:11px;font-weight:650;line-height:1.3;letter-spacing:.055em;text-transform:none}.family-ui h1{font-size:clamp(28px,4vw,36px);font-weight:650;line-height:1.2;letter-spacing:-.8px}.family-ui .app-header h1{font-size:clamp(20px,2.4vw,24px);letter-spacing:-.6px}.family-ui .header-actions{min-width:0;max-width:100%;justify-content:flex-end;gap:8px}.family-ui .site-header :is(.header-link,.install-button){display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;color:var(--pine);background:#ffffffbf;box-shadow:inset 0 1px #fff;font-size:14px;font-weight:600;line-height:1.3}.family-ui .header-link:hover{background:var(--mint)}.family-ui .mini-container{max-width:1100px;padding:30px 28px 40px}.family-ui:is([data-app=coach],[data-app=study],[data-app=scan]) .mini-container{max-width:780px}.app-legal-links .legal-brand{display:none}.app-footer-tools{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.family-ui .app-footer-tools .legal-brand{padding:0}.family-ui .app-footer-tools .install-button{background:#fff}.family-ui .app-legal-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1100px;margin:32px auto 24px;padding:22px;border:1px solid #cfdecf;border-radius:26px;background:#f3f7ee;opacity:1}.family-ui .legal-brand{display:flex;align-items:center;gap:8px;grid-column:1 / -1;padding:0 2px 8px;color:var(--pine);font-size:25px;font-weight:750;letter-spacing:-1px}.family-ui .app-legal-links a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;min-width:44px;padding:13px 16px;border:1px solid var(--legal-line);border-radius:16px;background:var(--legal-surface);color:var(--legal-ink);font-size:14px;font-weight:650;line-height:1.4;text-decoration:none;box-shadow:inset 0 1px #ffffff9c,0 2px 4px #193c3005}.family-ui .legal-privacy{--legal-surface: #e3efe5;--legal-ink: #214f39;--legal-line: #64866d;--legal-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 8 3v6c0 5-8 9-8 9s-8-4-8-9V6l8-3Z'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E")}.family-ui .legal-terms{--legal-surface: #e7edf8;--legal-ink: #2a456c;--legal-line: #667f9f;--legal-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='3'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E")}.family-ui .legal-cookies{--legal-surface: #fff0d6;--legal-ink: #644714;--legal-line: #a17c39;--legal-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 13a5 5 0 0 1-5.5-5.5A5 5 0 0 1 10 3.3 9 9 0 1 0 20.5 13Z'/%3E%3Cpath d='M8 9h.01M7 15h.01M13 16h.01' stroke-width='3'/%3E%3C/svg%3E")}.family-ui .app-legal-links a:before{content:"";display:block;width:21px;height:21px;flex:0 0 21px;background:currentColor;-webkit-mask:var(--legal-icon) center / contain no-repeat;mask:var(--legal-icon) center / contain no-repeat}.family-ui .app-legal-links a:hover{color:var(--legal-ink);border-color:currentColor;box-shadow:0 3px 9px #193c3012}@media(max-width:600px){.family-ui .app-legal-links{grid-template-columns:minmax(0,1fr);margin-inline:16px;padding:20px}.family-ui .app-legal-links a{justify-content:flex-start}}.family-ui .icon-tile{width:44px;height:44px;flex-shrink:0;border:1px solid #d7e5cf;border-radius:15px;box-shadow:inset 0 1px #ffffffc9}.app-shell.family-ui .icon-tile{background:linear-gradient(145deg,#eff6e8,#e0eedc);color:var(--pine)}.family-ui[data-app] .icon-tile{border-color:var(--app-accent-line);background:linear-gradient(145deg,#ffffffb3,var(--app-accent));color:var(--app-accent-ink)}.family-ui .app-tabs{min-width:min(100%,420px);flex-wrap:wrap;padding:0;gap:12px;margin-bottom:26px;border:0;border-radius:0;background:transparent}.family-ui .app-tabs button{--menu-surface: var(--surface-sage);--menu-ink: var(--ink-sage);display:flex;align-items:center;justify-content:flex-start;gap:12px;flex:1 1 auto;min-width:0;min-height:72px;padding:10px 14px;border:1px solid #cbdac7;border-radius:18px;background:var(--menu-surface);font-size:15px;font-weight:650;line-height:1.35;color:var(--menu-ink)}.family-ui .app-tabs button>span{min-width:0;overflow-wrap:break-word}.family-ui :is(.app-tabs,.app-overview-choices)>button:nth-child(4n+2){--menu-surface: var(--surface-blue);--menu-ink: var(--ink-blue);border-color:#c8d9e5}.family-ui :is(.app-tabs,.app-overview-choices)>button:nth-child(4n+3){--menu-surface: var(--surface-lilac);--menu-ink: var(--ink-lilac);border-color:#dbcee9}.family-ui :is(.app-tabs,.app-overview-choices)>button:nth-child(4n){--menu-surface: var(--surface-sand);--menu-ink: var(--ink-sand);border-color:#e5d7c1}.family-ui .app-tabs button:hover{border-color:currentColor}.family-ui .app-tabs button[aria-current=page]{border-color:var(--menu-ink);box-shadow:inset 0 0 0 1px currentColor}.family-ui .app-tabs-secondary{min-width:0;gap:8px}.family-ui .app-tabs-secondary button{min-height:56px;padding:8px 12px;font-weight:600}.family-ui button{min-width:44px;min-height:44px;max-width:100%}.family-ui .button{min-height:50px;max-width:100%;padding:13px 19px;border-radius:15px;background:linear-gradient(125deg,#1d654a,#144e3b);font-size:15px;font-weight:650;line-height:1.4;white-space:normal;text-align:center;box-shadow:inset 0 1px #ffffff2b,0 4px 10px #193c3010}.family-ui .button:hover:not(:disabled){background:linear-gradient(125deg,#215f46,#104633);box-shadow:inset 0 1px #ffffff2b,0 7px 16px #193c301b}.family-ui .button-soft{border-color:#d6e6d0;background:var(--mint);color:var(--pine);box-shadow:inset 0 1px #ffffffb3}.family-ui .button-outline{background:#eaf2e4;color:var(--pine);border-color:#698572;box-shadow:0 2px 4px #193c3004}.family-ui :is(.button-soft,.button-outline):hover:not(:disabled){background:#e0edda;box-shadow:inset 0 1px #ffffffa6}.family-ui .text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid #698572;border-radius:12px;background:#edf3e7;color:var(--pine);font-size:15px;line-height:1.4;text-align:center}.family-ui .text-button:hover:not(:disabled){background:var(--mint)}.family-ui .icon-button{width:44px;height:44px;border-radius:13px;border:1px solid #718b79;color:var(--pine);background:#fff;box-shadow:0 2px 5px #193c3004}.family-ui .delete-button{color:#943b2b;background:#fff0e9;border-color:#cda99c}.family-ui :is(.panel,.app-choice-card){border-color:#dee7db;border-radius:26px;background:linear-gradient(155deg,#fff,#fdfefa);box-shadow:var(--family-card-shadow)}.family-ui .panel{padding:28px;margin-bottom:22px}.family-ui .editor-dialog .panel{padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.family-ui .editor-dialog .panel+.panel{padding-top:20px;border-top:1px solid var(--line)}.family-ui :is(.settings-actions,.dialog-actions){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:12px;align-items:stretch;min-width:0;max-width:100%}.family-ui .settings-actions{width:100%;flex-shrink:1}.family-ui :is(.settings-actions,.dialog-actions)>:is(.button,.text-button){width:100%;min-width:0}.family-ui .item-actions{gap:12px;align-items:stretch;max-width:100%}.family-ui .item-actions>:is(.button,.text-button){flex:1 1 160px}.family-ui :is(.list-row,.contact-item){flex-wrap:wrap}.family-ui :is(.panel>h2,.mini-panel-title,.panel-header h2){font-size:20px;font-weight:650;line-height:1.35;letter-spacing:-.5px}.family-ui :is(.panel>h2,.mini-panel-title,.panel-header){margin-bottom:20px}.family-ui .section-actions{align-items:center;justify-content:space-between;gap:12px 16px}.family-ui .section-actions>h2{margin:0;font-size:20px;font-weight:700;line-height:1.35;letter-spacing:-.4px}.family-ui :is(.panel>p,.result p,.result li,.guide-steps,.empty-state p){font-size:16px;line-height:1.65}.family-ui .item{padding:18px;border-radius:18px;border-color:#e0e9dc;background:#f7faf3;box-shadow:inset 0 1px #fff}.family-ui .item h2{font-size:18px;line-height:1.4}.family-ui :is(.item p,.helper,.inline-help p,.settings-panel p,.dialog p){font-size:14px;line-height:1.6}.family-ui :is(.item small,.coordinate,.step-counter,.settings-panel h3,.data-settings>summary span){font-size:14px;line-height:1.5}.family-ui .character-count{font-size:14px!important}.family-ui :is(.inline-help,.data-settings){margin-top:16px}.family-ui .data-settings>summary{padding:14px 18px}.family-ui .empty-state{min-height:0;padding:28px 24px;border-color:#dde8d7;border-radius:20px;background:radial-gradient(ellipse at 50% 0%,var(--app-accent),transparent 72%),#f8faf4;box-shadow:inset 0 1px #fff}.family-ui[data-app] .coach-art-message{border-color:var(--app-accent-line);background:linear-gradient(145deg,#fff,var(--app-accent));color:var(--app-accent-ink)}.family-ui[data-app=game] .gaming-timer-form>.gaming-activity-icon{border-color:var(--app-accent-line);background:linear-gradient(145deg,#ffffffb3,var(--app-accent));color:var(--app-accent-ink)}.family-ui .form-field{gap:8px;margin-bottom:18px}.family-ui :is(.form-field>label,.dialog label){color:#193c30;font-size:15px;font-weight:650;line-height:1.4}.family-ui .form-field>label{margin:0}.family-ui .dialog :is(label.check-row,.check-list label){display:flex;margin:0}.family-ui .form-field :is(.helper,.field-error){margin:0}.family-ui .field{min-height:52px;padding:13px 15px;border:1px solid #6d897c;border-radius:14px;background:#fcfdfa;color:#193c30;font-size:16px;line-height:1.5;box-shadow:inset 0 1px 2px #193c3004}.family-ui .field:focus-visible{outline:3px solid #6a8c64;outline-offset:2px;border-color:var(--pine);background-color:#fff}.family-ui .field::placeholder{color:#5b7368}.family-ui select.field:not([multiple]){appearance:none;padding-right:56px;border-color:#698572;background:#edf4ef url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='.5' y='.5' width='31' height='31' rx='10' fill='%23fff' stroke='%23adc3b3'/%3E%3Cpath d='m11 14 5 5 5-5' fill='none' stroke='%23245540' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center / 32px;box-shadow:inset 0 1px #ffffffb3,0 2px 4px #193c3005}.family-ui .field-error{color:#783d20;font-size:14px}.family-ui .field[aria-invalid=true]{border-color:#943b2b}.family-ui :is(.check-row,.check-list label,.quiz-option,.task-steps label){min-height:48px;cursor:pointer;font-size:16px}.family-ui :is(input[type=checkbox],input[type=radio]){width:24px;height:24px;min-width:24px;flex-shrink:0;accent-color:var(--pine)}.family-ui :is(.result,.task-reflection){border:1px solid #bfdac9;border-radius:20px;background:linear-gradient(130deg,#edf5e6,#e8f2e7)}.family-ui :is(.data-settings,.dialog){border-radius:22px}.family-ui .data-settings{background:#ffffffb3;box-shadow:inset 0 1px #fff}.family-ui .data-settings[open]{background:#fff}.family-ui summary{min-height:48px;font-size:15px;line-height:1.4}.family-ui .inline-help>summary{display:flex;align-items:center;gap:12px;list-style:none}.family-ui .inline-help>summary:after{flex-shrink:0;margin-left:auto;margin-right:4px}@media(max-width:360px){.family-ui .app-header .header-link svg{display:none}.family-ui .app-header h1{font-size:18px}}@media(forced-colors:active){.family-ui select.field:not([multiple]){appearance:auto;background-image:none}}.family-ui .settings-panel{min-width:0;align-items:start;flex-direction:column}.family-ui .dialog{padding:28px;border-color:#dce6d8;border-radius:26px;background:#fffefa;box-shadow:inset 0 1px #fff,0 28px 90px #193c3038}.family-ui .dialog::backdrop{background:#17342873;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.family-ui .dialog>.panel-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}.family-ui .dialog h2{font-family:inherit;font-size:24px;font-weight:700;line-height:1.3;letter-spacing:-.4px}.family-ui .dialog .panel-header h2{margin-bottom:0}.family-ui .editor-dialog .dialog-actions{bottom:-28px;padding-block:18px max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffefa;box-shadow:0 -10px 18px #fffefa;z-index:1}.family-ui .editor-dialog{scroll-padding-block:24px 112px}.family-ui .editor-dialog :is(input,select,textarea,button){scroll-margin-block:12px}.family-ui .error{border-color:#e9c6aa;border-radius:18px;color:#783d20;background:#fff3e8;font-size:15px}.family-ui .store-feedback{flex-wrap:wrap;gap:8px 14px;border-color:#cadcc5;border-radius:18px;padding:12px 18px;background:#fffffff5;box-shadow:0 8px 30px #193c301c}.family-ui .store-feedback p{min-width:0;overflow-wrap:anywhere}.family-ui .loading-status{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid var(--line);border-radius:20px;color:var(--pine);background:linear-gradient(120deg,#edf5e5,#f8faf3);box-shadow:inset 0 1px #fff}.family-ui :is(.loading-status,button[aria-busy=true]):before{content:"";flex:0 0 18px;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sprout-spin .8s linear infinite}.family-ui button[aria-busy=true]>svg{display:none}.family-ui .dialog{overscroll-behavior:contain}@media(prefers-reduced-motion:no-preference){.family-ui>main{animation:sprout-enter .32s ease-out}.family-ui .dialog[open]{animation:sprout-enter .2s ease-out}.family-ui .dialog[open]::backdrop{animation:sprout-fade .2s ease-out}.family-ui :is(.button,.icon-button,.app-tabs button,.app-choice-card){transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}.family-ui :is(.button,.icon-button):active:not(:disabled){transform:translateY(1px)}}@media(prefers-reduced-motion:reduce){.family-ui :is(.loading-status,button[aria-busy=true]):before{animation:none}}@keyframes sprout-spin{to{transform:rotate(360deg)}}@keyframes sprout-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes sprout-fade{0%{opacity:0}to{opacity:1}}@media(max-width:640px){.family-ui .site-header{width:calc(100% - 32px);margin-top:0;padding:14px;gap:8px;border-radius:23px}.family-ui .brand{gap:10px}.family-ui .brand-mark{width:38px;min-height:38px;border-radius:13px}.family-ui .app-header{grid-template-columns:minmax(0,1fr) auto}.family-ui .app-header .header-actions{justify-content:flex-end}.family-ui .container{padding-right:16px;padding-left:16px}.family-ui .mini-container{padding-top:22px;padding-bottom:28px}.family-ui .app-tabs{width:100%}.family-ui .app-tabs button{flex:1 1 auto;padding:10px}.family-ui .panel{padding:22px;border-radius:23px}.family-ui :is(.settings-actions .button,.install-button){padding:12px 14px;font-size:14px}.family-ui .dialog{padding:20px;border-radius:24px}.family-ui .dialog-actions .button{padding:12px}.app-shell.family-ui :is(.item-actions,.dialog-actions,.settings-actions){display:grid;grid-template-columns:minmax(0,1fr)}.family-ui .editor-dialog .dialog-actions{bottom:-20px}}@media(max-width:480px){.family-ui .app-tabs{flex-direction:column}.family-ui .app-tabs button{width:100%;min-height:64px}}@media(forced-colors:active){.family-ui .app-tabs button[aria-current=page]{border-color:Highlight}}.family-ui{--surface-sage: #edf3e7;--surface-blue: #edf3f7;--surface-lilac: #f1edf7;--surface-sand: #f8f0e5;--ink-sage: #294e3c;--ink-blue: #34516a;--ink-lilac: #57456e;--ink-sand: #6b5133}.family-ui .app-overview-menu{margin-bottom:24px}.family-ui .app-overview-trigger{display:flex;width:min(100%,420px);min-height:54px;justify-content:flex-start;gap:12px;background:#fff;border-color:#708b77}.app-overview-trigger>span:first-of-type{flex:1;min-width:0;text-align:left}.app-overview-chevron{width:8px;height:8px;border-right:1.8px solid;border-bottom:1.8px solid;transform:rotate(45deg);margin:0 4px 4px;flex:0 0 auto}.app-overview-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.family-ui .app-overview-choices>button{--menu-surface: var(--surface-sage);--menu-ink: var(--ink-sage);display:flex;align-items:center;gap:14px;min-width:0;min-height:76px;padding:14px 16px;border:1px solid #cbdac7;border-radius:20px;background:var(--menu-surface);color:var(--menu-ink);font:inherit;font-weight:650;text-align:left}.family-ui .app-overview-choices>button>span{min-width:0;flex:1;overflow-wrap:anywhere}.family-ui :is(.app-tabs,.app-overview-choices)>button>svg:first-child{flex-shrink:0;width:44px;height:44px;padding:9px;border:1px solid #ffffffc9;border-radius:14px;background:#ffffffb3}.family-ui .app-overview-choices>button:hover:not(:disabled){background:var(--menu-surface);color:var(--menu-ink);border-color:currentColor}.family-ui .app-overview-choices>[aria-current=page]{box-shadow:inset 0 0 0 1px currentColor;border-color:currentColor}@media(max-width:600px){.family-ui .app-overview-trigger{width:100%}.app-overview-choices{grid-template-columns:minmax(0,1fr)}}.camera-workspace{display:grid;gap:20px;width:100%;max-width:920px;margin-inline:auto}.camera-workspace>:not(.camera-main):not(.camera-save){grid-column:1 / -1}.camera-main,.camera-save{min-width:0}.app-shell .camera-workspace .panel{margin-bottom:0;padding:clamp(16px,3vw,26px);border-radius:24px}.camera-workspace .button,.camera-workspace .text-button{line-height:1.35;white-space:normal}.camera-topbar,.camera-input-actions,.camera-edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.camera-topbar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:20px}.camera-topbar[data-empty=true]{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:0}.camera-topbar[data-empty=true] .camera-settings[open]{width:100%;max-width:560px}.camera-input-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.camera-input-actions .button{width:100%;min-height:52px}.camera-main>.panel:has(.camera-topbar[data-empty=true]){background:var(--app-accent-soft);border-color:var(--app-accent-line)}.camera-start-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;max-width:560px;margin-inline:auto}.camera-workspace .camera-start-actions .button{min-height:60px;padding:16px 20px;border-radius:18px;justify-content:flex-start;gap:14px;box-shadow:0 4px 12px #234e3508}.camera-start-primary{font-weight:650}.camera-start-actions>.button>svg{flex-shrink:0}.camera-workspace .camera-start-actions>.button-outline{color:var(--pine);border-color:var(--line);background:var(--paper)}.camera-topbar[data-empty=true] .camera-settings{width:100%;max-width:560px;margin-inline:auto}.camera-start-actions[data-received=true]{grid-template-columns:1fr}.camera-workspace>.app-tabs{grid-column:1 / -1}.app-shell .camera-workspace>.app-tabs button{min-height:48px;font-size:16px}.camera-workspace .camera-settings,.camera-workspace .camera-tools,.camera-workspace .camera-fields{min-width:0;margin-top:18px;padding-top:0;border-top:0}.camera-topbar .camera-settings{margin-top:0}.camera-topbar .camera-settings[open]{flex:1 1 100%}.app-shell .camera-workspace :is(.camera-settings,.camera-tools,.camera-fields)>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;color:var(--pine);background:var(--paper);font-size:16px;font-weight:550;line-height:1.35;cursor:pointer;list-style:none}.camera-workspace :is(.camera-settings,.camera-tools,.camera-fields)>summary::-webkit-details-marker{display:none}.camera-workspace :is(.camera-settings,.camera-tools,.camera-fields)>summary:after{content:"";flex-shrink:0;width:8px;height:8px;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}.camera-workspace :is(.camera-settings,.camera-tools,.camera-fields)[open]>summary{background:var(--mint)}.camera-workspace :is(.camera-tools,.camera-fields):not([open])>summary{background:var(--app-accent-soft);border-color:var(--app-accent-line)}.camera-workspace :is(.camera-settings,.camera-tools,.camera-fields)[open]>summary:after{transform:translateY(2px) rotate(225deg)}.camera-settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.camera-offline-state{display:inline-flex;align-items:flex-start;gap:8px;margin-block:0 12px;color:var(--muted);font-size:16px;line-height:1.45}.camera-offline-state>svg{flex-shrink:0}.camera-offline-state>span{min-width:0}.app-shell .camera-workspace .form-field>label,.app-shell .camera-field-editor .form-field>label{font-size:16px;line-height:1.4}.camera-ai-status{margin-block:14px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--mint);color:var(--pine)}.camera-ai-status:has(>svg){display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px 12px}.camera-ai-status>svg{grid-column:1;grid-row:1;margin:0}.camera-ai-status:has(>svg)>:not(svg){grid-column:2;min-width:0}.camera-ai-status p{margin-block:3px;font-size:16px;line-height:1.5}.camera-ai-status .button{margin-top:10px}.camera-ai-status[data-status=working],.camera-ai-status[data-status=loading]{background:var(--app-surface)}.camera-ai-status[data-status=error]{background:var(--paper);border-style:dashed;border-width:2px}.camera-workspace .camera-stage{position:relative;width:100%;max-height:none;overflow:hidden;margin-block:18px;border-radius:18px;background:linear-gradient(45deg,#20372d 25%,transparent 25%,transparent 75%,#20372d 75%),linear-gradient(45deg,#20372d 25%,#1b3027 25% 75%,#20372d 75%);background-position:0 0,12px 12px;background-size:24px 24px;border:1px solid #1a392a;box-shadow:inset 0 1px #ffffff12}.camera-workspace .camera-stage canvas{display:block;width:auto;height:auto;max-width:100%;max-height:60vh;max-height:min(60svh,640px);margin-inline:auto;object-fit:initial}.camera-workspace .camera-stage[data-editing=true]{outline:3px solid var(--pine);outline-offset:4px}.camera-workspace .camera-stage[data-original=true]{outline:2px dashed var(--pine);outline-offset:4px}.camera-source{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.camera-workspace .camera-stage canvas[hidden]{display:none}.camera-workspace .camera-placeholder{display:grid;place-items:center;aspect-ratio:4 / 3;min-height:200px;padding:24px;color:var(--mint);text-align:center}.camera-placeholder>svg{width:56px;height:56px}.camera-capture-row{display:grid;justify-items:center;gap:10px;padding-block:6px 12px}.app-shell .camera-workspace .camera-shutter{flex-direction:column;gap:6px;width:112px;min-height:112px;padding:16px 8px;border:5px solid var(--paper);border-radius:50%;box-shadow:0 0 0 2px var(--line);font-weight:650}.camera-shutter>svg{width:32px;height:32px}.camera-edit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.camera-edit-actions>.text-button{grid-column:1 / -1;justify-self:center}.camera-edit-actions .button[aria-pressed=true]{background:var(--mint);color:var(--pine);border-color:var(--pine)}.app-shell .camera-workspace .camera-edit-actions .button[aria-pressed=true]:hover:not(:disabled){background:var(--mint);color:var(--pine)}.camera-workspace .camera-tools .item-actions,.camera-workspace .camera-fields .item-list{margin-top:14px}.camera-workspace .camera-fields .item{border:1px solid var(--line);border-radius:14px;padding:14px}.camera-fields .item>span{overflow-wrap:anywhere}.camera-review{min-width:0;margin:0;padding:0;border:0}.camera-review>legend{max-width:100%;margin-bottom:10px;padding:0;font-size:20px;font-weight:650;line-height:1.3;color:var(--pine)}.camera-review-progress{display:flex;align-items:center;gap:8px;margin:8px 0 6px;color:var(--muted);font-size:16px;font-weight:400;line-height:1.4}.camera-review-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.camera-review-list label{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--app-surface);color:var(--pine);font-size:16px;line-height:1.5;cursor:pointer;transition:background .16s ease,border-color .16s ease}.camera-review-list label:has(input:checked){background:var(--mint);border-color:var(--pine)}.camera-review-list label:has(input:disabled){cursor:default}.camera-review-list input{flex:0 0 22px;width:22px;height:22px;margin:0;accent-color:var(--pine)}.camera-save-action{margin-top:20px}.camera-review-dialog{display:grid;gap:16px}.camera-review-dialog .camera-review-progress{margin-block:0 16px}.camera-review-dialog .camera-save-action{margin-top:4px}.app-shell .camera-review-dialog .camera-save-button,.app-shell .camera-workspace .camera-review-trigger{min-height:56px;font-weight:650}.app-shell .camera-workspace .camera-review-trigger{width:100%;justify-content:flex-start;gap:12px;padding:18px 20px;border-radius:18px}.camera-review-count{margin-left:auto;padding:4px 10px;border-radius:999px;background:#ffffff29;font-size:14px;font-variant-numeric:tabular-nums}@media(max-width:560px){.camera-settings-fields,.camera-start-actions{grid-template-columns:1fr}.camera-topbar .camera-settings{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){.camera-workspace *,.camera-workspace *:before,.camera-workspace *:after,.camera-field-editor *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.camera-workspace .camera-tools .item-actions,.camera-field-editor .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.camera-workspace .camera-tools .button{width:100%;min-width:0}@media(max-width:560px){.camera-edit-actions,.camera-workspace .camera-tools .item-actions,.family-ui .camera-review-dialog .dialog-actions,.camera-field-editor .form-row,.family-ui .camera-field-editor .dialog-actions{grid-template-columns:minmax(0,1fr)}}@media(max-width:380px){.camera-workspace .camera-review-trigger{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;padding-inline:14px;text-align:left}}
