body[data-cloze-lock=true] .cloze:not(.cloze-unlocked){pointer-events:none;border:1px solid var(--text-sub);background:#0000001a;position:relative;color:#0000!important}body[data-cloze-lock=true] .cloze:not(.cloze-unlocked):before{content:"🔒";color:var(--text-main);white-space:nowrap;font-size:.8em;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}body[data-locked=true] .cloze{pointer-events:none;border:1px solid var(--text-sub);background:#0000001a;position:relative;color:#0000!important}body[data-locked=true] .cloze:before{content:"🔒 WAIT";color:var(--text-main);white-space:nowrap;font-size:.8em;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}body[data-locked=true] details{pointer-events:none;opacity:.6}body[data-locked=true] .unit-card details{pointer-events:auto!important;opacity:1!important}body[data-locked=true] summary:after{content:"🔒";margin-left:10px}body[data-locked=true] .unit-card summary:after{content:none}body[data-locked=true] .quiz-submit-btn{pointer-events:none;background:var(--text-sub);opacity:.7;box-shadow:none;transform:none}body[data-locked=true] .quiz-submit-btn:after{content:" (🔒 指示待ち)";font-size:.9em}body[data-quiz-lock=true] .quiz-submit-btn:not(.quiz-reveal-btn){pointer-events:none;background:var(--text-sub);opacity:.7;box-shadow:none;transform:none}body[data-quiz-lock=true] .quiz-submit-btn:not(.quiz-reveal-btn):after{content:" (🔒 先生の指示を待ってください)";font-size:.85em}.tp-class-mode-btn{position:relative}.tp-class-mode-btn.active-class{color:#fff;background:#16a34a;border-color:#16a34a;box-shadow:0 0 12px #16a34a80}.tp-class-mode-btn.active-class:after{content:"";background:#4ade80;border:2px solid #fff;border-radius:50%;width:10px;height:10px;animation:2s infinite pulse-green;position:absolute;top:-2px;right:-2px}@keyframes pulse-green{0%{box-shadow:0 0 #4ade80b3}70%{box-shadow:0 0 0 8px #4ade8000}to{box-shadow:0 0 #4ade8000}}.reaction-container{bottom:90px;bottom:calc(90px + env(safe-area-inset-bottom,0px));right:20px;right:calc(20px + env(safe-area-inset-right,0px));z-index:var(--z-teacher-overlay);flex-direction:column;gap:10px;transition:opacity .3s;display:flex;position:fixed}.reaction-btn{background:var(--card-bg);width:44px;height:44px;color:var(--text-main);border:none;border:2px solid var(--card-border);cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;border-radius:50%;outline:none;justify-content:center;align-items:center;font-size:1.2rem;transition:transform .2s;display:flex;box-shadow:0 4px 10px #00000026}@media (hover:hover){.reaction-btn:hover{background:var(--col-main);color:#fff;border-color:var(--col-main);transition:background .2s;transform:scale(1.1)}}.reaction-btn:active{transition-duration:.1s;transform:scale(.9)}.reaction-btn.active{background:var(--col-main);color:#fff;border-color:var(--col-main);box-shadow:0 0 15px var(--col-main);transform:scale(1.1)}.focus-overlay{width:100vw;height:100dvh;z-index:var(--z-teacher-panel);color:#fff;opacity:0;pointer-events:none;background:#000000f2;flex-direction:column;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;top:0;left:0}body[data-focus=true] .focus-overlay{opacity:1;pointer-events:auto}.focus-message{margin-bottom:20px;font-size:2.5rem;font-weight:700;animation:2s infinite pulse}.focus-sub{color:#ccc;font-size:1.2rem}@keyframes pulse{0%{opacity:.8;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}to{opacity:.8;transform:scale(.98)}}@media print{.reaction-container,.focus-overlay{display:none!important}}.teacher-tools-top{top:20px;top:calc(20px + env(safe-area-inset-top,0px));right:20px;right:calc(20px + env(safe-area-inset-right,0px));z-index:var(--z-teacher-bar);pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed}.teacher-tools-bottom{bottom:85px;bottom:calc(85px + env(safe-area-inset-bottom,0px));right:20px;right:calc(20px + env(safe-area-inset-right,0px));z-index:var(--z-teacher-bar);pointer-events:none;flex-direction:column;gap:15px;display:flex;position:fixed}.tp-float-btn{pointer-events:auto;background:var(--card-bg);width:48px;height:48px;color:var(--text-sub);cursor:pointer;border:none;border:2px solid var(--card-border);border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;transition:all .2s;display:flex;box-shadow:0 4px 12px #00000026}.tp-float-btn:hover{background:var(--col-main);color:#fff;border-color:var(--col-main);transform:scale(1.1)}.tp-float-btn:active{transform:scale(.95)}.tp-float-btn.active-lock{color:#fff;background:#f59e0b;border-color:#f59e0b;box-shadow:0 0 15px #f59e0b}.tp-float-btn.active-focus{color:#fff;background:#ef4444;border-color:#ef4444;animation:2s infinite pulse-red}@keyframes pulse-red{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.tp-counters{pointer-events:auto;flex-direction:column;align-items:center;gap:8px;margin-top:5px;display:flex}.tp-counter-badge{color:var(--text-main);background:var(--card-bg);border:1px solid var(--card-border);text-align:center;border-radius:20px;min-width:40px;padding:4px 10px;font-size:.85rem;font-weight:700;box-shadow:0 2px 5px #0000001a}.floating-emoji{pointer-events:none;z-index:var(--z-teacher-modal);font-size:2.5rem;animation:2s ease-out forwards floatUp;position:fixed}@keyframes floatUp{0%{opacity:0;transform:translateY(0)scale(.5)}10%{opacity:1;transform:translateY(-20px)scale(1.2)}to{opacity:0;transform:translateY(-150px)scale(1)}}.teacher-survey-stats{border-top:1px dashed var(--card-border);padding:8px 12px;font-size:.9rem}.teacher-survey-stats-line{flex-wrap:wrap;align-items:center;gap:14px 20px;display:flex}.teacher-survey-stat-inline{align-items:center;gap:4px;display:inline-flex}.teacher-survey-stat-inline span{color:var(--text-main);font-weight:700}.teacher-survey-comments-details{border:1px solid var(--card-border);border-radius:8px;margin-top:8px;overflow:hidden}.teacher-survey-comments-details summary{cursor:pointer;color:var(--col-main-text);background:#0ea5e90f;padding:6px 12px;font-weight:600;list-style:none}.teacher-survey-comments-details summary::-webkit-details-marker{display:none}.teacher-survey-comments-details summary::marker{display:none}.teacher-survey-comments-details summary:before{content:"▶ ";font-size:.75em}.teacher-survey-comments-details[open] summary:before{content:"▼ "}.teacher-survey-comments{border-top:1px solid var(--card-border);background:var(--card-bg);max-height:200px;padding:10px 12px;overflow-y:auto}.teacher-survey-comments-empty{color:var(--text-sub);font-size:.85rem}.teacher-survey-comment-item{border-bottom:1px solid var(--card-border);padding:6px 0;font-size:.9rem}.teacher-survey-comment-item:last-child{border-bottom:none}@media print{.teacher-tools-top,.teacher-tools-bottom,.reaction-container,.focus-overlay{display:none!important}}.resource-box-overlay{width:100vw;height:100dvh;z-index:var(--z-slide-overlay);opacity:0;background:#000000e6;transition:opacity .3s;display:none;position:fixed;top:0;left:0}.resource-box-overlay.active{opacity:1;justify-content:center;align-items:center;display:flex}.resource-box-container{background:var(--card-bg);border-radius:16px;flex-direction:column;width:90%;max-width:900px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000004d}.resource-box-header{border-bottom:2px solid var(--card-border);background:linear-gradient(135deg, var(--col-main) 0%, var(--col-sub) 100%);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.resource-box-title{color:#fff;align-items:center;gap:10px;font-size:1.4rem;font-weight:700;display:flex}.resource-box-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;transition:background .2s;display:flex}.resource-box-close:hover{background:#ffffff4d}.resource-box-body{flex:1;padding:24px;overflow-y:auto}.resource-folders{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px;display:grid}.resource-folder-btn{background:var(--bg-body);border:2px solid var(--card-border);cursor:pointer;text-align:center;color:var(--text-main);border-radius:12px;padding:20px;font-size:1rem;font-weight:700;transition:all .25s}.resource-folder-btn:hover{border-color:var(--col-main);background:var(--bg-main-light,#0ea5e914);transform:translateY(-3px);box-shadow:0 4px 15px #0000001a}.resource-folder-btn.active{border-color:var(--col-main);background:var(--col-main);color:#fff}.resource-files-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px;margin-top:20px;display:grid}.resource-file-item{background:var(--bg-body);border:2px solid var(--card-border);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:15px;transition:all .25s;display:flex}.resource-file-item:hover{border-color:var(--col-main);transform:translateY(-3px);box-shadow:0 4px 15px #0000001a}.resource-file-icon{font-size:2.5rem}.resource-file-name{color:var(--text-main);word-break:break-word;font-size:.9rem;font-weight:500;line-height:1.3}.resource-loading{text-align:center;color:var(--text-sub);padding:40px;font-size:1.1rem}.resource-error{text-align:center;color:#ef4444;padding:40px;font-size:1rem}.resource-viewer-overlay{width:100vw;height:100dvh;z-index:var(--z-slide-panel);opacity:0;background:#000000f2;transition:opacity .3s;display:none;position:fixed;top:0;left:0}.resource-viewer-overlay.active{opacity:1;flex-direction:column;justify-content:center;align-items:center;display:flex}.resource-viewer-close{color:#fff;cursor:pointer;width:50px;height:50px;z-index:var(--z-slide-controls);background:#ffffff1a;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;transition:background .2s;display:flex;position:absolute;top:20px;right:20px}.resource-viewer-close:hover{background:#fff3}.resource-viewer-content{justify-content:center;align-items:center;width:95%;height:95%;display:flex}.resource-viewer-content iframe,.resource-viewer-content img,.resource-viewer-content video{border-radius:8px;max-width:100%;max-height:100%}@media print{.resource-box-overlay,.resource-viewer-overlay{display:none!important}}.header-row{justify-content:center;align-items:center;gap:20px;display:flex}#header-qr-btn{border:2px solid var(--card-border);cursor:pointer;background:#fff;border-radius:8px;width:48px;height:48px;padding:4px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 10px #0000001a}#header-qr-btn:hover{transform:scale(1.1);box-shadow:0 6px 15px #0003}.qr-overlay{width:100vw;height:100dvh;z-index:var(--z-slide-nav);opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000eb;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.qr-overlay.active{opacity:1;pointer-events:auto}.qr-modal-content{text-align:center;color:#fff;font-size:2rem;font-weight:700;animation:.4s cubic-bezier(.175,.885,.32,1.275) popIn}.qr-modal-content img{background:#fff;border-radius:20px;width:min(80vw,80vh);height:min(80vw,80vh);margin-top:20px;padding:20px;box-shadow:0 0 50px #fff3}.qr-modal-close-btn{color:#fff;cursor:pointer;background:#fff3;border:2px solid #fffc;border-radius:8px;margin:16px auto 0;padding:10px 24px;font-size:1rem;display:block}.qr-modal-close-btn:hover{background:#ffffff4d}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.slide-nav-btn{display:none!important}@media screen{.teacher-material-print-only{display:none!important}body.teacher-mode .teacher-material-print-only{margin-top:20px;margin-bottom:20px;overflow:hidden;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important;display:block!important}body.teacher-mode .teacher-material-print-only img{border-radius:12px;width:100%;height:auto;display:block}}@media print{.teacher-material-print-only{-moz-column-break-before:page;break-before:page;page-break-before:always;-moz-column-break-after:page;break-after:page;page-break-after:always;-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;background:0 0!important;border:none!important;width:100%!important;max-width:none!important;height:98vh!important;margin:0!important;padding:0!important;display:block!important}.teacher-material-print-only img{-o-object-fit:contain!important;object-fit:contain!important;width:100%!important;height:100%!important;box-shadow:none!important;border-radius:0!important;margin:0 auto!important}}.sim-list-group{flex-direction:column;gap:10px;width:100%;display:flex}.sim-list-item{box-sizing:border-box;background:var(--bg-body);border:1px solid var(--card-border);border-radius:12px;width:100%;padding:15px 20px;text-decoration:none;transition:all .25s;display:block;position:relative;overflow:hidden}.sim-list-item:hover{background:var(--bg-main-light,#0ea5e914);border-color:var(--col-main);transform:translateY(-3px);box-shadow:0 4px 15px #0000001a}.sim-list-title{color:var(--col-main-text);align-items:center;margin-bottom:6px;font-size:1.1rem;font-weight:700;display:flex}.sim-list-title:before{content:"▶";margin-right:8px;font-size:.9rem;transition:transform .2s;display:inline-block}.sim-list-item:hover .sim-list-title:before{transform:translate(4px)}.sim-list-desc{color:var(--text-sub);margin-left:1.2rem;font-size:.9rem;line-height:1.5;display:block}
