:root{--primary: #5a37e0;--primary-hover: #4a2bc8;--primary-soft: #e9e5fb;--secondary: #3a5bdc;--accent: #11a7e6;--success: #15924a;--success-soft: #e3f4ea;--warning: #d9620a;--warning-soft: #fbeede;--danger: #d62b2b;--danger-soft: #fae6e5;--bg: #e9eaf6;--surface: #ffffff;--surface-2: #f1f0fb;--border: #d7d8ea;--border-strong: #bfc0db;--text: #161a3e;--muted: #565d7a;--gradient-brand: linear-gradient(135deg, #6d4bf0 0%, #5a37e0 40%, #11a7e6 120%);--gradient-brand-soft: linear-gradient(135deg, rgba(90, 55, 224, .14), rgba(17, 167, 230, .12));--radius: 16px;--radius-sm: 10px;--radius-lg: 22px;--shadow-sm: 0 1px 2px rgba(22, 26, 62, .06), 0 2px 6px rgba(22, 26, 62, .05);--shadow: 0 16px 40px rgba(22, 26, 62, .16);--shadow-brand: 0 8px 22px rgba(90, 55, 224, .32);--font: "Inter", "SF Pro Text", Geist, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased}:root[data-theme=dark]{--primary: #8b85f5;--primary-hover: #a59ffb;--primary-soft: #211f3a;--secondary: #60a5fa;--accent: #2dd4bf;--success: #34d399;--success-soft: #10271c;--warning: #fb923c;--warning-soft: #2a1c10;--danger: #f87171;--danger-soft: #2a1416;--bg: #0b0c11;--surface: #15171f;--surface-2: #1b1e27;--border: #272b36;--border-strong: #363b49;--text: #e7e9ee;--muted: #9aa1ad;--gradient-brand: linear-gradient(135deg, #8b85f5 0%, #6d63f0 45%, #2dd4bf 130%);--gradient-brand-soft: linear-gradient(135deg, rgba(139, 133, 245, .16), rgba(45, 212, 191, .12));--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 16px 40px rgba(0, 0, 0, .6);--shadow-brand: 0 8px 22px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}body{margin:0;background:var(--bg)}:root[data-theme=light] body{background:radial-gradient(1100px 560px at 100% -8%,rgba(90,55,224,.1),transparent 60%),radial-gradient(950px 520px at -8% 108%,rgba(17,167,230,.08),transparent 55%),var(--bg);background-attachment:fixed}h1{font-size:1.7rem;letter-spacing:-.02em;margin:0}h2{font-size:1.1rem;margin:0 0 .75rem}h3{font-size:.95rem;margin:1.25rem 0 .5rem;color:var(--text)}a{color:var(--primary)}.app-shell{display:grid;grid-template-columns:240px 1fr;grid-template-rows:auto 1fr;min-height:100vh}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:1rem;height:64px;padding:0 1.5rem;background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gradient-brand);opacity:.5}.brand{font-weight:700;font-size:1.05rem;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem}.brand-mark{width:28px;height:28px;border-radius:9px;background:var(--gradient-brand);box-shadow:var(--shadow-brand);color:#fff;display:grid;place-items:center;font-size:.9rem;font-weight:700}.brand-logo{height:30px;width:auto;display:block;object-fit:contain}.auth-brand .brand-logo{height:48px}.topbar-spacer{flex:1}.topbar-user{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.topbar-user .who{text-align:right;line-height:1.2;text-decoration:none;color:inherit;border-radius:var(--radius);padding:.25rem .5rem}.topbar-user .who:hover{background:var(--surface-2, rgba(0, 0, 0, .05))}.topbar-user .who strong{display:block}.topbar-user .who small{color:var(--muted);display:block}.banner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;border-radius:var(--radius);background:color-mix(in srgb,var(--warning, #f59e0b) 14%,transparent);border:1px solid color-mix(in srgb,var(--warning, #f59e0b) 35%,transparent);font-size:.9rem}.profile-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.qr{width:200px;height:200px;display:block;margin:.5rem 0;border-radius:var(--radius);background:#fff;padding:.5rem}.icon-btn{margin-top:0;width:38px;height:38px;padding:0;display:grid;place-items:center;background:var(--surface);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;cursor:pointer}.icon-btn:hover{background:var(--surface-2);filter:none;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sidebar{background:linear-gradient(180deg,var(--surface),var(--surface-2));border-right:1px solid var(--border);padding:1rem .75rem}.nav-link{position:relative;display:flex;align-items:center;gap:.65rem;padding:.6rem .8rem;border-radius:var(--radius-sm);color:var(--muted);text-decoration:none;font-size:.92rem;font-weight:600;margin-bottom:.2rem;transition:background .16s,color .16s,transform .12s}.nav-link:hover{background:var(--surface-2);color:var(--text);transform:translate(2px)}.nav-link.active{background:var(--gradient-brand-soft);color:var(--primary-hover)}.nav-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:1.1rem;border-radius:999px;background:var(--gradient-brand)}.nav-link .ico{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:8px;background:var(--surface);border:1px solid var(--border);font-size:.95rem;text-align:center;transition:background .16s,border-color .16s}.nav-link.active .ico{background:var(--surface);border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.main{padding:1.75rem;display:flex;flex-direction:column}.main>.site-footer{margin-top:auto}.site-admin{min-height:100vh;display:flex;flex-direction:column}.site-admin .main{flex:1}.inline-form{display:flex;gap:.5rem;align-items:center}.inline-form input,.inline-form button{margin:0}.page{max-width:880px;margin:0 auto}.page-head{margin-bottom:1.5rem}.page-head h1{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--primary);width:fit-content}.page-head p{color:var(--muted);margin:.4rem 0 0;font-size:.98rem}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);display:flex;gap:.25rem;overflow-x:auto;padding:.5rem .75rem}.nav-link{margin-bottom:0;white-space:nowrap}.main{padding:1.25rem 1rem}}.auth-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(1200px 500px at 50% -10%,var(--primary-soft) 0%,transparent 60%),var(--bg)}.auth-page>.site-footer{position:absolute;left:1.5rem;right:1.5rem;bottom:.5rem;margin-top:0}.auth-card{width:100%;max-width:400px}.landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:0 1.5rem}.landing>.site-footer{margin-top:auto;width:100%;max-width:1040px}.landing-hero{text-align:center;max-width:760px;padding:clamp(3rem,8vw,6rem) 0 2.5rem}.landing-logo{height:64px;width:auto;margin-bottom:1.5rem}.landing-hero h1{font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.1;margin:0 0 1rem}.landing-lead{font-size:1.15rem;color:var(--muted);line-height:1.6;margin:0 auto 2rem;max-width:620px}.hero-cta{display:flex;justify-content:center;gap:.75rem}.hero-cta button{font-size:1.05rem;padding:.8rem 1.6rem}.landing-section{width:100%;max-width:1040px;padding:2.5rem 0}.landing-section>h2{text-align:center;font-size:clamp(1.5rem,3vw,2rem);margin:0 0 2rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.feature{text-align:left}.feature-icon{font-size:1.9rem;line-height:1;margin-bottom:.65rem}.feature h3{margin:0 0 .4rem;font-size:1.1rem}.feature p{margin:0;line-height:1.55}.landing-why{border-top:1px solid var(--border, rgba(0, 0, 0, .08))}.reason-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem 2rem;margin-bottom:2.5rem}.reason h3{margin:0 0 .4rem;font-size:1.05rem;color:var(--primary)}.reason p{margin:0;line-height:1.55}.form-footer{margin:.85rem 0 0;text-align:center;font-size:.9rem}.auth-brand{display:flex;align-items:center;justify-content:center;gap:.6rem;font-weight:700;font-size:1.25rem;margin-bottom:1.25rem}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem;margin-bottom:1.25rem;transition:box-shadow .2s ease,transform .2s ease}label{display:block;font-size:.82rem;font-weight:600;color:var(--text);margin:.85rem 0 .3rem}input,select,textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;font-size:.95rem;background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}button{margin-top:1rem;padding:.6rem 1.1rem;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--gradient-brand);box-shadow:var(--shadow-brand);color:#fff;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .16s ease,filter .16s ease}button:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 12px 26px #5a37e066}button:active{transform:translateY(0);filter:brightness(.98)}button.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}button.secondary:hover{background:var(--surface-2);filter:none;box-shadow:var(--shadow-sm)}button.linkbtn{background:none;border:none;box-shadow:none;color:var(--primary);padding:0;margin:0;font-weight:600}button.linkbtn:hover{background:none;box-shadow:none;transform:none;filter:none;text-decoration:underline}button.linkbtn.danger{color:var(--danger)}button.linkbtn.selected{text-decoration:underline}button:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none;filter:none}button.secondary:disabled{background:var(--surface)}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger);margin-top:.5rem;font-size:.9rem}.success{color:var(--success);margin-top:.5rem;font-size:.9rem}.row{display:flex;gap:1rem;align-items:center;justify-content:space-between}.row>button{margin-top:0}.tag{display:inline-block;padding:.12rem .55rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-size:.75rem;font-weight:600;vertical-align:middle}.tag-ok{background:var(--success-soft);border-color:transparent;color:var(--success)}.tag.rec{background:var(--danger-soft);border-color:transparent;color:var(--danger);animation:rec-pulse 1.4s ease-in-out infinite}@keyframes rec-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--danger) 45%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--danger) 0%,transparent)}}table{width:100%;border-collapse:collapse;margin-top:1rem}th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--border);font-size:.92rem}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.actions{display:flex;gap:.75rem;justify-content:flex-end}.codebox{margin-top:1rem;padding:1.1rem 1.4rem;border:1px dashed color-mix(in srgb,var(--primary) 55%,transparent);border-radius:var(--radius);background:var(--gradient-brand-soft)}.code{font-size:2rem;font-weight:700;letter-spacing:.3rem;font-family:ui-monospace,SF Mono,Menlo,monospace;margin:.25rem 0;color:var(--primary-hover)}.lesson-form,.material-form{margin-bottom:1.25rem}.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.material-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.5rem;align-items:start}.material-form button{margin-top:0}.lesson-list{list-style:none;padding:0;margin:0}.lesson-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left;background:var(--surface);color:inherit;text-decoration:none;border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:.5rem;padding:.85rem 1rem;font-weight:400;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s}.lesson-item:hover{background:var(--surface-2);border-color:var(--border-strong);transform:translate(3px);box-shadow:var(--shadow-sm)}.lesson-item.selected{border-color:var(--primary);background:var(--primary-soft)}.lesson-item.lapsed{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 35%,transparent);color:var(--muted);cursor:default}.lesson-item.lapsed strong{text-decoration:line-through}.tag-holiday{background:var(--warning-soft);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent)}.lesson-item.holiday-row{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 30%,transparent);border-style:dashed;cursor:default}.lesson-detail{border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:1.25rem;background:var(--surface)}.checkbox{display:flex;align-items:center;gap:.5rem;font-weight:400;font-size:.95rem;margin:.3rem 0}.checkbox input{width:auto}.material-list{list-style:none;padding:0;margin:0 0 .75rem}.material-list li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.material-list li.material-item{flex-direction:column;align-items:stretch;gap:.5rem}.material-body{display:flex;justify-content:space-between;gap:1rem}.save-to-library,.attach-library{margin-top:.75rem}.attach-library .row{gap:.5rem}.branding-row{padding:.75rem 0;border-bottom:1px solid var(--border)}.branding-row .row{gap:.75rem;align-items:center}.lesson-actions{margin-top:1.25rem;border-top:1px solid var(--border);padding-top:.85rem}.camera-controls{margin:.5rem 0}.camera-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.camera-row button{margin-top:0}.recording-buttons{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:.85rem}.angles{display:flex;gap:.75rem;margin-bottom:.5rem}.player{width:100%;border-radius:var(--radius-sm);background:#000;aspect-ratio:16 / 9}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.toolbar button,.viewtoggle button{margin-top:0}.toolbar-nav{display:flex;align-items:center;gap:.5rem}.toolbar-nav .period{min-width:12rem;text-align:center;text-transform:capitalize}.toolbar-right{display:flex;align-items:center;gap:.5rem}.viewtoggle{display:inline-flex;gap:.25rem}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.cal-day .cal-col{min-height:12rem}.cal-empty{font-size:.8rem;color:var(--muted);margin-top:.35rem}.cal-col{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem;min-height:7rem;background:var(--surface)}.cal-col-head{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}.cal-col-head button{margin-top:0}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.cal-weekday{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;text-align:center}.cal-cell{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.3rem;min-height:5.5rem;background:var(--surface)}.cal-cell.faded{background:var(--surface-2);opacity:.6}.cal-daynum{margin:0 0 .25rem;padding:0;background:none;border:none;color:inherit;font-weight:600;font-size:.85rem;cursor:pointer}.cal-daynum:hover{color:var(--primary);background:none}.holiday{background:var(--warning-soft)}.holiday-label{font-size:.75rem;font-weight:600}.lesson-chip{display:block;background:var(--primary-soft);color:var(--text);text-decoration:none;border-left:3px solid var(--primary);border-radius:6px;padding:.25rem .45rem;margin-top:.25rem;font-size:.8rem;line-height:1.25;transition:box-shadow .12s,transform .12s}.lesson-chip:hover{box-shadow:inset 0 0 0 1px var(--primary);transform:translateY(-1px)}.lesson-chip.small{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182780;display:grid;place-items:center;padding:1rem;z-index:50}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:460px;max-height:90vh;overflow:auto;padding:1.5rem}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.modal-head h2{margin:0}.info-page{max-width:820px;margin:0 auto;padding:2rem 1.25rem 5rem}.info-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.info-content{line-height:1.65}.info-content h1{margin-top:0}.info-content h2{margin-top:2rem;font-size:1.15rem}.info-content ul{padding-left:1.2rem}.info-content li{margin:.4rem 0}.info-content table{width:100%;margin-top:.5rem}.info-content code{background:var(--surface-2);padding:.1rem .35rem;border-radius:var(--radius-sm);font-size:.85em}.site-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--border);font-size:.85rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:1.25rem}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--text)}.cookie-banner{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);z-index:100;width:min(680px,calc(100% - 2rem));display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.85rem 1.1rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow)}.cookie-banner p{margin:0;flex:1 1 260px;font-size:.88rem;line-height:1.5}.cookie-banner button{margin:0;flex:0 0 auto}.control-room{background:radial-gradient(900px 280px at 100% -20%,rgba(90,55,224,.35),transparent 60%),radial-gradient(700px 260px at -10% 120%,rgba(17,167,230,.28),transparent 55%),linear-gradient(160deg,#1a1c2e,#0e0f1c);border-color:#ffffff14;color:#e9eaf6;box-shadow:var(--shadow)}.control-room h2,.control-room h3{color:#fff}.control-room .muted{color:#9aa0c4}.control-room .cam-picker summary{color:#b6bce0}.control-room .checkbox{color:#d7d9ee}.control-room .secondary{background:#ffffff14;color:#fff;border-color:#ffffff29}.control-room .secondary:hover{background:#ffffff24}.control-room .material-list li{border-color:#ffffff1a}.control-room .tag:not(.rec):not(.tag-ok){background:#ffffff14;border-color:#ffffff24;color:#b6bce0}.cam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;margin:.75rem 0 1rem}.cam-cell{display:flex;flex-direction:column;gap:.4rem}.cam-volume{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--muted)}.cam-volume input[type=range]{flex:1;margin:0;accent-color:var(--primary)}.cam-level{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.level-track{flex:1;height:8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.level-fill{height:100%;background:linear-gradient(90deg,var(--success),var(--warning) 80%,var(--danger));transition:width .1s linear}.cam-volume-val{font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}.cam-tile{position:relative;margin:0;padding:0;border:2px solid var(--border);border-radius:var(--radius);background:#0b0d16;overflow:hidden;cursor:pointer;text-align:left;transition:border-color .15s,transform .1s}.cam-tile:hover:not(:disabled){border-color:var(--primary)}.cam-tile:active:not(:disabled){transform:scale(.99)}.cam-tile:disabled{cursor:not-allowed;opacity:.6}.cam-tile.recording{border-color:var(--danger);animation:tile-glow 1.6s ease-in-out infinite}@keyframes tile-glow{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 40%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 25%,transparent),0 0 22px 2px color-mix(in srgb,var(--danger) 45%,transparent)}}.control-room .cam-tile-bar{background:#ffffff0f}.control-room .cam-tile-name{color:#fff}.control-room .cam-volume,.control-room .cam-level{color:#9aa0c4}.control-room .level-track{background:#ffffff1a;border-color:#ffffff1f}.cam-tile-img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:#0b0d16}.cam-tile-img.placeholder{display:grid;place-items:center;color:#94a3b8;font-size:.85rem}.cam-tile-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .6rem;background:var(--surface)}.cam-tile-name{font-weight:600;font-size:.9rem}.cam-picker{margin-top:.5rem}.cam-picker summary{cursor:pointer;color:var(--muted);font-size:.9rem}.tag-form{display:flex;gap:.5rem;margin:.5rem 0}.tag-form input{flex:1;margin:0}.tag-form button{margin:0;flex:0 0 auto}.tag-list{list-style:none;padding:0;margin:.5rem 0 0}.tag-list li{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;border-top:1px solid var(--border)}.tag-time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.85rem}.tag-label{flex:1}.student-notes{margin-top:1rem;padding:.75rem 1rem;border-left:3px solid var(--primary);background:var(--surface-2);border-radius:var(--radius-sm)}.student-notes h3{margin:0 0 .35rem;font-size:.95rem}.student-notes p{margin:0;white-space:pre-wrap}
