/* Worksheet Studio: compact, mobile-first creation flow. */
.studio{margin:-5px 0 0}
.studio-lead{margin:0 2px 12px;color:var(--muted);font-size:13px}
.studio-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:var(--shadow)}
.studio-upload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.studio-upload-head b{font-size:15px}
.studio-tip{display:block;color:var(--muted);font-size:11px;margin-top:1px}
.studio-count{flex:none;background:var(--emerald-l);color:var(--emerald-d);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}
.studio .btn-row{gap:8px}
.studio .btn-row .btn{min-height:44px;padding:10px 8px;font-size:13px}
.studio #ppGrid{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:10px;margin:10px -2px 0;padding:2px 2px 5px;scroll-snap-type:x proximity}
.studio #ppGrid:empty{display:none}
.studio #ppGrid>*{flex:0 0 auto;scroll-snap-align:start}
.studio-config{display:grid;grid-template-columns:106px minmax(0,1fr);gap:10px;margin-top:14px}
.studio-field{min-width:0}
.studio-field label,.studio-speed-label{display:block;color:var(--muted);font-size:11px;font-weight:700;margin:0 0 5px}
.studio-field .fi{height:44px;padding:9px 30px 9px 10px;font-size:13px;background-position:right 7px center}
.studio .seg button{min-height:44px;padding:8px 5px;font-size:12px}
.studio-mode-help{font-size:11px;color:var(--muted);margin:5px 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.studio-details{margin-top:10px;border:1px solid var(--border);border-radius:12px;background:#fff}
.studio-details summary{list-style:none;display:flex;align-items:center;min-height:44px;padding:9px 12px;cursor:pointer;color:var(--emerald-d);font-size:12px;font-weight:700}
.studio-details summary::-webkit-details-marker{display:none}
.studio-details summary::after{content:"+";margin-left:auto;font-size:18px;font-weight:400;color:var(--muted)}
.studio-details[open] summary::after{content:"−"}
.studio-details[open] summary{border-bottom:1px solid var(--border)}
.studio-details-body{padding:10px 12px 12px;color:var(--muted);font-size:11px;line-height:1.45}
.studio-details-body p{margin:0}
.studio-details .fi{min-height:72px;margin:0;padding:10px;font-size:13px}
.studio-details .studio-note-meta{display:flex;justify-content:space-between;margin-top:5px}
.studio-trust{background:#F3F7F5}
.studio-trust summary{color:var(--muted);font-weight:600}
.studio-speed{margin-top:12px}
.studio-speed .seg button:last-child{color:var(--emerald-d)}
.studio-speed .seg button.on:last-child{color:#fff}
.studio-action{position:sticky;z-index:12;bottom:calc(var(--tabh) + env(safe-area-inset-bottom) + 7px);margin:12px -4px 0;padding:6px 4px;background:linear-gradient(transparent 0,var(--cream) 22%)}
.studio-action .btn{box-shadow:0 8px 22px rgba(15,110,86,.18)}
.studio-action #ppStatus:empty,.studio-action #pErr:empty{display:none}
.studio-action #ppStatus{margin:0 4px 5px}
.studio-action #pErr{margin:0 4px 5px;text-align:center}
@media(max-width:350px){
  .studio-config{grid-template-columns:94px minmax(0,1fr);gap:7px}
  .studio .btn-row .btn{font-size:12px}
}
@media(max-height:620px){
  .studio-action{position:static}
}
@media(prefers-reduced-motion:reduce){
  .studio #ppGrid{scroll-behavior:auto}
}
/* Generated worksheet / notes result — compact mobile hierarchy. */
.wsprev{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff;height:280px;position:relative}
.wsprev iframe{width:794px;height:1122px;border:0;transform:scale(.42);transform-origin:top left;position:absolute;top:0;left:50%;margin-left:-167px;pointer-events:none}
.wsprev.tall{height:420px}
.wsprev.tall iframe{transform:scale(.58);margin-left:-230px}
.wsprev.tap{cursor:pointer}
.prevtap{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:4px;background:rgba(17,24,39,.78);color:#fff;font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;pointer-events:none;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.prevtap svg{width:13px;height:13px;stroke:#fff}
.fpwrap{position:relative;border:1px solid var(--border);border-radius:12px;overflow:auto;background:#fff;max-height:74vh;-webkit-overflow-scrolling:touch}
.fpinner{position:relative}
.fpframe{position:absolute;top:0;left:0;transform-origin:top left;border:0;background:#fff}
.review-hero{background:linear-gradient(135deg,#E4F6EC,#F8FBF7);border:1px solid #BFE6CD;border-radius:var(--r);padding:17px;margin-bottom:14px}
.review-hero-top{display:flex;align-items:flex-start;gap:11px}
.review-hero-icon{width:38px;height:38px;border-radius:50%;background:var(--ok);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.review-hero-icon svg{width:21px;height:21px;stroke:#fff}
.review-card{margin-bottom:16px;border-color:#DCD7CB;box-shadow:0 4px 16px rgba(27,43,36,.06)}
.review-card .wsprev{height:330px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.02)}
.review-card .prevtap{right:10px;bottom:10px;padding:6px 11px;font-size:12px}
.review-open{margin-top:12px}
.review-help{margin:6px 4px 0;text-align:center;color:var(--muted);font-size:11px}
.review-hero .review-help{text-align:left;margin:8px 0 0}
.review-context{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:12px;background:#fff}
.review-context>svg{width:18px;height:18px;flex:0 0 auto;margin-top:2px;color:var(--emerald)}
.review-context-copy{min-width:0;flex:1}
.review-context-copy b{display:block;font-size:13px}
.review-context-copy span{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.45}
.review-context .link,.review-autosave .link{border:0;background:none;font:inherit;cursor:pointer}
.review-context .link{min-height:36px!important;padding:4px!important;white-space:nowrap}
.review-receipt{margin-bottom:12px;border:1px solid var(--border);border-radius:12px;background:#fff}
.review-receipt summary{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 12px;cursor:pointer;list-style:none;font-size:13px;font-weight:700}
.review-receipt summary::-webkit-details-marker{display:none}
.review-receipt summary svg{width:18px;height:18px;color:var(--emerald)}
.review-receipt summary:after{content:'Details';margin-left:auto;color:var(--emerald-d);font-size:11px;font-weight:700}
.review-receipt[open] summary:after{content:'Hide'}
.review-receipt-body{padding:0 12px 11px 39px;color:var(--muted);font-size:11px;line-height:1.5}
.review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.review-card-title{font-family:'Fraunces',Georgia,serif;font-size:18px;font-weight:700;line-height:1.2}
.review-card-meta{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}
.review-actions-label{margin:14px 0 8px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.review-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.review-action{width:100%;min-height:64px;display:flex;align-items:center;gap:9px;padding:10px;text-align:left;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer}
.review-action:hover{border-color:#A9CFC0;background:#FBFEFC}
.review-action:disabled{opacity:.65;cursor:wait}
.review-action>svg{width:20px;height:20px;flex:0 0 auto;color:var(--emerald)}
.review-action>span{min-width:0}
.review-action strong{display:block;font-size:13px;line-height:1.2}
.review-action small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3}
.review-action.primary{border-color:var(--emerald);background:var(--emerald);color:#fff}
.review-action.primary>svg,.review-action.primary small{color:#fff}
.review-action.primary small{opacity:.82}
.review-named{display:flex;align-items:center;gap:10px;margin-top:10px;padding:11px 12px;border-radius:12px;background:var(--emerald-l)}
.review-named>svg{width:20px;height:20px;flex:0 0 auto;color:var(--emerald-d)}
.review-named-copy{min-width:0;flex:1}
.review-named-copy b{display:block;font-size:12px}
.review-named-copy span{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35}
.review-named .btn{width:auto;min-height:38px;flex:0 0 auto;padding:8px 11px}
.review-autosave{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:11px;color:var(--muted);font-size:10px}
.review-autosave svg{width:14px;height:14px;color:var(--emerald)}
.review-class-actions{margin-top:14px;padding:13px;border:1px solid var(--border);border-radius:14px;background:#fff}
.review-class-actions h3{margin:0 0 3px;font-size:14px}
.review-class-actions p{margin:0 0 10px;color:var(--muted);font-size:11px;line-height:1.45}
