:root{--color-bg: #ffffff;--color-fg: #000000;--color-muted: #6b6b6b;--color-border: #e2e2e2;--color-surface: #f6f6f6;--color-locked: #9b9b9b;--font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-body: 16px;--fs-heading: 22px;--fs-small: 13px;--space-1: 8px;--space-2: 16px;--space-3: 24px;--touch-min: 56px;--tabbar-height: 64px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:var(--font-base);font-size:var(--fs-body);line-height:1.5;color:var(--color-fg);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1{font-size:var(--fs-heading);font-weight:700;margin:0 0 var(--space-2)}button{min-height:var(--touch-min);font-size:var(--fs-body);font-family:inherit;border:1px solid var(--color-fg);background:var(--color-fg);color:var(--color-bg);border-radius:12px;padding:0 var(--space-3);cursor:pointer}button.secondary{background:var(--color-bg);color:var(--color-fg)}a{color:var(--color-fg)}.app-shell{display:flex;flex-direction:column;min-height:100%;max-width:480px;margin:0 auto}.app-content{flex:1;padding:var(--space-2);padding-bottom:calc(var(--tabbar-height) + var(--space-2))}.tabbar{position:fixed;bottom:0;left:0;right:0;height:var(--tabbar-height);max-width:480px;margin:0 auto;display:flex;border-top:1px solid var(--color-border);background:var(--color-bg)}.tabbar a{flex:1;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--color-muted);font-size:var(--fs-small)}.tabbar a.active{color:var(--color-fg);font-weight:700}.screen-stub{border:1px dashed var(--color-border);border-radius:12px;padding:var(--space-3);background:var(--color-surface)}.screen-stub .screen-id{font-size:var(--fs-small);color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase}.screen-stub .screen-todo{margin-top:var(--space-2);font-size:var(--fs-small);color:var(--color-muted)}.field{display:block;margin-bottom:var(--space-2)}.field>span{display:block;font-size:var(--fs-small);color:var(--color-muted);margin-bottom:var(--space-1)}input[type=tel],input[type=text],input[type=search],input[type=number]{width:100%;min-height:var(--touch-min);font-size:var(--fs-body);font-family:inherit;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg);color:var(--color-fg)}input:focus{outline:2px solid var(--color-fg);outline-offset:-1px}.checkbox{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--fs-small);cursor:pointer}.checkbox input{width:22px;height:22px}.hint{font-size:var(--fs-small);color:var(--color-muted);margin:0 0 var(--space-2)}.form-error{color:#b00020;font-size:var(--fs-small);margin:0 0 var(--space-2)}form button{width:100%;margin-top:var(--space-1)}form button+button{margin-top:var(--space-2)}.auth-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-2)}.auth-card{width:100%;max-width:360px}.page-header{margin-bottom:var(--space-3)}.greeting{margin:0;color:var(--color-muted);font-size:var(--fs-small)}.card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.card{display:block;text-decoration:none;color:inherit;border:1px solid var(--color-border);border-radius:12px;padding:var(--space-2);background:var(--color-bg)}.card-main{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-2)}.card-title{font-size:var(--fs-body);font-weight:700}.card-sub{font-size:var(--fs-small)}.muted{color:var(--color-muted)}.workshop-card .progress{margin-bottom:0}.back-link{display:inline-block;margin-bottom:var(--space-2);color:var(--color-muted);font-size:var(--fs-small);text-decoration:none}.status{align-self:flex-start;font-size:var(--fs-small);font-weight:600}.status-completed,.status-current{color:var(--color-fg)}.status-locked{color:var(--color-locked)}.card-locked{color:var(--color-locked);background:var(--color-surface);cursor:default}.card-locked .card-title{color:var(--color-locked)}.step-group{margin-bottom:var(--space-3)}.step-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.step-group-head h2{margin:0;font-size:var(--fs-body)}.step-row{display:flex;align-items:center;gap:var(--space-2)}.step-icon{font-size:var(--fs-body);line-height:1}.step-row .card-title{flex:1}.step-lock{font-size:var(--fs-small);color:var(--color-locked)}.video-frame{position:relative;width:100%;background:#000;border-radius:12px;overflow:hidden;margin-bottom:var(--space-2)}.video-frame video{display:block;width:100%}.video-watermark{position:absolute;right:8px;bottom:8px;color:#fff9;font-size:var(--fs-small);pointer-events:none}.techcard-photo{display:block;width:100%;border-radius:12px;margin-bottom:var(--space-2)}.techcard-section{margin-bottom:var(--space-3)}.techcard-section h2{font-size:var(--fs-body);margin:0 0 var(--space-1)}.techcard-section ul,.techcard-section ol{margin:0;padding-left:var(--space-3)}.techcard-section li{margin-bottom:var(--space-1)}.option-list{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.option{display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-2);cursor:pointer}.option-selected{border-color:var(--color-fg);background:var(--color-surface)}.answer-text{width:100%;border:1px solid var(--color-border);border-radius:12px;padding:var(--space-2);font:inherit;margin-bottom:var(--space-2);resize:vertical}.feedback{font-size:var(--fs-small);font-weight:600;margin:var(--space-2) 0}.feedback.bad{color:var(--color-muted)}.error-text{color:var(--color-muted);font-size:var(--fs-small);margin:var(--space-1) 0}.media-upload{margin-bottom:var(--space-2)}.submission-status{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:var(--space-2) 0}.link{color:var(--color-fg);font-size:var(--fs-small)}.media-preview{margin-bottom:var(--space-2)}.media-preview-img{display:block;width:100%;border-radius:12px;margin-bottom:var(--space-1)}.verdict-comment,.reshoot{margin:var(--space-3) 0}.verdict-comment h2,.reshoot h2{font-size:var(--fs-body);margin:0 0 var(--space-1)}.search{width:100%;border:1px solid var(--color-border);border-radius:12px;padding:var(--space-2);font:inherit;margin-bottom:var(--space-2)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-3)}.chip{width:auto;padding:6px 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg);color:var(--color-fg);font-size:var(--fs-small);cursor:pointer}.chip-active{background:var(--color-fg);color:var(--color-bg);border-color:var(--color-fg)}.verdict-actions{margin-top:var(--space-2)}.button-row{display:flex;gap:var(--space-2)}.button-row button{flex:1}.editor-row{display:flex;align-items:center;gap:var(--space-2)}.editor-row-main{flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);text-decoration:none;color:inherit}.reorder{display:flex;gap:4px}.icon-btn{width:40px;flex:0 0 auto;padding:6px}.add-row{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.add-row input{flex:1}.add-row button{width:auto;flex:0 0 auto}.opt-edit{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.opt-edit input[type=text],.opt-edit input:not([type]){flex:1}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-3)}.stat{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:12px;padding:var(--space-2)}.stat-value{font-size:var(--fs-heading);font-weight:700}.stat-label{font-size:var(--fs-small);color:var(--color-muted)}.section-title{font-size:var(--fs-body);margin:var(--space-3) 0 var(--space-1)}.invite-link{display:block;word-break:break-all;margin:0 0 var(--space-3);color:var(--color-fg);font-size:var(--fs-small)}.progress{height:8px;border-radius:999px;background:var(--color-surface);overflow:hidden}.progress-fill{height:100%;background:var(--color-fg);transition:width .3s ease}.profile{margin:0 0 var(--space-3)}.profile>div{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.profile dt{color:var(--color-muted);font-size:var(--fs-small)}.profile dd{margin:0;font-weight:700}.spinner-full{min-height:60vh;display:flex;align-items:center;justify-content:center}.spinner-inline{display:flex;justify-content:center;padding:var(--space-3)}.spinner{width:28px;height:28px;border:3px solid var(--color-border);border-top-color:var(--color-fg);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-view{text-align:center;padding:var(--space-3);color:var(--color-muted)}.error-view button{margin-top:var(--space-2)}
