.photo-tool{max-width:1080px;padding:20px 16px var(--action-height,150px);margin:auto}.photo-tool h1{margin:0 0 16px;font-size:clamp(1.5rem,4vw,2.4rem)}.tool-tabs{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.tool-tabs a{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:8px 4px;font-size:.85rem;font-weight:700;text-decoration:none;display:flex}.tool-tabs [aria-current],.photo-tool [aria-pressed=true]{background:var(--soft);box-shadow:inset 0 0 0 2px var(--accent)}.tool-progress{margin:16px 0}.tool-progress p{margin:0 0 8px;font-size:.875rem;display:none}.tool-progress progress{width:100%;height:5px;accent-color:var(--accent);border:0;display:block}.tool-steps{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 8px;padding:0;font-size:.9rem;list-style:none;display:grid}.tool-steps li{align-items:center;gap:8px;display:flex}.tool-steps li span{background:var(--soft);border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.tool-steps [aria-current]{color:var(--accent);font-weight:800}.tool-metadata-mode{grid-template-columns:1fr!important}.tool-workspace{gap:16px;display:grid}.tool-main h2{margin:0 0 12px;font-size:1.1rem}.tool-main,.tool-settings{padding:16px}.tool-settings fieldset{border:0;min-width:0;margin:0;padding:0}.tool-profiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tool-profiles button{text-align:left;min-height:96px;padding:12px}.tool-profiles small{color:var(--muted);margin-top:4px;font-size:.73rem;font-weight:400;line-height:1.45;display:block}.photo-tool button,.photo-tool select,.photo-tool input:not([type=checkbox]){min-height:44px}.photo-tool button{border:1px solid var(--line);background:var(--surface);min-width:44px;color:var(--ink);cursor:pointer;border-radius:12px;padding:8px 12px}.photo-tool button.primary{background:var(--accent);color:var(--accent-ink)}.photo-tool button:disabled{opacity:.55;cursor:default}.photo-tool label{min-height:44px;margin:10px 0;display:block}.photo-tool select,.photo-tool input:not([type=checkbox]){background:var(--surface);width:100%;max-width:100%;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px;display:block}.photo-tool input[type=range]{accent-color:var(--accent);padding:0}.tool-drop{border:2px dashed var(--line);text-align:center;border-radius:16px;padding:20px 12px}.tool-drop p{margin:8px 0 0;font-size:.85rem}.tool-drop small{display:block}.tool-file-input{clip-path:inset(50%);height:1px;position:absolute;overflow:hidden;width:1px!important;min-height:0!important}.tool-files{padding:0;list-style:none}.tool-files li{align-items:center;gap:8px;margin:12px 0;display:flex}.tool-filename{overflow-wrap:anywhere;min-width:0}.tool-files .tool-filename{flex:1;font-size:.85rem}.photo-tool .tool-files .crop-needs-attention{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--surface));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 17%, transparent), 0 0 18px color-mix(in srgb, var(--accent) 42%, transparent);animation:1.6s ease-in-out 3 crop-attention}@keyframes crop-attention{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 12%, transparent), 0 0 24px color-mix(in srgb, var(--accent) 52%, transparent)}}@media (prefers-reduced-motion:reduce){.photo-tool .tool-files .crop-needs-attention{animation:none}}.tool-thumb{object-fit:cover;background:var(--soft);border-radius:10px;flex:none;width:64px;height:64px;display:block}.tool-thumb-empty{color:var(--muted);place-items:center;font-size:1.6rem;display:grid}.tool-result{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:16px 0;display:flex}.tool-result-copy{flex:1;min-width:0}.tool-result p{margin:8px 0}.tool-result-actions{margin-top:16px}.tool-row{flex-wrap:wrap;gap:8px;display:flex}.tool-results.is-stale{opacity:.55}.tool-results a[aria-disabled=true]{pointer-events:none}.tool-stale{background:var(--soft);border-radius:10px;padding:12px;font-size:.9rem}.tool-meta-summary{grid-template-columns:auto 1fr;gap:6px 16px;font-size:.9rem;display:grid}.tool-meta-summary dt{font-weight:700}.tool-meta-summary dd{overflow-wrap:anywhere;margin:0}.tool-meta-table{max-height:260px;overflow:auto}.tool-meta-table table{border-collapse:collapse;width:100%;font-size:.8rem}.tool-meta-table th,.tool-meta-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:8px}.tool-meta-table th{max-width:140px}.tool-actionbar{z-index:10;padding:12px 12px max(12px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0}.tool-actionbar[hidden]{display:none!important}.tool-actionbar>p{max-width:700px;color:var(--danger);margin:0 auto 8px;font-size:.85rem}.tool-action-buttons{justify-content:center;gap:8px;display:flex}.tool-actionbar .primary{flex:1;max-width:460px}.tool-crop{z-index:100;background:var(--bg);grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;padding:16px max(16px,50vw - 350px) 0;display:grid;position:fixed;inset:0}.tool-crop h2{margin:0 0 12px;font-size:1.2rem}.tool-crop-scroll{padding:2px 2px 20px;overflow:auto}.tool-crop-stage{touch-action:none;background:var(--surface);outline:2px solid var(--accent);max-width:640px;margin:auto;position:relative;overflow:hidden}.tool-crop-stage img{object-fit:fill;pointer-events:none;max-width:none;position:absolute}.tool-crop-help{text-align:center;color:var(--muted);margin:12px 0;font-size:.8rem}.tool-ratios{grid-template-columns:1.4fr repeat(4,1fr);gap:6px;display:grid}.tool-ratios button{padding:6px 3px;font-size:.85rem}.tool-crop-footer{padding:12px 0 max(12px, env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);gap:10px;display:flex;position:sticky;bottom:0}.tool-crop-footer .primary{flex:1}.tool-crop .tool-row label{flex:1;min-width:100px}.tool-check{align-items:center;gap:8px;display:flex!important}.photo-tool summary{cursor:pointer;min-height:44px;padding:10px 0}.tool-fine{margin-top:10px}@media (width<=399px){.tool-progress p{display:block}.tool-steps{display:none}.tool-profiles button{min-height:100px;padding:10px}.tool-profiles small{font-size:.7rem}.tool-files li{gap:6px}.tool-files button{padding:8px;font-size:.8rem}}@media (width>=800px){.tool-workspace{grid-template-columns:2fr 1fr}.tool-main,.tool-settings{padding:24px}.tool-profiles button{min-height:110px}.tool-tabs{max-width:640px}}.tool-steps-two{grid-template-columns:repeat(2,1fr)}.tool-progress progress::-webkit-progress-value{background:var(--accent)}.tool-progress progress::-webkit-progress-bar{background:var(--line)}.tool-progress progress::-moz-progress-bar{background:var(--accent)}.tool-support{border:2px solid color-mix(in srgb, var(--accent) 72%, var(--line));background:color-mix(in srgb, var(--accent) 13%, var(--surface));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent), 0 8px 24px color-mix(in srgb, var(--accent) 22%, transparent);color:var(--ink);text-underline-offset:3px;border-radius:14px;align-items:center;gap:12px;margin:20px 0;padding:12px 14px;font-size:.875rem;font-weight:800;text-decoration:none;display:flex;position:relative}.tool-support:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.tool-thanks{z-index:20;bottom:var(--action-height,120px);width:min(90vw,460px);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent), 0 8px 24px color-mix(in srgb, var(--accent) 22%, transparent), 0 4px 20px #0002;margin:0;position:fixed;left:50%;transform:translate(-50%)}.tool-export-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}@media (width<=600px){.tool-export-actions{width:calc(100% + 76px);margin-left:-76px}}.pebble-space{min-height:110px;padding:8px 0}.photo-tool .pebble-guide{width:fit-content;max-width:min(100%,470px);color:var(--ink);text-align:left;cursor:pointer;box-shadow:none;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.camera-pebble{flex:none;width:76px;height:90px;animation:.55s ease-out both pebble-enter,3s ease-in-out .55s infinite pebble-bob;overflow:visible}.tp-buddy .buddy-teal{fill:#07948a;stroke:#07948a}.tp-buddy .buddy-petrol{fill:#183d44;stroke:#183d44}.tp-buddy .buddy-face{fill:#eef9f6}.tp-buddy .buddy-smile{stroke:#183d44}.tp-buddy .buddy-gold{fill:#f2c46d}.tp-buddy [fill=none]{fill:none}[data-theme=dark] .tp-buddy .buddy-teal{fill:var(--accent);stroke:var(--accent)}[data-theme=dark] .tp-buddy .buddy-petrol{fill:var(--ink);stroke:var(--ink)}[data-theme=dark] .tp-buddy .buddy-face{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px}[data-theme=dark] .tp-buddy .buddy-smile{stroke:var(--ink)}[data-theme=dark] .tp-buddy [fill=none]{fill:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tp-buddy .buddy-teal{fill:var(--accent);stroke:var(--accent)}:root:not([data-theme=light]) .tp-buddy .buddy-petrol{fill:var(--ink);stroke:var(--ink)}:root:not([data-theme=light]) .tp-buddy .buddy-face{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px}:root:not([data-theme=light]) .tp-buddy .buddy-smile{stroke:var(--ink)}:root:not([data-theme=light]) .tp-buddy [fill=none]{fill:none!important}}.pebble-bubble{overflow-wrap:anywhere;border:1px solid color-mix(in srgb, var(--line) 50%, transparent);background:color-mix(in srgb, var(--soft) 45%, transparent);backdrop-filter:blur(10px);width:fit-content;min-width:0;max-width:calc(100vw - 108px);min-height:52px;color:var(--ink);border-radius:18px;flex:0 auto;align-items:center;padding:12px;font-weight:700;display:flex;position:relative}.tool-tabs .pebble-target{box-shadow:inset 0 0 0 2px var(--accent);animation:1.1s ease-out 3 pebble-pulse}@keyframes pebble-pulse{50%{box-shadow:inset 0 0 0 3px var(--accent);background:var(--soft)}}@media (prefers-reduced-motion:reduce){.tool-tabs .pebble-target{animation:none}}.photo-tool .pebble-guide:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:18px}.pebble-bubble:before{content:"";background:color-mix(in srgb, var(--soft) 45%, transparent);border-left:1px solid color-mix(in srgb, var(--line) 50%, transparent);border-bottom:1px solid color-mix(in srgb, var(--line) 50%, transparent);width:12px;height:12px;position:absolute;top:calc(50% - 7px);left:-7px;transform:rotate(45deg)}.pebble-wave{transform-box:fill-box;transform-origin:0 100%;animation:.65s ease-in-out 2 pebble-wave}@keyframes pebble-enter{0%{opacity:0;transform:translateY(10px)rotate(-6deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes pebble-bob{50%{transform:translateY(-4px)}}@keyframes pebble-wave{50%{transform:rotate(18deg)}}@media (prefers-reduced-motion:reduce){.camera-pebble,.pebble-wave{animation:none}}.photo-tool .pebble-guide:hover{box-shadow:none;background:0 0}
