:root{--background:#fff;--foreground:#1a1a1a}html,body{max-width:100vw}
:root{--bg-primary:#fff;--bg-secondary:#fafafa;--text-color:#1a1a1a;--text-secondary:#666;--link-color:#1a1a1a;--border-color:#ddd;--bg-light:#fafafa;--error-bg:#f8d7da;--error-border:#f5c6cb;--error-text:#721c24;--success-bg:#d4edda;--success-border:#c3e6cb;--success-text:#155724;--tooltip-bg:#1a1a1a;--tooltip-text:#fff;--bar-news-color:#999;--font-size:15px;--font-size-s:13px;--margin-s:5px;--margin-m:1rem;--margin-l:2rem;--margin-xl:4rem;--width-content:560px}[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#2a2a2a;--text-color:#f0f0f0;--text-secondary:#a0a0a0;--link-color:#f0f0f0;--border-color:#444;--bg-light:#2a2a2a;--error-bg:#4a2020;--error-border:#6a3030;--error-text:#f5a0a0;--success-bg:#1a3a1a;--success-border:#2a4a2a;--success-text:#a0e0a0;--tooltip-bg:#f0f0f0;--tooltip-text:#1a1a1a;--bar-news-color:#888}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-color);background-color:var(--bg-primary);font-feature-settings:"calt","kern","liga";font-variant-numeric:tabular-nums;font-variation-settings:normal;-webkit-font-smoothing:antialiased;font-family:Arial,Helvetica,sans-serif;font-size:var(--font-size);padding:var(--margin-l);padding-top:5rem;line-height:1.5}ul,ol{list-style-type:none}hr{border:none;border-top:1px solid var(--border-color);margin:0}h1{margin-bottom:var(--margin-m);font-size:2rem;font-weight:500;line-height:1.3}h2,h3,h4,h5,h6{margin-bottom:var(--margin-m);font-size:1rem;font-weight:500;line-height:1.4}h2{font-weight:600}.large-header{margin-top:var(--margin-l);margin-bottom:var(--margin-l);font-size:1.25rem}p{margin-bottom:var(--margin-s)}.transparent-text,.completed,.text-secondary{color:var(--text-secondary)}a{color:var(--link-color);text-decoration:underline}a:hover{text-decoration:none}nav{width:100%;padding:var(--margin-m)var(--margin-l);background-color:var(--bg-primary);z-index:1000;border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{flex:1;align-items:center;display:flex}.nav-brand h2{font-size:var(--font-size);margin:0;font-weight:500;line-height:1}.nav-brand a{color:var(--text-color);text-decoration:none}.nav-links{justify-content:center;align-items:center;gap:var(--margin-l);flex:2;display:flex}.nav-auth{justify-content:flex-end;align-items:center;gap:var(--margin-m);flex:1;display:flex}.nav-account{align-items:center;gap:.5rem;display:flex}.user-avatar{object-fit:cover;border-radius:50%;width:24px;height:24px}.user-avatar-fallback{background:var(--text-color);color:var(--bg-primary);justify-content:center;align-items:center;font-size:12px;font-weight:500;display:flex}nav a{color:var(--text-color);line-height:1;text-decoration:none}nav a:hover{text-decoration:underline}.burger-menu{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:none;position:relative}.burger-menu span{background:var(--text-color);width:100%;height:2px;display:block;position:absolute}.burger-menu span:first-child{transform:translateY(-6px)}.burger-menu span:nth-child(2){transform:translateY(0)}.burger-menu span:nth-child(3){transform:translateY(6px)}.burger-menu:active,.burger-menu:focus,.burger-menu:hover,.nav-open .burger-menu{background:0 0;border:none;outline:none}.nav-open .burger-menu span:first-child{transform:rotate(-45deg)}.nav-open .burger-menu span:nth-child(2){opacity:0}.nav-open .burger-menu span:nth-child(3){transform:rotate(45deg)}.mobile-menu-overlay{background:var(--bg-primary);z-index:1000;padding:5rem var(--margin-m);display:none;position:fixed;inset:0}.mobile-menu-overlay .nav-links,.mobile-menu-overlay .nav-auth{align-items:center;gap:var(--margin-l);flex-direction:column}.footer{margin-top:var(--margin-xl)}.footer-links{margin-bottom:var(--margin-m)}.footer-links a{margin-right:var(--margin-m);color:var(--text-color);text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-credit{margin-top:var(--margin-s);color:var(--text-secondary)}.footer-credit a{color:var(--text-secondary)}button,.login-button,.subscribe-button,.logout-button{color:var(--text-color);border:1px solid var(--text-color);cursor:pointer;font-size:var(--font-size);background:0 0;padding:.5rem 1rem;font-family:inherit;text-decoration:none;display:inline-block}button:hover,.login-button:hover,.subscribe-button:hover,.logout-button:hover{background:var(--text-color);color:var(--bg-primary)}.subscribe-button:disabled{opacity:.5;cursor:not-allowed}.submit-case p{margin-bottom:var(--margin-m)}.submit-case input[type=url],.submit-case textarea,.submit-case input[type=number],.submit-case input[type=text],.search-input{border:1px solid var(--border-color);width:100%;font-family:inherit;font-size:var(--font-size);background-color:var(--bg-primary);color:var(--text-color);padding:.5rem}.submit-case textarea{resize:vertical;min-height:80px}.search-container{margin-bottom:var(--margin-l);max-width:400px;position:relative}.suggestions-container{background-color:var(--bg-primary);border:1px solid var(--border-color);z-index:1000;margin-top:4px;position:absolute;top:100%;left:0;right:0}.suggestion-item{padding:var(--margin-s);cursor:pointer}.suggestion-item:hover{background-color:var(--bg-light)}.cases-table{border-collapse:collapse;max-width:1080px;margin-top:var(--margin-l);width:100%}.cases-table th,.cases-table td{border:none;border-bottom:1px solid var(--border-color);padding:var(--margin-m)var(--margin-m)var(--margin-m)0;text-align:left;vertical-align:top;font-weight:inherit}.cases-table tr:last-child td{border-bottom:none}.cases-table .description-cell{color:var(--text-secondary);max-width:300px;font-size:.9em}.text-muted{color:var(--text-secondary)}.pagination{justify-content:flex-start;align-items:center;gap:var(--margin-m);margin:var(--margin-m)0;display:flex}.pagination-bottom{margin-top:var(--margin-l);padding-top:var(--margin-m);border-top:1px solid var(--border-color)}.pagination button{min-width:100px}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination button:disabled:hover{color:var(--text-color);background:0 0}.pagination-info{color:var(--text-secondary);text-align:center;min-width:120px}.category-table-container{margin-top:var(--margin-m)}.login-prompt{border:1px solid var(--border-color);padding:var(--margin-m);max-width:var(--width-content)}.login-prompt p{margin-bottom:var(--margin-m);color:var(--text-secondary)}.consent-disclaimer{color:var(--text-secondary);margin-top:var(--margin-s);max-width:100%;margin-bottom:0}.login-block{margin-top:var(--margin-l);border:1px solid var(--border-color);padding:var(--margin-l);margin-right:var(--margin-m);margin-bottom:var(--margin-m);max-width:var(--width-content)}.account-block,.subscription-block,.profile-settings{border:1px solid var(--border-color);padding:var(--margin-l);max-width:var(--width-content)}.account-block p,.account-options li,.account-header{margin-bottom:var(--margin-m)}.account-email{color:var(--text-secondary);margin-bottom:var(--margin-s)}.account-actions{gap:var(--margin-s);flex-wrap:wrap;display:flex}.account-actions .separator{color:var(--text-secondary)}.profile-settings h2,.profile-section{margin-bottom:var(--margin-l)}.profile-section h3{margin-bottom:var(--margin-m);font-size:var(--font-size);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.form-group{margin-bottom:var(--margin-m)}.form-group label{margin-bottom:var(--margin-s);font-weight:500;display:block}.form-group input[type=text],.form-group input[type=url],.form-group input[type=email],.form-group textarea,.form-group select{border:1px solid var(--border-color);width:100%;font-size:var(--font-size);background-color:var(--bg-primary);color:var(--text-color);padding:.5rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--text-color);outline:none}.form-group textarea{resize:vertical;min-height:80px}.form-group small{margin-top:var(--margin-s);color:var(--text-secondary);font-size:var(--font-size-s);display:block}.form-row{gap:var(--margin-m);grid-template-columns:1fr 1fr;display:grid}@media (max-width:480px){.form-row{grid-template-columns:1fr}}.input-with-status{align-items:center;gap:var(--margin-s);display:flex}.input-with-status input{flex:1}.status-checking{color:var(--text-secondary);font-size:var(--font-size-s)}.status-available{color:var(--success-text);font-size:var(--font-size-s)}.status-taken{color:var(--error-text);font-size:var(--font-size-s)}.checkbox-group label{align-items:center;gap:var(--margin-s);cursor:pointer;font-weight:400;display:flex}.checkbox-group input[type=checkbox]{width:auto}.checkbox-group small{margin-left:1.5rem}.form-actions{margin-top:var(--margin-m)}.form-actions button{padding:.5rem 1.5rem}.App{max-width:1080px;margin:var(--margin-l);padding:var(--margin-l)}.studios-grid,.tags-columns{gap:var(--margin-m);margin-top:var(--margin-l);margin-bottom:var(--margin-s);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-width:1080px;display:grid}.studio-item{width:100%;margin-bottom:var(--margin-s)}.spotlight-grid{gap:var(--margin-l);margin-top:var(--margin-m);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.modal-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-primary);padding:var(--margin-l);max-width:var(--width-content);width:90%;position:relative}.modal-close{right:var(--margin-m);top:var(--margin-m);cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:0;font-size:1.5em;line-height:1;position:absolute}.modal-close:hover{color:var(--text-color)}.error-message,.success-message,.submit-case .submit-message{padding:var(--margin-m);margin-bottom:var(--margin-l)}.error-message,.submit-case .submit-message.error{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.success-message,.submit-case .submit-message.success{background-color:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.spotlight h2{text-align:left;margin-bottom:var(--margin-l)}.spotlight-description{max-width:var(--width-content);margin-bottom:var(--margin-l);color:var(--text-secondary)}.spotlight-case-link{opacity:0;width:100%;height:100%;display:block;position:absolute;top:0;left:0}.spotlight-case-link.active{opacity:1}.spotlight-case-image-container,.date-image-placeholder{display:block;position:relative;overflow:hidden}.spotlight-case-image,.date-image-placeholder img{object-fit:cover;width:100%;height:100%;display:block}.spotlight-section{margin-bottom:var(--margin-m)}.spotlight-section h2{margin-top:var(--margin-m);margin-bottom:var(--margin-s);font-size:1.25rem}.spotlight-case{margin-bottom:var(--margin-m)}.spotlight-case-info{margin-top:var(--margin-m)}.case-project-title{margin-top:var(--margin-m);margin-bottom:var(--margin-s)}.case-title{margin-top:var(--margin-m);margin-bottom:var(--margin-s);font-size:1rem;font-weight:500}.case-description{margin-top:var(--margin-m);margin-bottom:var(--margin-m);color:var(--text-secondary)}.date-group{margin-bottom:var(--margin-m);flex-direction:column;display:flex}.date-image-placeholder{padding-bottom:100%;position:relative}.date-group h3{margin:var(--margin-m)0}.date-group ul{margin:0;padding:0;list-style-type:none}.date-group li{margin-bottom:var(--margin-s)}.date-group li:last-child{margin-bottom:0}.tags-directory{max-width:1080px}.tag-item{break-inside:avoid;margin-bottom:var(--margin-s)}.tag-item a{color:var(--text-color);text-decoration:none;display:flex}.tag-name{margin-right:var(--margin-s)}.tag-item:hover a{text-decoration:underline}.tag-count{color:var(--text-secondary);margin-left:var(--margin-s)}.tag-section{margin-bottom:var(--margin-m)}.tag-section h2{margin-bottom:var(--margin-s);padding-bottom:var(--margin-s)}.section-description{color:var(--text-secondary);margin-bottom:var(--margin-l)}.case-tags,.case-tags a{color:var(--text-secondary)}.case-tags a:hover{text-decoration:underline}.loading-spinner{min-height:200px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.calendar-nav{align-items:center;gap:var(--margin-s);margin:var(--margin-l)0;display:flex}.calendar-arrow{border:1px solid var(--border-color);background:var(--bg-primary);cursor:pointer;justify-content:center;align-items:center;width:40px;height:70px;font-size:1.25rem;display:flex}.calendar-arrow:hover:not(:disabled){border-color:var(--text-color)}.calendar-arrow:disabled{opacity:.3;cursor:not-allowed}.calendar-picker-link{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.calendar-picker-link:hover{text-decoration:none}.calendar-picker-overlay{z-index:1000;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.calendar-picker{background:var(--bg-primary);border:1px solid var(--border-color);padding:var(--margin-m);min-width:280px}.picker-header{margin-bottom:var(--margin-m);justify-content:space-between;align-items:center;display:flex}.picker-header button{border:1px solid var(--border-color);cursor:pointer;background:0 0;width:32px;height:32px}.picker-header button:hover{border-color:var(--text-color)}.picker-selects{gap:var(--margin-s);display:flex}.picker-selects select{border:1px solid var(--border-color);font-size:var(--font-size);background-color:var(--bg-primary);color:var(--text-color);padding:.25rem .5rem;font-family:inherit}.picker-weekdays{text-align:center;margin-bottom:var(--margin-s);color:var(--text-secondary);font-size:var(--font-size-s);grid-template-columns:repeat(7,1fr);display:grid}.picker-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.picker-day{aspect-ratio:1;cursor:pointer;font-size:var(--font-size);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.picker-day:hover:not(.disabled):not(.empty){background:var(--bg-light)}.picker-day.active{background:var(--text-color);color:var(--bg-primary)}.picker-day.disabled{color:var(--border-color);cursor:not-allowed}.picker-day.empty{cursor:default}.archive-content{margin-top:var(--margin-l)}.archive-year-links{margin-bottom:var(--margin-l)}.year-link{font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.year-link:hover{text-decoration:none}.year-link.active{cursor:default;font-weight:700;text-decoration:none}.year-separator{color:var(--text-muted)}.archive-summary{gap:var(--margin-l);margin-bottom:var(--margin-m);font-size:var(--font-size-small);color:var(--text-muted);display:flex}.archive-loading,.archive-error{padding:var(--margin-l);text-align:center;color:var(--text-muted)}.archive-error{color:#c00}.bar-chart{margin-top:var(--margin-m)}.bar-chart-container{position:relative}.bar-chart-grid{pointer-events:none;position:absolute;inset:0}.bar-chart-grid-line{border-top:1px solid var(--bg-light);position:absolute;left:0;right:0}.bar-chart-grid-label{color:var(--text-muted);margin-right:8px;font-size:10px;position:absolute;top:-8px;right:100%}.bar-chart-bars{border-bottom:1px solid var(--border-color);align-items:flex-end;gap:1px;display:flex;position:relative}.bar-chart-yearly .bar-chart-bars{gap:0}.bar-chart-column{cursor:pointer;flex-direction:column;flex:1;align-items:center;min-width:1px;display:flex;position:relative}.bar-chart-column:hover .bar-segment{opacity:.7}.bar-chart-column:hover .bar-empty{background:var(--border-color)}.bar-chart-column.weekend{opacity:.5}.bar-chart-column:after{content:attr(data-tooltip);background:var(--tooltip-bg);color:var(--tooltip-text);white-space:nowrap;opacity:0;pointer-events:none;z-index:10;border-radius:2px;margin-bottom:4px;padding:4px 8px;font-size:11px;transition:opacity .15s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.bar-chart-column:hover:after{opacity:1}.bar-chart-stack{flex-direction:column;justify-content:flex-end;width:100%;display:flex}.bar-segment{width:100%;min-height:1px;transition:opacity .1s}.bar-cases{background:var(--text-color)}.bar-news{background:var(--bar-news-color)}.bar-empty{background:var(--bg-light);width:100%;height:1px;transition:background .1s}.bar-chart-months{height:20px;margin-top:var(--margin-s);position:relative}.bar-chart-month-label{color:var(--text-muted);white-space:nowrap;font-size:10px;position:absolute;transform:translate(0)}.bar-chart-legend{gap:var(--margin-l);margin-top:var(--margin-m);font-size:var(--font-size-small);display:flex}.legend-item{align-items:center;gap:var(--margin-s);display:flex}.legend-color{width:12px;height:12px}.legend-cases{background:var(--text-color)}.legend-news{background:var(--bar-news-color)}@media (min-width:1200px){.bar-chart-container,.bar-chart-bars{height:480px!important}}@media (max-width:768px){.bar-chart-container,.bar-chart-bars{height:150px!important}.bar-chart-grid-label{display:none}.bar-chart-month-label{font-size:8px}.bar-chart-column:after{padding:3px 6px;font-size:10px}}@media (max-width:480px){.archive-year-links{font-size:var(--font-size-small)}.archive-summary{gap:var(--margin-m);font-size:12px}.bar-chart-container,.bar-chart-bars{height:120px!important}.bar-chart-month-label{font-size:7px}.bar-chart-legend{gap:var(--margin-m);font-size:12px}.legend-color{width:10px;height:10px}}.five-day-calendar{gap:var(--margin-s);display:flex}.calendar-button{border:1px solid var(--border-color);background:var(--bg-primary);cursor:pointer;width:70px;height:70px;padding:var(--margin-s);color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;font-family:inherit;display:flex}.calendar-button:hover{border-color:var(--text-color)}.calendar-button.active{background:var(--text-color);color:var(--bg-primary);border-color:var(--text-color)}.date-weekday{font-size:var(--font-size-s);text-transform:uppercase}.active .date-weekday{color:var(--bg-primary)}.date-number{margin:2px 0;font-size:1.25rem}.date-month{text-transform:uppercase;font-size:var(--font-size-s)}.active .date-month{color:var(--bg-primary)}.studio-item{align-items:center;gap:8px;display:flex}.studio-icon{object-fit:contain;vertical-align:middle;width:16px;height:16px;margin-right:8px}.studio-item a{align-items:center;min-width:0;max-width:100%;display:flex;overflow:hidden}.studio-icon-placeholder{border:1px solid var(--border-color);background:var(--bg-light);width:16px;height:16px;margin-right:8px}.studio-description{margin-top:var(--margin-m);margin-bottom:var(--margin-l);max-width:var(--width-content);color:var(--text-secondary)}.studio-meta{align-items:center;gap:2px;display:flex}.studio-meta a{align-items:center;gap:2px;margin-bottom:2px;display:inline-flex}.sicon{opacity:.85;flex-shrink:0;width:15px;height:15px;margin-right:4px}.studio-location{color:var(--text-secondary);font-size:var(--font-size-s)}.studio-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sort-controls{gap:var(--margin-s);margin-bottom:var(--margin-xl);flex-wrap:wrap;display:flex}.sort-controls button,.sort-controls a{border:1px solid var(--border-color);color:var(--text-color);background:0 0;padding:.5rem 1rem;text-decoration:none}.sort-controls button.active,.sort-controls a.active{background:var(--text-color);color:var(--bg-primary);border-color:var(--text-color)}.sort-controls .back-link{background:0 0;border:none;padding:.5rem 0}.sort-controls .back-link:hover{text-decoration:underline}.studios-intro{color:var(--text-secondary);margin-bottom:var(--margin-l);max-width:var(--width-content)}.studios-invite{color:var(--text-secondary);margin-top:var(--margin-l);max-width:var(--width-content)}.breadcrumbs{align-items:center;gap:var(--margin-s);margin-bottom:var(--margin-m);font-size:var(--font-size-s);color:var(--text-secondary);display:flex}.breadcrumbs a{color:var(--text-color)}.breadcrumbs .separator{color:var(--text-secondary)}.breadcrumbs span:last-child{color:var(--text-color)}.count-badge{font-size:var(--font-size-s);color:var(--text-secondary);margin-left:var(--margin-s)}.badge-new{background:var(--text-color);color:var(--bg-primary);font-size:var(--font-size-s);margin-left:var(--margin-s);padding:2px 6px;display:inline-block}.studios-by-location{margin-top:var(--margin-l)}.location-group{margin-bottom:var(--margin-l)}.location-header{margin-top:var(--margin-m);margin-bottom:var(--margin-m);border-bottom:1px solid var(--border-color);padding-bottom:var(--margin-m);font-size:1.25rem}.location-header a{color:inherit;text-decoration:none}.location-header a:hover{text-decoration:underline}.about-section,.faq-section{max-width:var(--width-content)}.about-section{margin-top:var(--margin-xl);margin-bottom:var(--margin-xl)}.about-section p,.faq-section p{color:var(--text-secondary);margin-bottom:1rem}.about-heading{margin-top:var(--margin-xl);margin-bottom:var(--margin-l)}.faq-section h3{margin-top:1.5rem;margin-bottom:.5rem}.privacy{max-width:720px}.article-with-toc{grid-template-columns:1fr 240px;gap:3rem;max-width:80rem;display:grid;position:relative}.article-with-toc .article-content{max-width:38rem;padding:0}.toc-sidebar{border:1px solid var(--border-color);height:fit-content;padding:var(--margin-m);align-self:start;position:sticky;top:6rem}.toc-sidebar h2{margin-top:0;margin-bottom:var(--margin-m);font-size:var(--font-size-s);text-transform:uppercase;font-weight:500}.toc-sidebar ol{margin:0;padding:0;line-height:1.6;list-style:none}.toc-sidebar ol li{counter-increment:item;margin-bottom:.5rem}.toc-sidebar ol li:before{content:counter(item)". ";color:var(--text-secondary);margin-right:.25rem}.toc-sidebar ol{counter-reset:item}.toc-sidebar a{color:var(--text-color);font-size:var(--font-size-s);text-decoration:none}.toc-sidebar a:hover{text-decoration:underline}.privacy h1{margin-bottom:var(--margin-l)}.privacy h2{margin-top:var(--margin-l);margin-bottom:var(--margin-m);font-size:1rem;font-weight:500}.privacy section{margin-bottom:var(--margin-l)}.privacy p{margin-bottom:var(--margin-m)}.privacy ul{margin-left:var(--margin-l);margin-bottom:var(--margin-m);list-style-type:disc}.privacy ul li{margin-bottom:var(--margin-s)}.privacy hr{border:none;border-top:1px solid var(--border-color);margin:var(--margin-l)0}.privacy code{background-color:var(--bg-light);padding:2px 4px;font-family:ui-monospace,SF Mono,monospace;font-size:.9em}.privacy strong{font-weight:500}.privacy details{margin-top:var(--margin-m);margin-bottom:var(--margin-m);border:1px solid var(--border-color);padding:var(--margin-m)}.privacy details summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;position:relative}.privacy details summary::-webkit-details-marker{display:none}.privacy details summary:after{content:"+";position:absolute;right:0}.privacy details[open] summary:after{content:"−"}.privacy details[open] summary{margin-bottom:var(--margin-m)}.privacy .details-content{margin-top:var(--margin-m);padding-top:var(--margin-m);border-top:1px solid var(--border-color)}.privacy .details-content p{margin-bottom:var(--margin-s)}.privacy .checklist-section{border:1px solid var(--border-color);padding:var(--margin-l);margin-top:var(--margin-l);margin-bottom:var(--margin-l)}.privacy .checklist-section h2{margin-top:0;margin-bottom:var(--margin-m)}.privacy .checklist-section h2.checklist-section-divider{margin-top:var(--margin-xl);margin-bottom:var(--margin-m)}.privacy .checklist-intro{color:var(--text-secondary);margin-bottom:var(--margin-l)}.privacy .checklist-group{margin-bottom:var(--margin-m)}.privacy .checklist-group:last-child{margin-bottom:0}.privacy .checklist-group h3{margin-bottom:var(--margin-m);font-size:1em}.privacy ul.checklist{margin-bottom:0;margin-left:0;list-style-type:none}.privacy ul.checklist li{margin-bottom:var(--margin-m);align-items:flex-start;display:flex}.privacy ul.checklist li:last-child{margin-bottom:0}.privacy ul.checklist input[type=checkbox]{margin-right:var(--margin-m);margin-top:3px}.privacy .checklist-subitem{margin-left:var(--margin-l);color:var(--text-secondary);font-size:.95em;display:inline-block}.roadmap-list li{margin-bottom:var(--margin-s);display:block}.tech-stack-section{max-width:var(--width-content)}.tech-stack-grid{gap:var(--margin-s);flex-wrap:wrap;display:flex}.tech-stack-item{padding:var(--margin-m);border:1px solid var(--border-color);flex-direction:column;min-width:120px;display:flex}.tech-tag{font-weight:500}.tech-category{font-size:var(--font-size-s);color:var(--text-secondary);text-transform:capitalize}.text-center{text-align:center}.mt-1{margin-top:var(--margin-m)}.mt-2{margin-top:var(--margin-l)}.mt-3{margin-top:var(--margin-xl)}.mb-1{margin-bottom:var(--margin-m)}.mb-2{margin-bottom:var(--margin-l)}.mb-3{margin-bottom:var(--margin-xl)}.go-back-link{margin-bottom:var(--margin-m);display:block}.case-detail-page{max-width:1080px;padding-top:var(--margin-l)}.case-meta-top{margin-bottom:var(--margin-m)}.case-meta-top p{margin-bottom:0}.case-meta-top strong{font-weight:500}.case-detail-grid{gap:var(--margin-xl);grid-template-columns:1fr 480px;align-items:start;display:grid}.case-detail-gallery{place-self:start end;height:fit-content;position:sticky;top:2rem}.case-gallery{width:480px}.case-hero-image{background:var(--bg-light);border-radius:8px;width:100%;overflow:hidden}.case-hero-cover{aspect-ratio:1}.case-hero-gallery{aspect-ratio:auto}.case-gallery-thumbnails{gap:var(--margin-s);margin-top:var(--margin-m);padding-bottom:var(--margin-s);display:flex;overflow-x:auto}.case-gallery-thumb{cursor:pointer;opacity:.6;background:var(--bg-light);border:none;border-radius:4px;flex-shrink:0;width:80px;height:80px;padding:0;transition:opacity .2s;overflow:hidden}.case-gallery-thumb:hover,.case-gallery-thumb.active{opacity:1}.case-gallery-thumb.active{outline:2px solid var(--text-color);outline-offset:2px}.case-save-action{margin:var(--margin-m)0}.case-info h1{margin-bottom:var(--margin-s)}.case-hook{color:var(--text-secondary);margin-bottom:var(--margin-m);font-size:1.1rem;font-style:italic}.case-insights{margin-top:var(--margin-l);padding:var(--margin-m);background:var(--bg-light);border-radius:4px}.case-insights strong{margin-bottom:var(--margin-s);font-weight:500;display:block}.case-insights ul{margin-left:var(--margin-m);color:var(--text-secondary);list-style:outside}.case-insights li{margin-bottom:var(--margin-s)}.case-insights li:last-child{margin-bottom:0}.case-press{margin-top:var(--margin-l)}.case-press strong{margin-bottom:var(--margin-s);font-weight:500;display:block}.case-press ul{list-style:none}.case-press li,.case-meta p{margin-bottom:var(--margin-s)}.case-meta strong{font-weight:500}@media (max-width:900px){.case-detail-grid{gap:var(--margin-l);grid-template-columns:1fr}.case-detail-content{order:2;position:static}.case-detail-gallery{order:1;justify-self:stretch;position:static}.case-gallery{width:100%;max-width:100%}}@media (max-width:480px){.case-gallery-thumb{width:60px;height:60px}}@media (max-width:1200px){.spotlight-grid{grid-template-columns:repeat(3,1fr)}.article-with-toc{grid-template-columns:1fr;max-width:38rem}.toc-sidebar{margin-bottom:var(--margin-l);order:-1;position:relative;top:0}}@media (max-width:900px){.spotlight-grid{grid-template-columns:repeat(2,1fr)}body{padding:var(--margin-m);padding-top:5rem}}@media (max-width:768px){nav{padding:var(--margin-m)}.nav-brand{flex:1}.burger-menu{margin-left:auto;display:flex}.nav-links,.nav-auth{display:none}.nav-open .mobile-menu-overlay{flex-direction:column;justify-content:center;align-items:center;display:flex}.nav-open .mobile-menu-overlay .nav-links,.nav-open .mobile-menu-overlay .nav-auth{display:flex}}@media (max-width:600px){.five-day-calendar{gap:4px}.calendar-button{width:60px;height:60px}.calendar-arrow{width:32px;height:60px}}@media (max-width:480px){.calendar-button{width:50px;height:50px;padding:4px}.calendar-arrow{width:28px;height:50px;font-size:1rem}}@media (max-width:420px){nav{padding:var(--margin-m)}.spotlight-grid{gap:var(--margin-m);grid-template-columns:1fr}.studios-grid,.tags-columns{gap:var(--margin-m);grid-template-columns:repeat(2,1fr)}.date-group{width:100%}.App{margin:var(--margin-m);padding:var(--margin-m)}.footer-links{gap:var(--margin-m);flex-direction:column}}@media (max-width:360px){body{padding:var(--margin-s);padding-top:5rem}.calendar-nav{gap:2px}.calendar-button{width:42px;height:42px;padding:2px}.calendar-arrow{width:24px;height:42px;font-size:.875rem}.date-weekday,.date-month{font-size:10px}.date-number{font-size:12px}}.mobile-cta-bar{display:none}@media (max-width:768px){.mobile-cta-bar{z-index:900;background:var(--bg-primary);border-top:1px solid var(--border-color);padding:var(--margin-m);gap:var(--margin-m);align-items:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-cta-content{flex:1;min-width:0}.mobile-cta-text{font-size:var(--font-size-s);color:var(--text-secondary);margin-bottom:var(--margin-s)}.mobile-cta-button{background:var(--text-color);width:100%;color:var(--bg-primary);border:1px solid var(--text-color);text-align:center;font-size:var(--font-size);padding:.625rem 1rem;font-family:inherit;text-decoration:none;display:block}.mobile-cta-dismiss{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.25rem;line-height:1}body:has(.mobile-cta-bar){padding-bottom:100px}}.quick-access-links{display:none}@media (max-width:768px){.quick-access-links{gap:var(--margin-s);margin-bottom:var(--margin-l);flex-wrap:wrap;display:flex}.quick-access-link{border:1px solid var(--border-color);min-width:0;padding:var(--margin-m);color:var(--text-color);flex:1 1 0;text-decoration:none}.quick-access-link:hover{border-color:var(--text-color)}.quick-access-link-title{margin-bottom:2px;font-weight:500}.quick-access-link-desc{font-size:var(--font-size-s);color:var(--text-secondary)}}.CookieConsent{box-shadow:0 -1px 3px #0000000d}.CookieConsent a{text-decoration:underline}.CookieConsent a:hover{text-decoration:none}#rcc-confirm-button:hover{background:var(--text-color)!important;color:var(--bg-primary)!important}@media (max-width:480px){.CookieConsent{gap:.75rem;flex-direction:column!important;padding:1rem!important}#rcc-confirm-button{width:100%;margin-left:0!important}}.theme-toggle{align-items:center;display:flex;position:relative}.theme-toggle-button{border:1px solid var(--border-color);cursor:pointer;width:32px;height:32px;color:var(--text-color);background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle-button:hover{border-color:var(--text-color);color:var(--text-color);background:0 0}.theme-toggle-button svg{width:18px;height:18px}.theme-toggle-menu{background:var(--bg-primary);border:1px solid var(--border-color);z-index:1000;min-width:120px;margin-top:4px;position:absolute;top:100%;right:0}.theme-toggle-option{align-items:center;gap:var(--margin-s);width:100%;padding:var(--margin-s)var(--margin-m);cursor:pointer;color:var(--text-color);font-size:var(--font-size);text-align:left;background:0 0;border:none;font-family:inherit;display:flex}.theme-toggle-option:hover{background:var(--bg-light);color:var(--text-color)}.theme-toggle-option.active{font-weight:500}.theme-toggle-option svg{flex-shrink:0;width:16px;height:16px}@media (max-width:768px){.theme-toggle{margin-top:var(--margin-m)}.theme-toggle-menu{margin-top:var(--margin-s);background:0 0;border:none;position:static}.theme-toggle-option{justify-content:center}}.spotlight-case-image-wrapper{position:relative}.save-button{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;opacity:0;z-index:10;width:36px;height:36px;color:var(--text-color);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background .15s,border-color .15s;display:flex;position:absolute;top:12px;right:12px}.save-button:hover{background:var(--bg-primary);border-color:var(--text-color);color:var(--text-color)}.spotlight-case:hover .save-button,.spotlight-case-image-wrapper:hover .save-button,.case-group:hover .save-button,.save-button:focus{opacity:1}.save-button.saved{opacity:1;background:var(--text-color);border-color:var(--text-color);color:var(--bg-primary)}.save-button.saved:hover{background:var(--bg-primary);color:var(--text-color)}.save-button-small{width:28px;height:28px;top:8px;right:8px}.save-button:disabled{opacity:.5;cursor:not-allowed}.collections-grid{gap:var(--margin-l);margin-top:var(--margin-l);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.collection-card{border:1px solid var(--border-color);background:var(--bg-primary);position:relative;overflow:hidden}.collection-card-edit{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;opacity:0;z-index:10;width:32px;height:32px;color:var(--text-color);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:8px;right:8px}.collection-card:hover .collection-card-edit{opacity:1}.collection-card-edit:hover{background:var(--text-color);color:var(--bg-primary);border-color:var(--text-color)}.collection-card-link{color:inherit;text-decoration:none;display:block}.collection-card-cover{aspect-ratio:1;background:var(--bg-light);justify-content:center;align-items:center;display:flex;position:relative}.collection-cover-image{object-fit:cover}.collection-cover-placeholder{color:var(--text-secondary)}.collection-card-info{padding:var(--margin-m)}.collection-card-title{font-size:var(--font-size);margin-bottom:var(--margin-s);align-items:center;gap:var(--margin-s);font-weight:500;display:flex}.collection-card-count,.collection-card-owner{color:var(--text-secondary);font-size:var(--font-size-s);margin-bottom:0}.collection-card:hover{border-color:var(--text-color)}.badge-default{background:var(--bg-light);color:var(--text-secondary);font-size:var(--font-size-s);padding:2px 6px;font-weight:400;display:inline-block}.empty-collections,.empty-collection{text-align:center;padding:var(--margin-xl)var(--margin-l);max-width:400px;margin:0 auto}.empty-collection-icon{color:var(--text-secondary);margin-bottom:var(--margin-m)}.empty-collection h3{margin-bottom:var(--margin-s)}.browse-link{margin-top:var(--margin-m);display:inline-block}.save-modal{max-width:400px}.save-modal h2{margin-bottom:var(--margin-m)}.save-modal-status{color:var(--success-text);font-size:var(--font-size-s);margin-bottom:var(--margin-m)}.save-modal-footer{margin-top:var(--margin-l);padding-top:var(--margin-m);border-top:1px solid var(--border-color)}.done-button{background:var(--text-color);width:100%;color:var(--bg-primary);border:1px solid var(--text-color);padding:.75rem 1rem}.done-button:hover{color:var(--text-color);background:0 0}.save-modal-collections{max-height:400px;overflow-y:auto}.collection-list{margin-bottom:var(--margin-m)}.collection-list-item{border-bottom:1px solid var(--border-color)}.collection-list-item:last-child{border-bottom:none}.collection-list-item.updating{opacity:.6}.collection-list-item.updating .collection-checkbox{cursor:wait}.collection-checkbox{align-items:center;gap:var(--margin-m);padding:var(--margin-m)0;cursor:pointer;font-weight:400;display:flex}.collection-checkbox input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.collection-name{align-items:center;gap:var(--margin-s);flex:1;display:flex}.collection-count{color:var(--text-secondary);font-size:var(--font-size-s)}.create-collection-form{margin-top:var(--margin-m)}.create-collection-form input{width:100%;padding:var(--margin-s);border:1px solid var(--border-color);font-size:var(--font-size);background:var(--bg-primary);color:var(--text-color);margin-bottom:var(--margin-m);font-family:inherit}.create-collection-form input:focus{border-color:var(--text-color);outline:none}.create-collection-actions{gap:var(--margin-s);justify-content:flex-end;display:flex}.create-collection-button{text-align:center;width:100%;padding:var(--margin-m);border:1px dashed var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0}.create-collection-button:hover{border-color:var(--text-color);color:var(--text-color);background:0 0}.cancel-button{border:1px solid var(--border-color);color:var(--text-color);background:0 0}.cancel-button:hover{background:var(--bg-light);color:var(--text-color)}.delete-button{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.delete-button:hover{background:var(--error-border);color:var(--error-text)}.delete-button-link{color:var(--error-text);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.delete-button-link:hover{color:var(--error-text);background:0 0;text-decoration:none}.form-actions-right{gap:var(--margin-s);margin-left:auto;display:flex}.delete-confirm{text-align:center}.delete-confirm p{margin-bottom:var(--margin-m)}.create-collection-modal,.edit-collection-modal{max-width:480px}.saved-page{max-width:1080px}.saved-page-header{margin-bottom:var(--margin-l);justify-content:space-between;align-items:center;display:flex}.saved-page-header h1{margin-bottom:0}.collection-page{max-width:1080px}.collection-header{margin-bottom:var(--margin-l)}.collection-header h1{margin-bottom:var(--margin-s)}.collection-description{color:var(--text-secondary);max-width:var(--width-content);margin-bottom:var(--margin-m)}.collection-meta{gap:var(--margin-m);color:var(--text-secondary);font-size:var(--font-size-s);margin-bottom:var(--margin-m);display:flex}.collection-actions{gap:var(--margin-s);display:flex}.user-collections-page{max-width:1080px}.user-collections-header{margin-bottom:var(--margin-l)}.user-collections-header h1{margin-bottom:var(--margin-s)}@media (max-width:768px){.collections-grid{gap:var(--margin-m);grid-template-columns:repeat(2,1fr)}.save-button{opacity:1;width:32px;height:32px;top:8px;right:8px}.saved-page-header{align-items:flex-start;gap:var(--margin-m);flex-direction:column}}@media (max-width:480px){.collections-grid{grid-template-columns:1fr}.save-button{width:28px;height:28px}}.case-actions{gap:var(--margin-s);flex-wrap:wrap;display:flex}.save-to-collection-button{align-items:center;gap:var(--margin-s);border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;font-size:var(--font-size);background:0 0;padding:.5rem 1rem;font-family:inherit;display:inline-flex}.save-to-collection-button:hover{border-color:var(--text-color);background:var(--text-color);color:var(--bg-primary)}.save-to-collection-button svg{flex-shrink:0}.pricing-page{max-width:900px}.pricing-page h1{margin-bottom:var(--margin-s)}.billing-toggle{gap:var(--margin-s);margin-bottom:var(--margin-l);display:flex}.billing-toggle button{border:1px solid var(--border-color);cursor:pointer;font-size:var(--font-size);color:var(--text-color);background:0 0;padding:.5rem 1rem;font-family:inherit}.billing-toggle button.active{background:var(--text-color);color:var(--bg-primary);border-color:var(--text-color)}.billing-save{opacity:.8;font-size:12px}.pricing-grid{margin-bottom:var(--margin-l);grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.pricing-card{border:1px solid var(--border-color);flex-direction:column;padding:24px;display:flex;position:relative}.pricing-card.highlighted{border-color:var(--text-color);border-width:2px}.pricing-card.current{background:var(--bg-secondary)}.current-plan-badge{background:var(--text-color);color:var(--bg-primary);padding:2px 12px;font-size:12px;font-weight:600;position:absolute;top:-12px;left:24px}.pricing-card h2{margin-bottom:4px;font-size:20px}.pricing-card-description{color:var(--text-secondary);font-size:var(--font-size-s);margin-bottom:16px}.pricing-price{margin-bottom:20px}.price-amount{font-size:32px;font-weight:700}.price-period{color:var(--text-secondary);font-size:var(--font-size)}.price-monthly-equivalent{font-size:var(--font-size-s);color:var(--text-secondary);margin-top:2px;display:block}.pricing-features{flex:1;margin:0 0 24px;padding:0;list-style:none}.pricing-features li{font-size:var(--font-size-s);color:var(--text-secondary);padding:4px 0}.pricing-features li:before{content:"✓";color:var(--text-color);margin-right:8px}.pricing-button{border:1px solid var(--border-color);cursor:pointer;width:100%;font-size:var(--font-size);text-align:center;color:var(--text-color);background:0 0;padding:10px;font-family:inherit;text-decoration:none;display:block}.pricing-button-subscribe{background:var(--text-color);color:var(--bg-primary);border-color:var(--text-color)}.pricing-button-subscribe:hover{opacity:.9}.pricing-button-subscribe:disabled{opacity:.5;cursor:not-allowed}.pricing-button-current{cursor:default;opacity:.6}.pricing-error{color:#c0392b;text-align:center;margin-bottom:var(--margin-m)}.pricing-manage-link{margin-top:var(--margin-m)}.pricing-studio-section{margin-top:var(--margin-xl);padding-top:var(--margin-xl);border-top:1px solid var(--border-color)}.pricing-studio-section .pricing-card{max-width:560px}.pricing-studio-section .pricing-features{margin-bottom:20px}.upgrade-prompt{border-color:var(--text-color)}.payment-success{max-width:560px}.success-unlocked{border:1px solid var(--border-color);margin-top:24px;padding:20px 24px}.success-unlocked-title{margin-bottom:12px;font-weight:600}.success-features{margin:0;padding:0;list-style:none}.success-features li{font-size:var(--font-size-s);color:var(--text-secondary);padding:4px 0}.success-features li:before{content:"✓";color:var(--text-color);margin-right:8px}.success-actions{gap:12px;margin-top:24px;display:flex}.success-button{border:1px solid var(--border-color);font-size:var(--font-size);color:var(--text-color);padding:10px 24px;text-decoration:none}.success-button-primary{background:var(--text-color);color:var(--bg-primary);border-color:var(--text-color)}@media (max-width:768px){.pricing-grid{grid-template-columns:1fr}.success-actions{flex-direction:column}.success-button{text-align:center}}
