.practice-board{color:#203348;word-break:keep-all;overflow-wrap:anywhere;gap:20px;width:100%;max-width:1400px;margin-inline:auto;font-size:1rem;line-height:1.65;display:grid}.practice-nav-after{border-top:1px solid #e1e8f1;margin-top:16px;padding-top:16px}.practice-heading{justify-content:space-between;align-items:center;gap:24px;padding:4px 0;display:flex}.practice-heading h2{letter-spacing:-.04em;margin:0 0 6px;font-size:clamp(1.5rem,3vw,2rem);line-height:1.3}.practice-heading p{color:#52657a;margin:0;font-size:1rem}.practice-new{flex-shrink:0;min-height:50px;font-size:1.0625rem;padding-inline:24px!important}.practice-feed-heading{align-items:center;gap:16px;display:flex}.practice-feed-heading label{max-width:100%}.practice-feed-heading select{font:inherit;color:#203348;background:#fff;border:1px solid #becbdb;border-radius:12px;width:240px;max-width:100%;min-height:46px;padding:10px 14px}.practice-feed-heading p{color:#53677d;flex:1;margin:0;font-size:.875rem}.practice-feed-heading>button{min-height:46px;font-size:.9375rem}.practice-wall{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px;display:grid}.practice-card{text-align:left;min-width:0;min-height:270px;color:inherit;font:inherit;background:#fff;border:1px solid #d5dfeb;border-radius:18px;flex-direction:column;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;overflow:hidden;box-shadow:0 3px 10px #1c3b5710}.practice-card:hover{border-color:#81a8d7;transform:translateY(-2px);box-shadow:0 8px 22px #1c3b571c}.practice-card-photo{object-fit:cover;background:#e8eef4;width:100%;height:200px;display:block}.practice-card-content{flex-direction:column;flex:1;gap:12px;padding:22px;display:flex}.practice-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.practice-status{color:#244f8c;background:#e8f0ff;border-radius:7px;align-items:center;gap:6px;padding:5px 9px;font-size:.875rem;font-weight:800;line-height:1.5;display:inline-flex}.practice-status.status-working,.practice-status.status-done{color:#216044;background:#e5f3eb}.practice-status.status-help{color:#775008;background:#fff1d6}.practice-sample{color:#647185;font-size:.875rem}.practice-card-pledge{color:#5c6e81;font-size:.875rem}.practice-card-title{letter-spacing:-.025em;font-size:1.25rem;line-height:1.45;display:block}.practice-card-preview{-webkit-line-clamp:3;color:#455c72;white-space:pre-wrap;-webkit-box-orient:vertical;font-size:1rem;line-height:1.75;display:-webkit-box;overflow:hidden}.practice-card-missing{color:#725d49;font-size:.875rem}.practice-card-footer{color:#56677a;border-top:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;font-size:.875rem;display:flex}.practice-card-footer>span:last-child{color:#276449;align-items:center;gap:6px;display:flex}.practice-add-card{color:#3f6594;min-height:270px;font:inherit;text-align:center;background:#ffffff60;border:2px dashed #b8cbe0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.practice-add-card:hover{background:#f6faff;border-color:#5d8fc9}.practice-add-card strong{font-size:1.125rem}.practice-add-card>span{color:#586e87;font-size:.875rem}.practice-dialog{color:#203348;width:min(680px,100% - 32px);max-width:none;max-height:calc(100dvh - 40px);font:inherit;word-break:keep-all;overflow-wrap:anywhere;overscroll-behavior:contain;background:#fff;border:1px solid #d5dfeb;border-radius:22px;margin:auto;padding:0;line-height:1.65;box-shadow:0 24px 90px #14263e40}.practice-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#172c4966}.practice-form,.practice-detail{gap:22px;padding:28px;display:grid}.practice-form>header,.practice-detail>header{justify-content:space-between;align-items:center;gap:14px;display:flex}.practice-form h2,.practice-detail h2{margin:0;font-size:1.4rem;line-height:1.4}.practice-form>header button,.practice-detail>header button{color:#425773;background:#edf2f7;border:0;border-radius:50%;place-items:center;min-width:44px;min-height:44px;display:grid}.practice-form label>span:first-child{align-items:center;gap:6px;margin-bottom:8px;font-weight:800;display:flex}.practice-form select,.practice-form textarea{width:100%;font:inherit;color:#203348;background:#fff;border:1px solid #b3c3d6;border-radius:10px;min-height:48px;padding:12px;line-height:1.6}.practice-form select:disabled{color:#53687f;opacity:1;background:#f1f5f8}.practice-form textarea{resize:vertical;min-height:130px}.practice-form textarea::placeholder{color:#64768c}.practice-form fieldset{border:0;min-width:0;margin:0;padding:0}.practice-form legend{margin-bottom:10px;font-weight:800}.practice-kind-picker{gap:10px;display:flex}.practice-kind-picker label{cursor:pointer;border:1px solid #cbd6e4;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px;font-size:1rem;display:flex}.practice-kind-picker label.selected{color:#224e8f;background:#eaf2ff;border-color:#6695d0;font-weight:800}.practice-kind-picker input{accent-color:#2563c7;width:18px;height:18px}.practice-progress-options{flex-wrap:wrap;gap:8px;display:flex}.practice-progress-options label{border:1px solid #cbd8e6;border-radius:10px;align-items:center;gap:6px;min-height:44px;padding:9px 10px;font-size:.9375rem;display:flex}.practice-progress-options input{accent-color:#256c50;width:18px;height:18px}.practice-count{text-align:right;color:#607188;margin-top:4px;font-size:.875rem;display:block}.practice-photo-hint{color:#536a81;margin-bottom:12px;font-size:.9375rem;display:block}.practice-photo-input input{font:inherit;width:100%;max-width:100%}.practice-photo-input input::file-selector-button{font:inherit;background:#f1f5fa;border:1px solid #bdcddd;border-radius:8px;min-height:44px;margin-right:12px;padding:8px 14px}.practice-photo-preview{justify-items:start;gap:12px;margin-top:16px;display:grid}.practice-photo-preview img{object-fit:contain;border-radius:12px;max-width:100%;max-height:260px}.practice-writing-tip,.practice-demo-note{color:#556a80;margin:0;font-size:.875rem}.practice-form>footer{border-top:1px solid #e5ebf2;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:18px;display:flex}.practice-form .mvp-button{min-height:48px;font-size:1rem}.practice-reply-note{background:#eff6f2;border-radius:12px;margin:0;padding:16px}.practice-reply-note blockquote{white-space:pre-wrap;margin:8px 0 0;font-size:1rem;line-height:1.7}.practice-reply-note button{color:#315b48;min-height:44px;font:inherit;background:0 0;border:0;padding:8px 0 0;text-decoration:underline}.practice-detail-pledge{color:#5b6e83;margin:0;font-size:.9375rem}.practice-post{background:#fff;min-width:0;padding:0}.practice-post>header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.practice-post h3{letter-spacing:-.02em;margin:12px 0 10px;font-size:1.25rem;line-height:1.5}.practice-post-body{white-space:pre-wrap;margin:0;font-size:1rem;line-height:1.8}.practice-post figure{margin:18px 0 0}.practice-post figure img{object-fit:contain;background:#f1f4f8;border-radius:12px;width:auto;max-width:100%;max-height:480px;display:block}.practice-post figcaption{color:#596a7c;align-items:center;gap:6px;margin-top:6px;font-size:.875rem;display:flex}.practice-post>footer{border-top:1px solid #e5eaf1;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding-top:14px;display:flex}.practice-post>footer>span{font-weight:800}.practice-post>footer small{color:#607186;font-size:.875rem;font-weight:400;display:block}.practice-post>footer>div{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.practice-post .mvp-button{min-height:46px;font-size:1rem}.practice-reply-button{width:100%;margin-top:18px}.practice-detail-replies{border-top:1px solid #dce5ee;gap:16px;padding-top:20px;display:grid}.practice-detail-replies>h3{margin:0;font-size:1.125rem}.practice-detail-replies>.practice-post{background:#f6f9fc;border:1px solid #e0e8f0;border-radius:14px;padding:18px}.practice-delete{color:#6a6070;min-height:44px;font:inherit;background:0 0;border:0;align-items:center;gap:5px;padding:8px;font-size:.875rem;display:inline-flex}.practice-delete-confirm{background:#fff1ed;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding:12px;display:flex}.practice-delete-confirm p{flex:1;margin:0}.practice-awaiting,.practice-deleted{color:#546b80;background:#f2f6f9;border-radius:12px;margin:0;padding:16px;font-size:1rem}.practice-message{color:#175535;background:#e7f5ed;border-radius:12px;margin:0;padding:12px 16px}.practice-error{color:#873723;background:#fff0ec;border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;margin:0;padding:14px 18px;display:flex}.practice-empty{text-align:center;color:#4b637a;background:#ffffff80;border:1px dashed #becddd;border-radius:18px;padding:32px 24px}.practice-empty svg{margin:auto}.practice-empty h3{color:#253d53}.practice-teacher-note{color:#607185;margin:0;font-size:.875rem}.practice-board button:focus-visible,.practice-board input:focus-visible,.practice-board select:focus-visible,.practice-board textarea:focus-visible{outline-offset:3px;outline:3px solid #2864bd}.practice-board button:disabled{opacity:.6;cursor:default}.practice-entry{background:#ebf7f0;border:1px solid #bbdcca;border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding:22px 26px;display:flex}.practice-entry h3{color:#1d513a;margin:0 0 6px;font-size:1.1rem}.practice-entry p{color:#41624f;margin:0;font-size:1rem}.practice-entry .mvp-button{flex-shrink:0;min-height:48px}.mvp-room-shell.practice-room-shell{background:#edf2f8;min-height:100dvh;display:block}.practice-room-shell>.mvp-room-main{width:100%;min-width:0;margin:0}.practice-room-shell .mvp-room-content{max-width:1464px;margin:auto;padding:24px 32px 60px}.practice-room-topbar{border-bottom:1px solid #d9e3ee;justify-content:space-between;align-items:center;gap:20px;max-width:1464px;margin:auto;padding:20px 32px;display:flex}.practice-room-title{align-items:center;gap:14px;display:flex}.practice-room-title>svg{color:#2464ba}.practice-room-title strong{font-size:1.0625rem;display:block}.practice-room-title small{color:#596d83;font-size:.875rem;display:block}.practice-room-topbar>div:last-child{align-items:center;gap:16px;display:flex}.practice-room-topbar .mvp-button{min-height:44px;font-size:.9375rem}.practice-room-person{color:#4f657d;font-size:.9375rem}.practice-demo-controls{color:#456281;background:#e4edf7;border-bottom:1px solid #dce5ef;max-width:1464px;margin:auto;padding:8px 32px;font-size:.875rem}.practice-demo-controls>summary{cursor:pointer;min-height:32px;line-height:32px}.practice-demo-controls>summary span{color:#5c718a;margin-left:14px}.practice-demo-controls .mvp-demo-toolbar{margin:8px 0;position:static}@media (width<=1100px){.practice-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-feed-heading{flex-wrap:wrap}.practice-feed-heading p{min-width:180px}}@media (width<=700px){.practice-wall{grid-template-columns:1fr;gap:16px}.practice-heading{flex-direction:column;align-items:flex-start;gap:16px}.practice-new{justify-content:center;width:100%}.practice-feed-heading{gap:10px}.practice-feed-heading label{flex:1;min-width:0}.practice-feed-heading select{width:100%}.practice-feed-heading p{flex-basis:100%;order:3;font-size:.875rem}.practice-card,.practice-add-card{min-height:220px}.practice-card-content{padding:20px}.practice-dialog{border-radius:18px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.practice-form,.practice-detail{gap:18px;padding:20px}.practice-progress-options{grid-template-columns:1fr;display:grid}.practice-form>footer .mvp-button{flex:1}.practice-count{text-align:left}.practice-entry{flex-direction:column;align-items:flex-start;padding:20px}.practice-entry .mvp-button{width:100%}.practice-room-shell .mvp-room-content{padding:22px 16px 40px}.practice-room-topbar{flex-wrap:wrap;gap:12px;padding:14px 16px}.practice-room-title{gap:8px}.practice-room-title strong{font-size:1rem}.practice-room-title small{font-size:.875rem}.practice-room-person{display:none}.practice-room-topbar .mvp-button{padding-inline:12px;font-size:.875rem}.practice-demo-controls{padding:6px 16px}.practice-demo-controls>summary span{margin-left:8px}}@media (prefers-reduced-motion:reduce){.practice-card{transition:none}.practice-card:hover{transform:none}}.practice-status.status-unread,.practice-status.status-request{color:#57616e;background:#edf0f3}.practice-status.status-working{color:#a34e00;background:#fff0dd}.practice-status.status-done{color:#1559bb;background:#e6efff}.practice-card-footer>span:last-child{color:#315f99}.practice-resolution-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.practice-resolution-actions small{color:#607185;font-size:.875rem}.practice-room-identity{align-items:center;gap:14px;display:flex}.practice-qr-thumbnail{cursor:pointer;background:#fff;border:1px solid #bfcddd;border-radius:8px;place-items:center;min-width:50px;min-height:50px;padding:3px;display:grid}.practice-qr-thumbnail:focus-visible{outline-offset:3px;outline:3px solid #2864bd}.practice-qr-dialog{color:#203348;background:#fff;border:0;border-radius:22px;width:min(440px,100% - 24px);max-width:none;max-height:calc(100dvh - 32px);padding:28px 24px 20px;overflow:auto;box-shadow:0 24px 90px #14263e40}.practice-qr-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#172c4973}.practice-qr-close{color:#425773;background:#edf2f7;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:12px;right:12px}.practice-qr-card{text-align:center;background:#fff;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.practice-qr-card>strong{font-size:1rem}.practice-qr-card h2{margin:0;font-size:1.5rem;line-height:1.4}.practice-qr-card>svg{width:100%;max-width:280px;height:auto;margin-block:8px}.practice-qr-card p{margin:0;font-size:1rem;line-height:1.5}.practice-qr-card small,.practice-qr-hint{color:#53677d;font-size:.875rem;line-height:1.6}.practice-qr-hint{text-align:center;margin:8px 0 18px}.practice-qr-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.practice-qr-actions .mvp-button{min-height:48px;font-size:1rem!important}.practice-qr-message{text-align:center;margin:12px 0 0;font-size:.875rem}.practice-room-topbar>div:nth-child(2){align-items:center;gap:16px;display:flex}@media (width<=700px){.practice-room-identity{gap:10px}.practice-qr-thumbnail{min-width:46px;min-height:46px}.practice-qr-thumbnail>svg{width:38px;height:38px}.practice-qr-dialog{padding:28px 14px 18px}.practice-qr-card{padding:14px}.practice-room-topbar>div:nth-child(2){margin-left:auto}}@media print{body:has(.practice-qr-dialog[open]){background:#fff!important}body:has(.practice-qr-dialog[open]) .mvp-root{inset:0;overflow:hidden;background:#fff!important;position:fixed!important}body:has(.practice-qr-dialog[open]) *{visibility:hidden!important}body:has(.practice-qr-dialog[open]) .practice-qr-dialog{width:100%;height:100%;max-height:none;box-shadow:none;background:#fff;border:0;border-radius:0;margin:0;padding:0;position:fixed;inset:0;overflow:visible;display:block!important}:is(body:has(.practice-qr-dialog[open]) .practice-qr-card,body:has(.practice-qr-dialog[open]) .practice-qr-card *){visibility:visible!important}body:has(.practice-qr-dialog[open]) .practice-qr-card{width:115mm;box-shadow:none;position:fixed;top:25mm;left:50%;transform:translate(-50%)}body:has(.practice-qr-dialog[open]) .practice-qr-card>svg{width:90mm;max-width:none}body:has(.practice-qr-dialog[open]) .practice-qr-dialog::backdrop{display:none}}
